Senior System Software Engineer - Embedded Controller

NVIDIA NVIDIA · Semiconductors · Santa Clara, CA

NVIDIA is seeking a Senior System Software Engineer to design and develop GPU system software firmware components, focusing on power and performance. The role involves crafting software for GPUs, participating in power management software architecture design, and influencing innovative designs. Responsibilities include defining, designing, and developing firmware components, resolving cross-team issues, and influencing GPU architecture. Requires 5+ years of system software expertise, strong C programming skills, knowledge of low-level interfaces, operating system principles, and device driver experience.

What you'd actually do

  1. We will define, design and develop GPU system software firmware components with focus on power and performance
  2. Drive and resolve issues independently across teams and domains
  3. Influence GPU architecture and system software by crafting architecture and design specifications
  4. Multiple opportunities to collaborate and communicate effectively with teams from all around the globe

Skills

Required

  • system software
  • C programming
  • low-level interfaces
  • operating system mechanisms
  • real-time embedded operating system
  • algorithms
  • data structures
  • device driver programming
  • debugging

Nice to have

  • computer architecture
  • graphics driver stacks
  • software power management
  • optimization of embedded systems
  • real-time software controllers
  • automating design, development, and validation workflows
  • foundational software
  • operating system internals
  • kernel modules
  • bus interfaces (PCIe, i2c, SPI, etc)

What the JD emphasized

  • 5+ years of proven expertise in system software or related field
  • Strong programming skills in C, in-depth knowledge of low-level interfaces like interrupt handling, GPIO programming, DMA, PCIe, and I2c
  • Strong background in the principles of operating system mechanisms, real-time embedded operating system, algorithms and data structures
  • Experience in device driver programming and debugging
  • Have you worked on software power management and optimization of embedded systems?
  • Prior experience in designing real-time software controllers?
  • Working experience developing foundational software, operating system internals, kernel modules, and device drivers?
  • Do you have advance knowledge of computer architectures, low-level device programming and bus interfaces (PCIe, i2c, SPI, etc)?