Senior Manager, Abstraction Layer Engineering – Autonomous Platform

NVIDIA NVIDIA · Semiconductors · CA · Remote

Lead the architecture and development of abstraction layers for NVIDIA's autonomous driving software stack, bridging sensor inputs and actuator commands with real-world hardware. This role focuses on enabling real-time autonomy at scale within the robotics domain, requiring strong C++ programming, parallel computing (CUDA), and experience with robotics frameworks like ROS.

What you'd actually do

  1. Lead the VAL and SAL teams, designing and developing optimal software abstractions and plugin frameworks to interface with real-world vehicle and sensor systems, consistently exceeding customer expectations.
  2. Build efficient and user-friendly mechanisms to improve software integration across a wide range of vehicles and sensor configurations.
  3. Work on core areas such as component abstraction layers, sensor and actuator interfacing, and inter-process data sharing and communication, enabling reliable and scalable autonomous driving solutions.
  4. Solidify existing frameworks and software components, validating improvements through extensive real-world and synthetic testing to enhance computational performance and system utilization.
  5. Perform in-vehicle tests, collect and analyze sensor and vehicle data, and support the completion of autonomous drive missions.

Skills

Required

  • C++ programming
  • multithreaded/distributed applications
  • Linux
  • Android
  • real-time operating systems
  • robotics frameworks (ROS)
  • low latency programming
  • highly performant code
  • communication skills
  • analytical skills
  • team management

Nice to have

  • embedded architectures
  • heterogeneous architectures
  • GPUs
  • automotive systems
  • ADAS applications
  • AUTOSAR
  • drive by wire systems
  • OpenGL
  • GIT
  • CMake/Bazel

What the JD emphasized

  • MS or higher in computer engineering, computer science or related engineering fields (or equivalent experience).
  • 12+ overall years of relevant industry experience and 8+ years of managing a team
  • Excellent C and C++ programming skills
  • Experience developing and debugging multithreaded/distributed applications like multimedia systems, game engines, etc.
  • Strong knowledge of programming and debugging techniques, especially for parallel and distributed architectures.
  • Strong knowledge on Linux, Android, and/or other real-time operating systems.
  • Experience with frameworks for robotics such as ROS and/or for multimedia such as GStreamer
  • Thrive on writing low latency, highly performant code
  • Phenomenal communication and analytical skills.