Description
Join NVIDIA as a Microcontroller Firmware Engineer and work on designing and implementing microcontroller firmware for GPU server platforms. You will develop C/C++ server manageability features in an RTOS embedded-optimized environment and perform hands-on work with microcontroller firmware bring-up, debugging, performance analysis, and coding manageability features for NVIDIA's server platforms.
Responsibilities:
- Design and implement microcontroller firmware for GPU server platforms, focusing on ARM M-class microcontrollers
- Develop C/C++ server manageability features in an RTOS embedded-optimized environment
- Perform hands-on work with microcontroller firmware bring-up, debugging, performance analysis, and coding manageability features for NVIDIA's server platforms
- Develop embedded management software to enable reporting and connectivity between server management devices
- Implement register-based communication and DMTF standard messaging protocols for seamless interaction between BMC, GPUs, switches, memory, I/O expanders, sensors, and local microcontroller peripherals
- Design a highly portable microcontroller framework that will be implemented across a wide variety of server management subsystems
- Instrument code for maximum coverage, automate unit tests, maintain detailed test case reports, and provide software quality reports based on static analysis, code coverage, and microcontroller load
- Collaborate with security and hardware teams to ensure code aligns with security goals and influence hardware design and architecture review
Requirements:
- Bachelor of Science degree in Electrical Engineering or Computer Science or equivalent experience
- 5+ years of experience in low-level microcontroller firmware development on embedded microcontrollers using Zephyr or FreeRTOS
- Demonstrated experience in developing BMC and/or microcontroller firmware for managing CPU, GPU, network, and storage devices
- Experience with embedded interfaces such as USB and I3C
- Strong embedded programming and scripting skills using C/C++, Bash, Python, Go, etc.
- Experience reviewing and using hardware schematics, reference manuals, and datasheets for embedded development
- Expertise working with server manageability protocols such as MCTP, PLDM, SPDM, SMBUS, and OCP recovery
- Solid understanding of Linux fundamentals, various distributions, packages, upgrade mechanisms, and image building/deployment
Nice to Have:
- Hands-on background working with microcontroller embedded firmware development and OOB management
- Hands-on experience implementing MCTP stack in embedded environments or FPGA
- Expertise in system software and platform security for x86/ARM-based rack/blade server systems
Salary: 152,000 USD - 241,500 USD for Level 3, and 184,000 USD - 287,500 USD for Level 4 Benefits: Equity and benefits package