Senior Software Engineer - GPU and Soc

NVIDIA NVIDIA · Semiconductors · Santa Clara, CA

Senior Software Engineer role focused on SOC and system-level software development, including Pre-OS Firmware, BIOS, drivers, and CI/CD systems. Requires strong C/C++, Python, OS fundamentals, and understanding of ARM microarchitecture. Experience with embedded systems and system-level debugging is a plus.

What you'd actually do

  1. Developing, triaging and debugging Pre-OS Firmware, BIOS, SoC & Platform drivers
  2. Building sophisticated automation triage tools and, FW and OS-drivers issue packetizations
  3. Supporting OS driver development, bring up and triaging of Platform and Multimedia drivers
  4. Supporting the OEM ecosystem and providing innovative solutions
  5. Drive Startup and Shutdown Time KPIs goal & optimizations

Skills

Required

  • C/C++
  • Python
  • ARM microarchitecture
  • Pre-OS Firmware
  • BIOS
  • SoC drivers
  • Operating systems fundamentals
  • Kernel development
  • Hypervisor experience
  • Debugging tools (GDB, WinDBG)
  • Compilers (GCC, MSVC, LLVM)
  • ACPI
  • Device tree concepts
  • Computer system architecture
  • Microprocessor fundamentals
  • Microcontroller fundamentals

Nice to have

  • System-level debugging
  • System-level reliability and resiliency features
  • System-level security concepts
  • Embedded system SW concepts

What the JD emphasized

  • BS or MS degree in Computer Engineering, Computer Science, or equivalent experience with 5+ years of meaningful software development experience
  • Strong understanding on ARM microarchitecture as well as understanding of ARM exception levels
  • Strong understanding of Pre-OS Firmware, uP / subsystems Firmware and Software, peripherals
  • Background in solving problems that apply to large complex systems deployed at scale.
  • Strong C/C++ and Python programming skills as well as having shown initiative in pursuing independent coding projects
  • Good understanding of ACPI as Device tree concepts
  • Familiarity with computer system architecture, microprocessor, and microcontroller fundamentals (caches, buses, memory controllers, DMA, etc.)
  • Strong Operating systems fundamentals with Kernel , Hypervisor experience on Windows systems as well as Linux systems
  • Hands on experience on debuggers like GDB, WinDBG as well compilers like GCC, MSVC, LLVM etc
  • Good understanding of SOC architecture spanning across Boot, Security and OS