NVIDIA is seeking a Senior C++ Software Engineer for their Infrastructure Tools team. This role involves developing and supporting infrastructure tools used by design engineers for building and verifying architectural, RTL, and gate-level designs. The ideal candidate will craft highly efficient software to automate and facilitate chip design and verification processes.
Key responsibilities include:
- Building reliable, scalable, and high-performance software for use by engineers worldwide
- Developing algorithmic tools in C++ to analyze chip model AST structures for code coverage and other analyses
- Creating software to convert hardware designs from domain-specific languages (DSLs) into Verilog or other hardware description formats
- Developing novel, optimized solutions to advance the state of the art in chip architecture
- Building intuitive and easy-to-use UIs to work with backend services
Requirements:
- BS (MS or PhD preferred) in a relevant field or equivalent experience
- 5+ years of software development experience
- Proficiency in C++ or Golang, and Unix/Linux
- Deep understanding of algorithms, computer architecture, and computer science theory
- Flexibility and adaptability for working in a global, dynamic environment
Preferred qualifications:
- Experience with VLSI physical design and packaging
- Knowledge of hardware architecture and RTL design
- Strong expertise in modern C++, compilers, build systems, and databases
- Experience with static and dynamic code analysis tools
NVIDIA offers a competitive base salary range of $148,000 - $276,000 USD, along with equity and comprehensive benefits. The company values diversity and is an equal opportunity employer.