The Autonomous Vehicles System Software Team is looking for a hands-on System Software Engineer. As part of our team, you will work on our Autonomous Driving Platform software, implementing performant and scalable solutions for data collections and autonomous vehicle fleets. Our team is responsible for developing platform and middleware features for self-driving cars. This includes software that interacts with various sensors including Cameras, LIDAR, RADAR, GPS, IMU, Vehicle CAN etc. We are seeking candidates with interests in inventing, developing, and maintaining application framework and tools on multi-computer and heterogeneous architectures. The role encompasses working with various teams across the stack, from platform and embedded software to cloud infrastructure, underpinned by safety and performance. It extends an opportunity to contribute to the technology that will drive the cars of the future!
What you will be doing:
Designing and developing core components of NVIDIA DriveWorks SDK.
Developing and optimizing software architecture and frameworks for real-world performance while matching or exceeding customer requirements.
Working on areas such as sensor abstraction layers, data processing components, process scheduling, data serialization, network communications, and frameworks.
Performing in-vehicle tests, collecting data and completing autonomous drive missions.
Establishing unit tests, documentation for features, evaluating quality and proposing corrective actions.
Developing highly efficient production code in C++, making use of high algorithmic parallelism offered by GPGPU programming (CUDA). Follow quality and safety standards such as defined by MISRA and AUTOSAR.
What we need to see:
BS or MS in Computer Engineering, Computer Science, or related engineering field (or equivalent experience).
5+ years of professional experience working on autonomous vehicles software.
Excellent C and C++ programming skills.
Strong knowledge of programming and debugging techniques, especially for parallel and distributed architectures.
Proficient with AI-powered coding tools like Cursor, Copilot, Gemini, etc.
Strong background of Linux, QNX, and/or other real-time operating systems.
Thrive on writing low latency, highly performant code.
Great communication and analytical skills.
Ways to stand out from the crowd:
Experience with data-parallel and/or GPGPU programming, CUDA, OpenCL.
Knowledge of image processing APIs (e.g. OpenCV) and MATLAB tools.
Knowledge of automotive systems, notably ADAS applications.
Software development for modern OpenGL (Core Profile) and Linux.
Experience with version control systems GIT and build system Bazel.
You will also be eligible for equity and benefits.
This posting is for an existing vacancy.
NVIDIA uses AI tools in its recruiting processes.
NVIDIA is committed to fostering a diverse work environment and proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.