Senior Software Engineer - ADAS
Role details
Job location
Tech stack
Job description
We're hiring a mid-level Software Engineer to develop production ADAS and autonomous driving functions in C++ and Python. If you're passionate about building robust, high-performance features that run on GPUs in real vehicles, we'd like to hear from you.
What you'll be doing:
- Design, implement, and maintain C++ ADAS functions for perception, prediction, and planning (e.g., lane keeping, ACC, AEB, traffic-light and object handling) in a safety-critical codebase.
- Integrate deep learning models into C++ pipelines: take models trained in Python (PyTorch or TensorFlow), export/convert them, and deploy them for real-time inference on NVIDIA GPUs.
- Work with multi-sensor data - cameras, radar, lidar - and implement sensor fusion, tracking, and decision-making logic in C++.
- Build and extend testable, modular libraries and components, including interfaces to models, sensor drivers, and vehicle control.
- Profile, debug, and optimize C++ and CUDA code to meet strict latency and throughput targets.
- Contribute to tooling around data quality, automated evaluation, and regression tests for ADAS functions.
- Collaborate closely with ML researchers, systems engineers, and automotive partners to turn prototype algorithms into production-ready C++ implementations.
Requirements
- 4-8 years of professional software engineering experience, ideally in ADAS, automotive, robotics, or real-time systems.
- Master's or PhD degree in Computer Science or in Machine Learning
- Strong modern C++ (C++14/17 or later): templates, RAII, smart pointers, STL, and experience building large codebases.
- Solid Python skills for tooling, training scripts, and glue code between data pipelines and C++ components.
- Hands-on experience training and using deep learning models (PyTorch or TensorFlow): designing experiments, tuning hyperparameters, working with large datasets, and debugging model behavior.
- Experience developing on Linux: build systems (CMake), debugging (gdb, sanitizers), profiling, and git-based workflows in a CI/CD environment.
- Familiarity with one or more of:
- GPU programming and optimization (CUDA, TensorRT, cuDNN)
- Computer vision / perception (object detection, segmentation, multi-object tracking)
- Robotics or autonomous systems (ROS/ROS2, ADAS features, simulation environments)
Ways to stand out from the crowd:
- Direct experience implementing ADAS functions in C++, such as lane keeping, adaptive cruise control, automatic emergency braking, or traffic-sign/traffic-light handling.
- Experience with camera calibration, sensor fusion, or multi-camera perception systems.
- Knowledge of model optimization and deployment: quantization (INT8, FP8, 4-bit), TensorRT-LLM, ONNX Runtime, or similar frameworks.
- Background in training infrastructure: distributed training, experiment tracking, dataset versioning, hyperparameter optimization.
- Understanding of software quality practices for safety-critical systems (code review, unit testing, static analysis; automotive standards knowledge is a plus) as well as open-source contributions or published work in AI, robotics, or GPU computing.
Work on challenging, real-world ADAS and autonomous driving problems where your C++ and ML skills directly impact vehicle safety and performance. Collaborate with a talented, multidisciplinary team of researchers, engineers, and automotive experts. Solve hard technical problems at the intersection of deep learning, real-time systems, and production software engineering. If this opportunity aligns with your background and interests, please apply with your resume and a brief description of relevant ADAS or autonomy projects (links to GitHub, publications, or technical write-ups are welcome)