About the Role
About the Role
The Senior Software Engineer will develop the Rust experience for CUDA Core Libraries, focusing on designing safe and idiomatic Rust APIs for GPU computing. This role involves integrating closely with native C/C++ components and optimizing performance across various execution boundaries.
What You’ll Be Doing
- 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: design, implementation, testing, profiling, benchmarking, documentation, packaging, release, and maintenance.
- Improve the Rust developer experience through examples, diagnostics, build integration, compatibility testing, CI, 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.
What We Need To See
- BS, MS, or PhD in Computer Science, Computer Engineering, or related field, or equivalent experience.
- 8+ years of relevant software development experience.
- Strong production programming skills in Rust and C/C++, with 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.
- 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 (Rust, C/C++, build systems, toolchains, CI).
Ways To Stand Out From The Crowd
- Strong understanding of CPU/GPU architecture and performance optimization, with hands-on experience in GPU-accelerated stacks (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.
Compensation
Your base salary will be determined based on your location, experience, and the pay of employees in similar positions. The base salary range is 184,000 USD - 287,500 USD for Level 4, and 224,000 USD - 356,500 USD for Level 5.
Benefits
You will also be eligible for equity and benefits.
Requirements
Rust programming
Strong production programming skills in Rust with a deep understanding of its ownership and concurrency features.
C/C++ experience
Extensive experience in C/C++ programming and integrating with Rust.
Systems libraries
Experience developing systems libraries and developer-facing APIs.
Performance optimization
Solid understanding of performance, concurrency, and API design.
Nice to Have
Experience with parallel, heterogeneous, or GPU programming.
Experience with compiler infrastructure and tooling like LLVM or Clang.
Benefits
Equity
Eligible for equity as part of the compensation package.
Comprehensive benefits
Access to a range of benefits to support employee well-being.