N

NVIDIA

Designs the chips and software that power AI

Senior Software Engineer - Multiple Teams

Systems Software EngineeringConfirmed live in the last 24 hours
Full-timeRemote

About the Job

Requirements

  • A BS, MS, or PhD in Computer Science, Computer Engineering, or a related field, or equivalent experience.
  • 12+ years of relevant software development experience.
  • Strong production programming skills in Rust and C/C++, with a deep understanding of Rust ownership, lifetimes, traits, generics, concurrency, and unsafe code.
  • Experience developing systems libraries, runtime components, and developer-facing APIs.
  • Practical knowledge of foreign-function interfaces and integrating Rust with C/C++ software.
  • A solid understanding of systems software concepts, including performance, concurrency, and API design.
  • Experience with parallel, heterogeneous, or GPU programming.
  • Experience contributing to production or open-source software, including testing, profiling, benchmarking, packaging, and code review.
  • Ability to work independently, define scope, and drive complex projects to completion.
  • Strong written communication skills and ability to work effectively in large, multi-language codebases involving Rust, C/C++, build systems, toolchains, and continuous integration.

Responsibilities

  • Design and implement idiomatic Rust libraries and APIs for foundational CUDA functionality and GPU algorithms.
  • Build safe Rust abstractions over native CUDA and C/C++ interfaces.
  • Develop and maintain the C/C++ components required to support Rust-facing functionality.
  • Establish safe and efficient interoperability between Rust and C/C++, including interfaces that support downstream Python integration.
  • Optimize performance across Rust, native C/C++, and GPU execution boundaries.
  • Own features end-to-end, including design, implementation, testing, profiling, benchmarking, documentation, packaging, release, and maintenance.
  • Improve the Rust developer experience through examples, diagnostics, build integration, compatibility testing, continuous integration, and collaboration with C/C++, Python, compiler, and runtime engineers.
  • Work with users to investigate and resolve issues related to safety, correctness, usability, compatibility, and performance.

Desired Qualifications

  • Strong understanding of CPU/GPU architecture and performance optimization, with hands-on experience in GPU-accelerated stacks such as CUDA C++/Python, PyTorch, JAX, Numba, CuPy, or similar.
  • Proficiency with modern C++ and GPU libraries such as Thrust, CUB, and libcudacxx.
  • Experience with compiler infrastructure and tooling, including LLVM, Clang, or MLIR.
  • Experience designing safe Rust abstractions over low-level or asynchronous systems, including exposure to Python interoperability.
  • Demonstrated interest in developer tools, library design, and improving developer productivity.

About the Company

NVIDIA

Designs the chips and software that power AI

NVIDIA designs the chips and software that power artificial intelligence and sells complete data center systems to cloud providers, AI labs, and other businesses, along with GeForce graphics cards for gamers. Its GPUs, chips that perform thousands of calculations at once, became the main hardware for AI after researchers used them to train the AlexNet image-recognition model in 2012. NVIDIA connects many GPUs with its own processors and networking gear into servers and rack-sized computers, and developers program them through its CUDA software. These systems bring in most of its sales, and it also makes chips for cars and robots. Jensen Huang co-founded NVIDIA in 1993, and it is based in Santa Clara, California.

Company size
10,001+
Company stage
IPO
Headquarters
Santa Clara, CA
Founded
1993

Recently Posted Jobs

Explore more opportunities at NVIDIA

See more jobs