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.
Want more jobs like this?
Get Software Engineering jobs in Bangalore, India delivered to your inbox every week.
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).
- 2+ 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.