Senior Software Engineer, Virtualization and Linux Kernel

Nvidia

Confirmed live yesterday High trust
Remote

Quick summary

Work type
Remote
Location
Santa Clara, CACO
Salary
$224,000–$356,500 / yr
Employment
Full-time
Posted
5 days ago
Freshness
Confirmed live yesterday

Market check

Salary context

Above market

How this pay compares to similar roles

Similar $187k
This role $290k
$92k $385k
below market most similar roles pay here above market

This role pays more than 99% of similar roles. Most pay $151,000–$222,125 — the blue band above. At the midpoint, this role pays about $290k versus about $187k for comparable roles.

Based on 240 similar postings.

Employer

About Nvidia

Nvidia is a leading designer of graphics processing units (GPUs) and system-on-chip units, powering gaming, professional visualization, data centers, and artificial intelligence workloads. Industry: Semiconductors & AI Computing

Nvidia currently has 1623 open roles on FindRole.

Listed pay typically runs $184,000–$287,500 across 1110 roles with salary data.

Most-posted roles

View all roles at Nvidia

At a glance

TL;DR · Senior Software Engineer, Virtualization and Linux Kernel

JOB TITLE: Senior Software Engineer, Virtualization and Linux Kernel The Senior Software Engineer, Virtualization and Linux Kernel joins the GPU Virtualization team to advance open-source Linux kernel support for NVIDIA GPUs. This role involves designing, developing, testing, and maintaining upstream Linux kernel support, specifically focusing on vGPU enablement in Nova. The engineer will work across the Linux virtualization stack, including KVM, QEMU, and VFIO, to manage device assignment, PCIe SR-IOV, memory management, and virtual-device lifecycles. Key responsibilities include driving technical proposals through upstream design discussions and debugging functional, performance, and reliability issues across host drivers and GPU firmware interfaces. Required skills include proficiency in Rust and C, in-depth knowledge of Linux kernel internals, and experience with tools like GDB, KGDB, ftrace, and perf to solve complex system problems.

What does a Software Engineer earn in California?

Median $214500 from 1193 postings across 76 companies.

See salary data

What you'll do

  • Design, develop, test, and maintain upstream Linux kernel support for NVIDIA GPU virtualization.
  • Develop virtualization features using Rust and C for the Nova driver and Linux virtualization stack.
  • Drive technical proposals and patch series through upstream design discussions and review processes.
  • Work with subsystem maintainers to address feedback and review contributions from the open-source community.
  • Debug and resolve functional, performance, and reliability issues across host drivers, hypervisors, and GPU firmware.
  • Manage device assignment, PCIe SR-IOV, memory management, and virtual-device lifecycles within KVM, QEMU, and VFIO.
  • Collaborate with internal hardware and architecture teams to define features and validate integration as the kernel evolves.

What we're looking for

  • 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 and working with subsystem maintainers.
  • Proficiency in Rust and C, with a strong understanding of Rust ownership, lifetimes, memory safety, and C interoperability.
  • 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 using tools such as GDB, KGDB, ftrace, or perf.
  • Knowledge of GPU architecture, drivers, or virtualization; experience with DRM, Nouveau, Nova, KVM, QEMU, VFIO, IOMMU, or PCIe SR-IOV (preferred).

More like this

Similar roles

Principal Linux Kernel Engineer

Nvidia

Santa Clara, CA 83 days ago $272,000–$431,250
Linux Kernel ARM64 Memory Management Scheduling Virtualization PCIe ACPI CXL Device Drivers SoC Architecture Networking Filesystems Security RAS Upstream Development
10+ yrs exp

Linux Kernel & Virtualization SW Engineer

Amd

Austin, TX 45 days ago $140,000–$210,000
Linux Kernel C x86-64 Virtualization KVM QEMU ACPI PCIe CXL RAS GNU Toolchain Git Open Source Data Structures Kernel Debugging
6+ yrs exp

Linux Kernel Engineer

Apple Inc

Milford, NH 40 days ago
Linux Kernel C Rust Go Python Bash Device Drivers Kernel Modules CI/CD perf ftrace bpftrace crash gdb RHEL RPM Memory Management Filesystems Networking Scheduling Interrupts
5+ yrs exp

Linux Kernel Engineer

Apple Inc

Durham, NH 40 days ago
Linux Kernel C Rust Go Python Bash Device Drivers Kernel Modules CI/CD perf ftrace bpftrace crash gdb RHEL RPM Memory Management Filesystems Networking Scheduling Interrupts
5+ yrs exp

Linux Kernel Engineer

Apple Inc

Tamworth, NH 40 days ago
Linux Kernel C Rust Go Python Bash Device Drivers Kernel Modules CI/CD perf ftrace bpftrace crash gdb RHEL RPM Memory Management Filesystems Networking Scheduling
5+ yrs exp

Linux Kernel Engineer

Apple Inc

Newington, NH 40 days ago
Linux Kernel C Rust Go Python Bash Device Drivers Kernel Modules CI/CD perf ftrace bpftrace crash gdb RHEL RPM Memory Management Filesystems Networking Scheduling
5+ yrs exp