# Senior Software Engineer - CUDA and Unified Memory

**Company**: NVIDIA
**Location**: Santa Clara
**Work arrangement**: onsite
**Experience**: senior
**Job type**: full-time
**Category**: Engineering
**Industry**: Technology

**Apply**: https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-Software-Engineer---CUDA-and-Unified-Memory_JR2014177?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply
**Canonical**: https://yubhub.co/jobs/job_bb86abe7-a65

## Description

We are hiring software engineers to work on the CUDA driver, a core component of our platform for accelerating general purpose computation on the GPU. Our team delivers features and improvements to better realise the potential of NVIDIA hardware for a growing range of computational workloads, ranging from deep learning, scientific computation, and self-driving cars to video games and virtual reality!

As a member of our team, you will apply your design, coding expertise, and creativity, and collaborate with peers across NVIDIA to deliver upon the best compute platform in the world. You will craft sophisticated solutions to exciting problems shaping the future direction of CUDA!

Responsibilities:

- Architect, and implement new features for new chips and new kernel features

- Coordinate with other teams to accomplish your work daily

- Help define forward-looking improvements to the CUDA APIs and programming model

- Write effective, maintainable, and well-tested kernel and userspace code

- Develop code for multiple Linux operating systems

Requirements:

- BS or MS degree in Computer Science, Electrical Engineering or related field (or equivalent experience)

- Strong C programming skills

- Minimum of 10+ years of related development experience

- 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

Ways to stand out from the crowd:

- Understanding of system level architecture, such as interconnects, memory hierarchy, interrupts, and memory-mapped IO

- Knowledge of memory coherence and consistency models

- Experience with kernel mode development

- Experience with Windows, Linux, or macOS driver development

- Some familiarity with C++

## Skills

### Required
- C programming
- CUDA
- Unified Memory
- kernel mode development
- operating system interfaces
- networking
- multithreading

### Nice to have
- C++
- Windows
- Linux
- macOS
- driver development
- system level architecture
- memory coherence and consistency models

---

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