Senior Software Engineer - Python Numerical Computing Libraries
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 @ 4
Algorithms
CUDA @ 6
Data Science @ 4
Debugging @ 4
Deep Learning @ 4
GPU @ 4
HPC
JAX @ 3
Machine Learning @ 4
Pandas @ 4
Parallel Programming @ 7
Performance Analysis @ 7
Performance Optimization @ 4
Product Management @ 4
Profiling @ 4
PyTorch @ 4
Python @ 4
TensorFlow @ 4
scikit-learn @ 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
We are looking for an experienced software professional to contribute to the design and development of accelerated and distributed implementations of Python APIs for numerical computing. Python has become the de facto programming language for practitioners in AI, data science, and high-performance computing through frameworks such as NumPy, SciPy, TensorFlow, and PyTorch. NVIDIA provides GPU-accelerated implementations of the fundamental components of these frameworks.
Join a dynamic team developing and optimizing GPU-accelerated and distributed implementations of Python numerical libraries. The work supports Python-based frameworks across scientific computing, data analytics, deep learning, and professional graphics, running on hardware ranging from supercomputers to the cloud.
Responsibilities
- Work closely with product management and internal or external partners to understand use cases and requirements and contribute to technical library roadmaps.
- Architect, prioritize, and develop accelerated and distributed implementations of numerical algorithms.
- Design future-proof Python APIs for accelerated numerical and scientific computing libraries.
- Analyze and improve API performance on various CPU and GPU architectures, especially as part of customer-critical end-to-end workflows.
- Prototype integrations of developed APIs into targeted frameworks.
- Write effective, maintainable, and well-tested production code.
- Contribute to runtime systems that form the foundation of multi-GPU computing at NVIDIA.
Requirements
- BS, MS, or PhD degree in Computer Science, Applied Math, Electrical Engineering, or a related field, or equivalent experience.
- 6+ years of relevant industry experience or equivalent academic experience after a bachelor's degree.
- Excellent Python, C++, and CUDA programming skills.
- Strong understanding of fundamental numerical methods and dense and sparse array computing.
- Deep familiarity with Python numerical computing libraries such as NumPy and SciPy, including accelerated implementations such as CuPy, JAX NumPy, NumS, and cuNumeric.
- Experience developing and publishing Python libraries using standard methodologies for Pythonic API design.
- Strong background in parallel programming and performance analysis.
Preferred Qualifications
- Experience using or contributing to Python libraries for data science, such as Pandas; machine learning, such as scikit-learn; and deep learning, such as TensorFlow and PyTorch.
- Experience with low-level GPU performance optimization.
- Experience building, debugging, profiling, and optimizing distributed applications on supercomputers or in the cloud.
- Background with tasking or asynchronous runtimes.
- Background in compiler optimization techniques and domain-specific language design.
Compensation and Benefits
The base salary range is USD 184,000–287,500 for Level 4 and USD 224,000–356,500 for Level 5. Base salary is determined based on location, experience, and the pay of employees in similar positions. The role is also eligible for equity and benefits.
Applications will be accepted at least until July 1, 2026. This posting is for an existing vacancy. NVIDIA uses AI tools in its recruiting processes. NVIDIA is committed to fostering an inclusive work environment and is an equal opportunity employer.