Senior Software Engineer - Python Numerical Computing Libraries

Nvidia

Remote

$124K - $167K/yr

Full-time

Posted 2 days ago

New


Nvidia rating

9.6

Company rating: 9.6 out of 10

Based on 17 frontline employees who took The Breakroom Quiz

7th of 246 rated software companies


Job description

We are looking for an experienced software professional to contribute to design and development of accelerated and distributed implementations of Python APIs for numerical computing. In the last decade, Python has become the de-facto programming language for practitioners in AI, data science and HPC, through popular frameworks such as NumPy, SciPy, TensorFlow and PyTorch. These frameworks provide an efficient high-level programming interface, allowing their users to focus on their application while providing highly optimized implementations. NVIDIA has been at the forefront of providing GPU-accelerated implementations of the fundamental components of these frameworks.

Join our dynamic team to help develop and optimize GPU-accelerated and distributed implementations of Python numerical libraries, supporting Python-based frameworks in various ecosystems. This developer will be a crucial member of a team that is working to unlock the power of distributed GPU computing for domains such as scientific computing, data analytics, deep learning, and professional graphics, running on hardware ranging from supercomputers to the cloud!

What you will be doing:

  • 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 a 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

What we need to see:

  • 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 from the crowd:

  • 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

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.

You will also be eligible for equity and benefits.

Applications for this job will be accepted at least until August 25, 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 proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.

What Nvidia employees say

Pay

Benefits

Hours and flexibility

Workplace

Get the full story on Breakroom


Nvidia logo

About Nvidia

Sourced by ZipRecruiter

NVIDIA has been transforming computer graphics, PC gaming, and accelerated computing for more than 25 years. It's a unique legacy of innovation that's fueled by great technology--and amazing people. Today, we're tapping into the unlimited potential of AI to define the next era of computing. An era in which our GPU acts as the brains of computers, robots, and self-driving cars that can understand the world. Doing what's never been done before takes vision, innovation, and the world's best talent.

Industry

Computer and electronic product manufacturing

Company size

10,000+ Employees

Headquarters location

Santa Clara, CA, US

Year founded

1993



Frequently asked questions

Q: What skills or qualities help someone succeed as a Senior Python Developer?

A: To succeed as a Senior Python Developer, key technical skills include expertise in object-oriented programming, data structures, and algorithms, as well as proficiency in popular Python frameworks such as Django or Flask. Additionally, strong problem-solving skills, experience with agile development methodologies, and knowledge of cloud platforms like AWS or Google Cloud are highly valued. Effective Senior Python Developers also possess soft skills like strong communication, leadership, and collaboration abilities, which enable them to mentor junior developers, lead projects, and drive technical decisions.

Q: What is the career path for a Senior Python Developer?

A: A Senior Python Developer typically progresses through a career path that includes entry-level roles such as Junior Python Developer or Python Developer, followed by mid-level positions like Senior Python Developer or Lead Python Developer, and eventually senior roles like Technical Lead, Architect, or Engineering Manager. Key opportunities for skill development and growth in this role include mastering advanced Python concepts, learning DevOps and cloud computing, and developing leadership and communication skills to effectively manage teams and projects. Long-term career prospects for Senior Python Developers may include transitioning into technical leadership roles, pursuing specialized areas like data science or machine learning, or exploring adjacent fields like product management or entrepreneurship.