NVIDIA

System Software Engineer, Calibration - Autonomous Vehicles

Switzerland, Zurich Full time

We are looking for a (Senior) Software Engineer for Autonomous Vehicles supporting Calibration. We are seeking software engineers with interests in computer vision, calibration, egomotion, sensor fusion, handling large and complex software systems on automotive and embedded platforms to work as part of NVIDIA’s autonomous vehicles team. You will be supporting the calibration team with development and validation of the calibration / egomotion algorithms on vehicles, maintaining and productizing existing calibration approaches, supporting infrastructure in first level triaging and monitoring calibration performance across the fleet. You will be working with NVIDIA's OEM partners to help bring up existing and new calibration-related features on prototype and pilot production vehicles.

What you will be doing:

  • Develop new approaches and implement improvements to existing algorithms for sensor calibration for ADAS using both classical and deep learning methods.

  • Work with large amounts of real and synthetic data to evaluate and improve the algorithmic and computational performance of sensor calibration.

  • Develop and optimize software architecture and frameworks for real-world performance towards internal and external customer requirements.

  • Work with a variety of sensor modalities: camera, LIDAR, radar, IMU, GPS, odometry, etc.

  • Develop unit tests, documentation for features, evaluate quality and propose improvements and corrective actions.

  • Develop highly efficient product code in C++, making use of high algorithmic parallelism offered by GPGPU programming (CUDA). 

  • Develop production code to strict quality and safety standards such as MISRA and AUTOSAR.

  • Develop and maintain fleet monitoring tools supporting calibration of a large vehicle fleet.

  • Perform in-vehicle tests and troubleshooting, mining/analyzing data and completing drive missions.

  • Adopt and improve calibration algorithms on existing and new vehicle variants.

What we need to see:

  • PhD with 1+ year, MS with 3+ years, or BS with 5+ years of relevant experience in Computer Science, Computer Engineering, or a related technical field.

  • Excellent C++ and Python programming skills.

  • General knowledge of fundamental algorithms in Robotics, Controls / Estimation and 3D Computer Vision.

  • Strong knowledge of programming and debugging techniques, especially for automotive / robotics systems.

  • Great communication and analytical skills including contributing critical and constructive design and code review.

  • Comfort with local/remote Linux machines, git, build systems.

  • Self-motivation and a great teammate.

Ways to stand out from the crowd:

  • Experience with data-parallel and/or CUDA programming.

  • Experience with performance analysis, optimizations and benchmarking.

  • Background with automotive systems, notably ADAS applications.

  • Deep experience with bazel, docker, VSCode plugins, code analysis/QoL tools.

  • Proven track record of working on calibration related projects, i.e. developing new calibration algorithms

  • 4+ years of relevant industry experience.