DevJobs

Head of Backend Engineering for Machine Learning

Overview
Skills
  • Python Python ꞏ 10y
  • C C
  • Flask Flask
  • PyTorch PyTorch
  • TensorFlow TensorFlow
  • Docker Docker
  • Kubernetes Kubernetes
  • CPP
  • Distributed Computing
  • GPU Acceleration
  • Onnx
  • Parallel Processing
  • TensorFlow Serving
  • TensorRT

Autobrains is the leading Israeli AI company developing automated driving products and capabilities. The technology is based on a fundamental paradigm shift from a traditional deep-learning approach to a biologically plausible self-learning AI. The technology is protected by over 250 patents and has been adopted by multiple leading automotive players. Autobrains technology solves several key gaps on the way to full, safe and scalable autonomous driving.

Autobrains is backed by top investors and key players in the automotive industry, such as Temasek, Toyota, BMW, Continental, Vinfast, and Knorr-Bremse, with headquarters at the heart of Tel Aviv.

Autobrains seeks a highly skilled and experienced Head of Backend Engineering for Machine Learning.

The successful candidate will be responsible of two main key activities:

1. Deploying the group’s developed algorithms into the company's primary algorithmic flow. Including conversion, optimization and integration of convolutional neural networks to different chips/hardware. Focusing on the NN runtime reduction and efficiency and accelerating delivery.

2. Automating the group’s training pipeline using robust MLOps infrastructures, to expedite our development cycle.



Responsibilities

  • Managerial responsibility- Lead, mentor, and manage a team of Senior Backend Software Developers, ensuring alignment and optimal performance.
  • Coding and development responsibility- Hands-on involvement in the development of Python code in our algorithms pipeline, including building and maintaining machine learning frameworks.
  • ML model creation and optimization- Create and optimize neural network training models, encompassing ML Ops.
  • Collaboration with hardware and optimization- Collaborate with machine learning engineers to understand the requirements of the neural network models and the hardware platforms they will run on and provide recommendations for hardware and software optimization
  • Facilitate collaboration between cross-functional teams, ensuring timely execution.
  • Coding standards and best practices- Uphold coding standards, quality, and best practices with a hands-on approach.
  • Continuous learning and implementation- Keep up-to-date with the latest developments in hardware and software for neural network optimization, and implement new techniques as appropriate.


Requirements


  • Education: Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
  • Experience: At least 10+ years of software development experience.
  • Experience in managing a tactical team of experienced software developers. at least +5 years.
  • Deep Learning Expertise: Strong understanding of deep learning algorithms and neural network architectures; experience in deploying ML/DL models into production systems or cloud platforms.
  • Optimization Skills: Working with optimizing neural networks for hardware platforms; experience with hardware accelerators; knowledge of fixed-point arithmetic (Advantage).
  • Coding Proficiency: Proficiency in Python (must) and C/CPP (advantage); experience with software tools and libraries such as TensorRT, TensorFlow, PyTorch, and Onnx.
  • Infrastructure Knowledge: Experience in writing software systems for machine learning infrastructure; knowledge of containerization tools like Docker and deployment frameworks like Flask, TensorFlow Serving, or Kubernetes (Advantage).
  • Algorithms and Data Handling: Solid understanding of ML algorithms, model evaluation, and validation techniques; experience with data preprocessing, feature engineering, and data visualization.
  • Parallel Processing Skills: Knowledge of distributed computing, parallel processing, and GPU acceleration.


Attributes


  • Software Development: Strong skills, including experience with engineering principles, design patterns, and best practices. Understanding of modular and scalable software architecture crucial for ML/DL systems.
  • Problem-Solving and Analytical Skills: Ability to identify problems, evaluate alternatives, and implement effective solutions; strong analytical thinking.
  • Adaptability: Openness to learning new techniques, adapting to changing requirements, and embracing new technologies.
  • Attention to Detail: Focus on accuracy and thoroughness in research, data collection, analysis, and presentation of results.
  • Initiative: Proactive in taking on new challenges, seeking opportunities to improve processes, and driving results.
  • Communication and Interpersonal Skills: Excellent abilities to collaborate effectively with software and machine learning engineers, whether working independently or as part of a team.
Autobrains