Tech Stack
Tag name is followed by "@" symbol and proficiency level value.
About proficiency levels:
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
AI
API
CUDA @ 4
Communication @ 6
Data Science
Debugging @ 4
Deep Learning
GPU
Linux @ 4
Machine Learning
Software Development @ 4
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
Details
NVIDIA is seeking a seasoned system software engineer with a deep understanding of device drivers and strong C/C++ skills. The role focuses on the CUDA Driver, a core component of NVIDIA's platform for accelerating general-purpose computation on GPUs. The engineer will help deliver features and improvements supporting workloads including deep learning, scientific computation, data science, self-driving cars, video games, and virtual reality.
Responsibilities
- Evangelize, architect, and implement new features.
- Coordinate and drive development efforts across multiple teams.
- Help define forward-looking improvements to CUDA APIs and the programming model.
- Extend CUDA programming models and functionality, including CUDA Graphs.
- Explore ways to use graphs to improve the efficiency and speed of AI/ML workload scheduling on GPUs.
- Write effective, maintainable, and well-tested code.
- Develop code for multiple operating systems.
- Collaborate with peers across NVIDIA to shape the future direction of CUDA.
Requirements
- Bachelor's or master's degree in Computer Science, Electrical Engineering, or a related field, or equivalent experience.
- Strong C and C++ programming skills.
- Minimum of 15+ years of related development experience; multiple positions for varying experience levels are open.
- Experience driving projects across multiple teams.
- Experience working with large codebases.
- Background with operating system interfaces for threads, process control, and virtual memory.
- Experience writing and debugging multithreaded programs.
- Good written communication and presentation skills.
Preferred Qualifications
- Experience with parallel computing, preferably writing CUDA programs or libraries that use CUDA.
- Understanding of system-level architecture, including interconnects, memory hierarchy, interrupts, and memory-mapped I/O.
- Knowledge of memory coherence and consistency models.
- Background with kernel-mode development.
- Experience with Linux systems software development.
- Experience maintaining and extending programming models or higher-level language support for similar environments.
Compensation and Benefits
The base salary range is $272,000–$431,250 USD, determined based on location, experience, and the pay of employees in similar positions. The position is also eligible for equity and benefits.
Applications will be accepted at least until July 14, 2026. This posting is for an existing vacancy. NVIDIA uses AI tools in its recruiting processes and is committed to equal employment opportunity and an inclusive work environment.