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.
Facilitate security requirements for GPU products by driving compliance with industry standards such as NIST, Open Compute Project, etc.
Align with customers and partners on security requirements and features.
Work with hardware teams to improve NVIDIA’s GPU hardware security.
What we need to see :
BS or MS degree or equivalent experience in EE / CS / CE.
4+ 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 display technologies such as DP, HDMI, and VGA / VESA specs.
Proficient with PCI / PCIe architecture.
Good knowledge on developing for UEFI environments.
Familiarity with software development for safety critical platforms.
Hands on experience with secure development techniques such as threat models, attack trees, static / dynamic analysis, fuzzing, and negative testing.
Knowledge on formal verification.
Passion for your work.
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.