Senior Software Engineer, CUDA Core Libraries
Location
California
Posted
93 days ago
Salary
$184K - $287.5K / year
Seniority
Senior
Job Description
Senior Software Engineer, CUDA Core Libraries
NVIDIA
• Develop and implement CUDA Core Libraries in C++ and/or Python, including parallel algorithms and idiomatic language bindings for core CUDA functionality • Compose, optimize, and evolve GPU algorithms and APIs, from high-level interfaces down to low-level performance tuning involving memory, parallelism, and synchronization • Own features end-to-end: develop, implementation, testing, benchmarking, documentation, and long-term maintenance • Improve developer experience across the stack: CI, tests, benchmarks, packaging, examples, and docs • Collaborate with senior CUDA engineers in design reviews, code reviews, and open-source-style workflows • Engage with real users through issues, performance investigations, and API feedback
Job Requirements
- BS, MS, or PhD in Computer Science, Computer Engineering, or a related field or equivalent experience
- Minimum of 8+ years of related development experience
- Strong programming skills in C++, Python, or both, with proven interest in systems-level software (performance, memory, concurrency, API design)
- Solid understanding of modern C++ (templates, generics, standard library) and/or Python library development and packaging
- Practical experience with parallel or heterogeneous programming (CUDA, OpenMP, GPU-accelerated Python, or similar)
- Experience contributing to production software or open-source libraries, including testing, profiling, and code review
- Ability to work independently, scope problems, and drive projects to completion
- Clear written communication for technical design and documentation
- Comfort navigating large, multi-language codebases (C++, Python, CMake, Pixi, CI systems)
Benefits
- equity
- benefits
Related Guides
Related Job Pages
More Full-stack Engineer Jobs
Senior Software Engineer, Quality - Payments
AirbnbAirbnb is a community based on connection and belonging.
• Lead building, maintaining, and effective utilization of automated tests, collaborating closely with engineering teams to ensure robust test coverage for Payments features and releases, and actively participating in the continuous improvement of testing processes. • Collaborate with CI/CD team to integrate automated testing into CI/CD pipelines, ensuring thorough test coverage at every stage of development. • Demonstrate excellent troubleshooting abilities, isolate issues, and verify bug fixes. Debug issues found during testing and after release. • Be a player of our high-performance team to ensure code quality, commitment to craft and operational excellence. • Work closely with cross-functional teams, including product management, development, and other QE teams, in a fast-paced environment with short release cycles.
• Develop and maintain web applications using the technologies mentioned above; • Work closely with the QA and design teams to deliver high-quality features; • Write clear, testable code following development best practices; • Ensure code quality through code reviews, automated tests, and continuous integration; • Participate in technical discussions and make decisions with the team to solve problems and improve the product; • Share knowledge and mentor more junior developers; • Prepare technical specifications and effort estimates.
• Develop and maintain web applications using the stack mentioned above; • Collaborate with QA and design teams to deliver high-quality features; • Write clear, testable code using development best practices; • Ensure code quality through code reviews, automated tests, and continuous integration; • Participate in technical discussions and make decisions with the team to solve problems and improve the product; • Share knowledge and mentor more junior developers; • Produce technical specifications and estimates.
• Desenvolver e manter aplicações web utilizando a stack mencionada acima; • Trabalhar em conjunto com o time de qualidade e design para entregar features de alta qualidade; • Escrever código claro e testável, utilizando boas práticas de desenvolvimento; • Garantir a qualidade do código através de revisões de código, testes automatizados e integração contínua; • Participar de discussões técnicas e tomar decisões junto ao time para solucionar problemas e melhorar o produto; • Compartilhar conhecimento e orientar desenvolvedores mais juniores; • Realizar especificações técnicas e estimativas.


