Senior Cameras and Sensors Software Engineer - Autonomous Vehicles
NVIDIA
We are now looking for a System Software Engineer – Cameras & Sensors for Autonomous Vehicles! Seeking software engineers who are passionate about designing, developing, and maintaining core technology around camera and sensor drivers, high‑bandwidth interfaces, data streaming, data recording/playback, and vehicle interface abstraction. This is our life’s work: to amplify human creativity and intelligence. NVIDIA is widely considered to be one of the technology world’s most desirable employers. We have some of the most brilliant and talented people in the world working for us. If you're creative, autonomous, and love a challenge, we want to hear from you.
What you will be doing:
Designing, developing, and optimizing software architecture and frameworks for real‑world performance while matching or exceeding customer requirements, with a strong focus on camera and imaging pipelines.
Working with vendors to integrate and validate state‑of‑the‑art automotive cameras and other sensors (e.g., radar, lidar, ultrasound) into the NVIDIA AV platform.
Developing camera and sensor drivers, plugins, and processing components (configuration, control, calibration hooks, health monitoring, error handling) around raw and processed sensor data.
Building highly efficient multi‑camera data recording, playback, and visualization tools, including synchronization, timestamping, and bandwidth‑aware streaming.
Performing in‑vehicle tests, collecting camera and multi‑sensor data, and analyzing data integrity, timing alignment, and image quality issues.
Working with our car and control teams to develop and maintain interfaces to the vehicle, enabling end‑to‑end self‑driving functionality.
Supporting data collection campaigns for our autonomous vehicle program, ensuring reliable and repeatable camera/sensor configurations.
Developing unit tests, integration tests, and documentation; evaluating quality and proposing corrective and preventive actions for camera/sensor software.
Delivering efficient product code in C++, making use of high algorithmic parallelism offered by GPGPU programming (CUDA), and following quality and safety standards such as MISRA.
What we need to see:
BS/MS or higher in computer engineering, computer science, electrical engineering, or related disciplines (or equivalent experience).
5+ years of experience in software development, including systems‑level or embedded work.
Excellent C and C++ programming skills, including strong debugging and profiling capabilities.
Experience developing and debugging multithreaded/distributed applications such as multimedia systems, game engines, or real‑time streaming pipelines.
Solid understanding of programming and debugging techniques, especially for parallel and distributed architectures.
Strong experience on Linux, Android, and/or other real‑time operating systems.
-
Solid experience with camera or sensor/streaming systems, ideally including one or more of:
Automotive camera bring‑up, configuration, and control (e.g., exposure, gain, sync).
Audio/video or imaging pipelines, frame‑based streaming, and timestamp‑driven processing.
High‑throughput data paths (e.g., multi‑camera SSR, high‑rate logging, or playback).
Background with vehicle control interfaces and in‑vehicle networking is a plus.
Great communication and analytical skills, including the ability to reason about system‑level behavior (latency, ordering, data integrity).
Ways to stand out from the crowd:
Deep understanding of embedded camera architectures, ISP pipelines, or automotive camera modules.
Experience with data‑parallel and/or GPGPU programming (CUDA, OpenCL) applied to imaging or sensor processing.
Software development for modern OpenGL (Core Profile) and Linux, particularly for visualization of multi‑camera and sensor data.
Experience with version control systems (GIT) and build systems (CMake).
Hands‑on mindset, working closely with algorithm, software, and hardware teams; strong attention to detail and a passion for organizing, inspecting, and presenting camera/sensor data.