Tech Stack
Tag name is followed by "@" symbol and proficiency level value.
About proficiency levels:
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
Algorithms @ 4
CUDA
Communication @ 6
Computer Vision @ 4
Debugging @ 7
Deep Learning
Git @ 6
Linux @ 6
Python @ 6
Robotics @ 4
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
Details
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.
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 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.
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, build systems.
- Self-motivation and a great teammate.
Benefits
- You will also be eligible for equity and benefits.