# Senior System Software Engineer

**Company**: NVIDIA
**Experience**: senior
**Job type**: full-time
**Salary**: 224,000 USD - 356,500 USD for Level 5, and 272,000 USD - 431,250 USD for Level 6
**Category**: Engineering
**Industry**: Technology

**Apply**: https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-Software-Engineer--Virtualization-and-Linux-Kernel_JR2028528?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply
**Canonical**: https://yubhub.co/jobs/job_9d7e9f09-8a9

## Description

We are looking for a Senior System Software Engineer to join the GPU Virtualization team and advance open-source Linux kernel support for NVIDIA GPUs.

In this role, you will develop virtualization features in Rust and C, contribute to the upstream Linux kernel, and work directly with open-source maintainers and partners. You will help shape vGPU support in Nova, the upstream Rust driver for NVIDIA GPUs and the surrounding Linux virtualization stack.

**Responsibilities**

- Design, develop, test, document and maintain upstream Linux kernel support for NVIDIA GPU virtualization, including vGPU enablement in Nova.

- Work across the Linux virtualization stack, including KVM, QEMU and VFIO, on device assignment, PCIe SR-IOV, memory management and virtual-device lifecycle.

- Drive technical proposals and patch series through upstream design discussions, review and acceptance. Work with subsystem maintainers, address feedback and review contributions from others.

- Debug and resolve functional, performance and reliability issues across host drivers, hypervisors and GPU firmware interfaces.

- Collaborate with internal software, hardware, architecture and the open-source community to define features, validate integration and maintain support as the kernel evolves.

**Requirements**

- BS degree or higher in computer science, computer engineering or a related field, or equivalent experience.

- 12+ years of experience in Linux kernel development or virtualization.

- Record of relevant contributions accepted into the upstream Linux kernel, including experience preparing patch series, addressing review feedback and working with subsystem maintainers.

- Proficiency in Rust and C, with a strong understanding of Rust ownership, lifetimes, memory safety and interoperability with C.

- In-depth knowledge of Linux kernel internals, including the device-driver model, memory management, synchronization and concurrency.

- Strong understanding of virtualization, including host and guest interactions, memory translation, device assignment, interrupts and resource isolation.

- Strong debugging and analytical skills, with experience using tools such as GDB, KGDB, ftrace or perf to investigate complex kernel and system issues.

- Clear technical writing and communication skills, with the ability to explain design tradeoffs and work effectively with globally distributed engineering teams and open-source communities.

**Benefits**

- Widely considered to be one of the technology world’s most desirable employers, NVIDIA offers highly competitive salaries and a comprehensive benefits package. As you plan your future, see what we can offer to you and your family [www.nvidiabenefits.com](http://www.nvidiabenefits.com/).

- Your base salary will be determined based on your location, experience, and the pay of employees in similar positions. The base salary range is 224,000 USD - 356,500 USD for Level 5, and 272,000 USD - 431,250 USD for Level 6.

- You will also be eligible for equity and benefits.

## Skills

### Required
- Linux kernel development
- virtualization
- Rust
- C
- GPU virtualization

### Nice to have
- GPU architecture
- GPU drivers
- DRM
- Nouveau
- Nova
- KVM
- QEMU
- VFIO
- IOMMU
- PCIe SR-IOV

---

Source: [Apply at nvidia.wd5.myworkdayjobs.com](https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-Software-Engineer--Virtualization-and-Linux-Kernel_JR2028528?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply)
