Senior Software Engineer - Python Numerical Computing Libraries
at Nvidia
USD 184,000-356,500 per year
Used Tools & Technologies
Not specified
Required Skills & Competences
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.
Python @ 4
Algorithms @ 4
Machine Learning @ 4
Data Science @ 4
scikit-learn @ 4
TensorFlow @ 4
Parallel Programming @ 7
Performance Optimization @ 4
Product Management @ 4
Debugging @ 4
API @ 4
PyTorch @ 4
Pandas @ 4
CUDA @ 4
GPU @ 4
Deep Learning @ 4
AI @ 4
Profiling @ 4
Performance Analysis @ 7
JAX @ 3
- 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. You will help develop and optimize GPU-accelerated and distributed implementations of Python numerical libraries, supporting Python-based frameworks across scientific computing, data analytics, deep learning, and professional graphics, running on hardware 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 the technical roadmaps of libraries
- Architect, prioritize, and develop accelerated and distributed implementations of numerical algorithms
- Design future-proof Python APIs for accelerated numerical/scientific computing libraries
- Analyze and improve the performance of developed APIs 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 code for production use
- Contribute to the development of runtime systems that underlay the foundation of multi-GPU computing at NVIDIA
Requirements
- BS, MS or PhD degree in Computer Science, Applied Math, Electrical Engineering or related field (or equivalent experience)
- 6+ years of relevant industry experience or equivalent academic experience after BS
- Excellent Python, C++ and CUDA programming skills
- Strong understanding of fundamental numerical methods, dense and sparse array computing
- Deep familiarity with Python numerical computing libraries (e.g. NumPy, SciPy), including accelerated implementations (e.g. CuPy, Jax.NumPy, NumS, cuNumeric)
- Experience developing and publishing Python libraries, following standard methodologies for pythonic API design
- Strong background with parallel programming and performance analysis
Ways to stand out
- Experience using/contributing to Python libraries for data science (e.g. Pandas), machine learning (e.g. scikit-learn) and deep learning (e.g. TensorFlow, PyTorch)
- Experience with low-level GPU performance optimization
- Experience building, debugging, profiling and optimizing distributed applications on supercomputers or the cloud
- Background with tasking or asynchronous runtimes
- Background on compiler optimization techniques, and domain-specific language design
Compensation & Other
- Base salary ranges provided: $184,000 - $287,500 (Level 4) and $224,000 - $356,500 (Level 5). Actual base salary will be determined based on location, experience, and pay of employees in similar positions.
- You will also be eligible for equity and benefits. More information at NVIDIA benefits.
- Applications for this job will be accepted at least until April 13, 2026.
- NVIDIA uses AI tools in its recruiting processes and is an equal opportunity employer.