Automation and Tools Development Engineer
Job Description
Are you passionate about inspiring change, building data driven tools to improve software quality, and ensuring customers have the best experience? If so, we have a phenomenal opportunity for you! NVIDIA is seeking a creative, and hands-on software engineer with a test to failure approach who is a quick learner, can understand software and hardware specifications, build reliable tests and tools C++/C#/Python to improve quality and accelerate delivery of NVIDIA products.
What you’ll be doing:
As a Software Automation and Tools Engineer, you will take part in technical design and implementation of tests for NVIDIA software products with the goal to identify defects early in the software development lifecycle. You will also build tools that accelerate execution workflows for the organization. In this role you can expect to:
Develop automated end to end tests for NVIDIA device driver and SDKs on windows platform. Execute automated tests, identify, and report defects. Measure code coverage, analyze and drive code coverage improvements.
Develop applications and tools that bring data driven insights to development and test workflows.
Build tools/utility/framework in Python / C / C++ which would help automate and optimize the testing workflows in GPU domain.
Write maintainable, reliable, and well detailed code. Debug issues to identify the root cause. Provide peer code reviews including feedback on performance, scalability, and correctness
Optimally estimate and prioritize tasks in order to create a realistic delivery schedule
Generate and test compatibility across a range of products and interfaces.
Work closely with leadership to report progress by generating effective and impactful reports
You will have the opportunity to work on challenging technical and process issues.
What we need to see:
B.E./B. Tech degree in Computer Science/IT/Electronics engineering with strong academics or equivalent experience
3+ years of programming experience in Python/C/C++ with experience in applying Object-Oriented Programming concepts.
Hands-on knowledge of developing Python scripts with application development concepts like dictionaries, tuples, RegEx, PIP etc.
Experience with testing RESTful APIs and the ability to conduct performance and load testing to ensure the application can handle high traffic and usage.
Experience working with databases and storage technologies like SQL and Elasticsearch
Good understanding of OS fundamentals, PC Hardware and troubleshooting.
The ability to collaborate with multiple development teams to gain knowledge and improve test code coverage
Excellent written and verbal communication skills and Excellent analytical and problem-solving skills.
The ability to work with a team of engineers in a fast paced environment
Ways to stand out from the crowd:
Prior project experience with building ML and DL based applications would be a plus
Good understanding of testing fundamentals
Strong problem solving skills (solid logic to apply in isolation and regression of issues found).