System Software Engineer, Calibration - Autonomous Vehicles
We are seeking software engineers with interests in computer vision, calibration, egomotion, sensor fusion, and handling large and complex software systems on automotive and embedded platforms to work as part of NVIDIA’s autonomous vehicles team. You will support the calibration team with development and validation of calibration/egomotion algorithms on vehicles, maintaining and productizing existing calibration approaches, and supporting infrastructure in first-level triaging and monitoring calibration performance across the fleet. You will also work with NVIDIA's OEM partners to bring up calibration-related features on prototype and pilot production vehicles.
Responsibilities
- 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 toward internal and external customer requirements.
- Work with a variety of sensor modalities: camera, LIDAR, radar, IMU, GPS, odometry, etc.
- Develop unit tests and documentation for features, evaluate quality, and propose improvements and corrective actions.
- Develop highly efficient product code in C++, leveraging 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.
Requirements
- PhD with 1+ year, MS with 3+ years, or BS (or equivalent experience) 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, and build systems.
- Self-motivation and ability to work well in a team.
Skills
- 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, and code analysis/QoL tools.
- Proven track record of working on calibration-related projects, such as developing new calibration algorithms.
Pay
Your base salary will be determined based on your location, experience, and the pay of employees in similar positions. The base salary range is:
- 152,000 USD - 241,500 USD for Level 3
- 184,000 USD - 287,500 USD for Level 4
You will also be eligible for equity and benefits.