Senior System Software Architect - Automotive Applications

NVIDIA NVIDIA · Semiconductors · Santa Clara, CA

Senior Systems Software Architect role at NVIDIA focused on building a scalable and modular software stack for advanced driver-assistance systems (ADAS). Responsibilities include driving architectural improvements, designing component boundaries, refactoring for reuse and maintainability, and profiling/tuning system performance in real-time environments. Requires strong C++ and software architecture background, experience with multithreaded/real-time systems, and familiarity with embedded RTOS.

What you'd actually do

  1. Driving architectural improvements that simplify and modularize the software stack.
  2. Designing and developing clean boundaries between components with performance-first approach to software modules.
  3. Refactoring ADAS components to support reuse, extensibility, and long-term maintainability.
  4. Partnering with teams across software, systems, and hardware to define clear interfaces and improve integration velocity.
  5. Establishing test coverage, design reviews, and architectural documentation that scales with the platform.

Skills

Required

  • C++
  • Software Architecture
  • Real-time Systems
  • Multithreaded Systems
  • System Profiling
  • Linux
  • QNX
  • Embedded RTOS

Nice to have

  • ADAS software development
  • Planning
  • Sensor Fusion
  • Mapping
  • Localization
  • Automotive software lifecycle
  • Safety-critical systems
  • Memory management
  • DMA engines
  • Hardware abstraction layers (HAL)
  • Git
  • Bazel

What the JD emphasized

  • 8+ years of professional software development experience
  • Solid background in C++ programming
  • Strong understanding of modular software architecture, clean code design, and separation of concerns
  • Hands-on experience building and debugging multithreaded, real-time, or performance-critical systems
  • Familiarity with parallel/distributed systems and low-level system profiling
  • Comfortable working in Linux, QNX, or other embedded RTOS environments