Do you enjoy hacking and tinkering at the lowest levels of software? Are you capable of designing and implementing clever firmware solutions in heavily resource-constrained environments? If so, you’re primed to help develop the boot software that powers the world’s best GPUs. We are searching for a top-notch software engineer to fill a challenging, yet fun role on our GPU Firmware team. You will be joining a team whose primary mission is solving the intricate enigma of securing and innovating the boot process for our GPUs, while dealing with the formidable constraints of boot-time and storage space. Every. Byte. Counts.
This is your chance to create waves in the industry while directly working with and alongside some of the most top-valued diverse minds in the GPU business. Your goal will be to shape the future of GPU technologies doing exactly what you enjoy: solving puzzles. If this sounds interesting and you’re up for the task, we’d certainly like to hear from you!
What you’ll be doing:
* Design, develop, test, debug, and optimize GPU firmware throughout the entire GPU lifecycle. * Design and implement creative solutions for boot software. * Collaborate with hardware, software, and business teams to transform new firmware features from idea to reality. * Interact with leading OS and PC vendors to improve and innovate on the startup experience. * Improve team software process and core infrastructure via projects dealing with build systems and regression farms. * Continuously evaluate and improve security for firmware that functions as a root of trust for flash and boot security. * Evaluate and improve control-plane and management interfaces of the GPU * Work with hardware teams to improve NVIDIA’s GPU hardware security, manageability, etc.
What we need to see:
* BS or MS degree or equivalent experience in EE/CS/CE. * 5+ years’ experience in developing device BIOS, firmware, or other low-level software. * Strong C skills. * Even stronger communication skills. * Sense of humor heavily encouraged, but not required. * Deep understanding of software process. * Secure software fundamentals including cryptography, authentication/attestation, chains of trust, and understanding of common SW security vulnerabilities. * Easy to work with, as you’ll constantly work closely with both hardware designers and other software engineers to design, develop, and debug functional (and non-functional!) aspects of GPU subsystems.
Ways to stand out from the crowd:
* Experience in x86 assembly and in-depth knowledge of the PC architecture. * Expertise with RISCV and other microarchitectures. * Proficient with PCI/PCIe architecture. * Experience working on protocols like MCTP, PLDM, SPDM, etc * Good knowledge on developing for UEFI environments.
We are widely considered to be one of the technology world’s most desirable employers, and as a result have some of the most brilliant and talented people in the world working for us. If you're clever, creative, and driven, we'd love to have you join the team.