
Senior Software Engineer - CUDA Driver
Role summary
NVIDIA is seeking a Senior Software Engineer to work on the CUDA driver, a critical component for GPU computing. This role involves architecting and implementing new CUDA features, collaborating with hardware architects, and defining improvements to CUDA APIs. You will write high-quality code for multiple operating systems and contribute to the evolution of NVIDIA's compute technologies across diverse workloads like deep learning, scientific research, and gaming. The ideal candidate will have 5+ years of systems software development experience, strong C programming skills, and a deep understanding of operating system interfaces and system-level architecture.
NVIDIA is seeking outstanding senior engineers to work on the CUDA driver, a key component of accelerated GPU computing. You will join a versatile software engineering team that delivers innovative software features to unlock the full potential and performance of NVIDIA hardware across diverse workloads like deep learning, scientific research, autonomous vehicles, gaming, and virtual reality. This multi-functional role requires collaboration with hardware architects, deep learning specialists, and both internal and external partners to advance the CUDA architecture. With the opportunity to collaborate with teams across the whole NVIDIA computing stack, you will help design software solutions across kernel mode components, compilers, and networking software.
Your system-level expertise and creativity in solving complex problems will help invent the future of CUDA and NVIDIA’s compute technologies! Does crafting solutions to influence the evolution of GPU-accelerated computing sound exciting? If so, we invite you to join us and help engineer the next wave of innovation at NVIDIA!
What You'll Be Doing
- Evangelize, architect, and implement new CUDA features
- Coordinate and drive development efforts across multiple teams
- Collaborate with members of hardware architecture teams
- Define forward-looking improvements to the CUDA APIs and programming model
- Build and maintain performance and precision modeling
- Write effective, maintainable, and well-tested code
- Develop code for multiple operating systems
What We Need To See
- Bachelor of Science or Master of Science degree in Computer Science, Electrical Engineering, or related field (or equivalent experience)
- 5+ years of relevant experience in developing systems software
- Strong C programming skills
- Experience designing, debugging, and maintaining complex software stacks
- Experience with operating system interfaces for threads, process control, and virtual memory
- Experience with HW/SW co-design, performance modeling using emulation/simulation, and developing SW programming model exposures for HW features
- Understanding of system-level architecture, such as interconnects, memory hierarchy, interrupts, and memory-mapped IO
- Strong interpersonal, verbal, and written communication skills with a capability to achieve objectives under tight time constraints
Ways To Stand Out From The Crowd
- Prior experience with parallel computing - preferably writing CUDA programs or libraries that use CUDA
- Knowledge of memory coherence and consistency models
- Background with kernel mode development
- Experience with Linux systems software development as well as experience maintaining and extending programming models or higher-level language support for similar environments
- Familiarity with distributed system and training/inference patterns (data/model/pipeline parallelism) and deep learning frameworks
Your base salary will be determined based on your location, experience, and the pay of employees in similar positions. The base salary range is 152,000 USD - 241,500 USD for Level 3, and 184,000 USD - 287,500 USD for Level 4.
You will also be eligible for equity and benefits.
Applications for this job will be accepted at least until March 29, 2026.
This posting is for an existing vacancy.
NVIDIA uses AI tools in its recruiting processes.
NVIDIA is committed to fostering a diverse work environment and proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.
, , JR2014725
Sample NVIDIA interview questions
- 1
Design a system for a rock paper scissors game
system designmedium - 2
Implement a distributed data migration management platform.
system designmedium - 3
Develop a distributed tracing system for tracking and debugging.
system designmedium - 4
Design a distributed training system for a trillion-parameter language model
system designmedium - 5
Design a system for an automation framework to generate a consent form using multiple agents
system designaverage
Sign up for a personalized interview prep pack tailored to this role.