NVIDIA is looking for a software engineer to modernize and scale GPU development within their GPU Architecture Group. The role involves designing automation for GPU development processes and applying modern software engineering techniques to improve workflows and codebases.
Responsibilities:
- Design and build automation to scale GPU development processes across hardware models, testbenches, and build systems
- Develop and extend code generation flows that automate configuration and adapt to new designs without manual rework
- Refactor and improve large, complex codebases to be more parameterized, data-driven, and maintainable
- Collaborate with ASIC design and architecture teams to align on automation approaches
- Adapt modern software engineering workflows to GPU architecture development and find opportunities to set a higher standard
- Establish and maintain high standards for software quality and consistency across shared infrastructure
Requirements:
- B.S., M.S., or PhD in Computer Science, Computer Engineering, or a related field (or equivalent experience)
- Strong software engineering fundamentals and programming skills(Python, C++, or similar)
- Experience with build systems, code generation, or design automation flows
- 3 years or more experience in relevant roles
- Motivation to engage with and refine sizable, complicated codebases — converting legacy systems into maintainable, well-structured infrastructure
- Familiarity with hardware development workflows (modeling, verification, or similar)
- Up to date with modern software engineering methods including CI and AI-powered tooling
- Effective collaboration skills for working across team and functional boundaries (architecture, ASIC, software)
- Experience building or maintaining hardware build automation infrastructure at scale
- Background in parameterized code generation or template driven build systems
- Track record of improving developer efficiency through tooling and automation
- Familiarity with GPU or ASIC development processes
- Experience with configuration management for complex hardware IP