Job Information
Nvidia EDA System Software Engineer in Durham, North Carolina
NVIDIA has continuously reinvented itself over two decades. Our invention of the GPU in 1999 sparked the growth of the PC gaming market, redefined modern computer graphics, and revolutionized parallel computing. More recently, GPU deep learning ignited modern AI — the next era of computing. Nvidia is a "learning machine" that constantly evolves by adapting to new opportunities that are hard to solve, that only we can tackle, and that matter to the world. This is our life's work to amplify human imagination and intelligence. Make the choice to join us today! As a software engineer you will craft and implement APIs and services to support the execution of workflows to validate the design of NVIDIA's chips. The systems we develop will operate at a large scale, running millions of tests per day in a distributed cloud computing environment with thousands of heterogeneous servers to verify multiple designs in many configurations. You will continuously innovate and develop scalable, reliable, high-performance systems, and tools to enable the next generation of chips.
What you'll be doing:
Build microservices that are reliable, scalable, and maintainable.
Improve the current system's ability to schedule and utilize resources, improve performance, increase reliability, and provide better throughput.
Design interfaces that are efficient and easy to use for hundreds of engineers throughout the world.
Join an agile and dynamic software development team with very high production quality standards.
Participate in the full life-cycle of tool development, test, and deployment.
Work closely with other team members and internal customers to understand their processes requirements and needs.
Directly contribute to the overall quality of and improve time to market for NVIDIA's next-generation chips.
What we need to see:
MS (preferred) or BS in Computer Science (or equivalent).
5+ years experience in software engineering
Excellent software engineering skills, including applied knowledge of OOP, design patterns, distributed systems, multiprogramming, and microservices.
Skilled in Python and common service and/or multiprogramming-related packages.
Excellent planning, presentation, and general communication skills.
The flexibility and adaptability to work in an exciting environment with changing requirements.
Ways to stand out from the crowd:
Experience developing and deploying automated testing infrastructure.
Deep understanding of distributed and microservice architecture principles, including service deployment and API versioning strategies.
Experience with Linux ecosystems, including development tools and Familiarity with chip design and/or other verification workflows.
A passion for improving the productivity and efficiency of other engineers.
Experience with or interest in engineering project management and organization and Expertise in Perl, C/C++, JavaScript, or TypeScript.
The base salary range is 148,000 USD - 276,000 USD. Your base salary will be determined based on your location, experience, and the pay of employees in similar positions.
You will also be eligible for equity and benefits (https://www.nvidia.com/en-us/benefits/) . NVIDIA accepts applications on an ongoing basis.
NVIDIA is committed to fostering a diverse 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.