NVIDIA is seeking software engineers to work on next-generation graphics and computing products. The role involves building the most stressful set of applications a GPU or high-performance computing server would see in its lifecycle. Ideal candidates should have strong C/C++ programming skills, thorough knowledge of graphics concepts and algorithms, a solid foundation in systems software with emphasis on OS fundamentals, and a deep understanding of current generation PC/hardware architecture.
Responsibilities include:
- Working closely with architecture, hardware, and driver teams throughout the product development lifecycle of computing and graphics processors, as well as compute products.
- Crafting software tools and infrastructure required for new chip development, validation, and productization.
- Assessing new hardware features and architecting manufacturing diagnostic solutions using pre-beta driver extensions.
- Understanding NVIDIA's hardware and software architectures.
Requirements:
- BTech or MTech degree in Electrical Engineering, Computer Engineering, Computer Science, or equivalent experience.
- 3+ years of experience in a related hardware/software position.
- Strong C/C++ programming skills.
- Familiarity with PC architecture and ability to work close to the hardware.
- Background with PCIE, Nvlink, or server product technologies like Infiniband, Ethernet is a plus.
- Previous experience working on a large system software code base is preferable.
- Very strong problem-solving and debugging skills.
- Ability to self-manage, show leadership, and have good interpersonal skills.
NVIDIA offers competitive salaries and a generous benefits package, making it one of the most desirable employers in the technology world. They have some of the most forward-thinking and talented people working for them, and due to unprecedented growth, their elite engineering teams are rapidly expanding.