# Microcontroller Firmware Engineer

**Company**: NVIDIA
**Location**: Santa Clara, CA
**Experience**: senior
**Job type**: full-time
**Salary**: 152,000 USD - 241,500 USD for Level 3, and 184,000 USD - 287,500 USD for Level 4
**Category**: Engineering
**Industry**: Technology

**Apply**: https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-System-Software-Engineer--Platform---Server-Embedded-Firmware_JR2028401?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply
**Canonical**: https://yubhub.co/jobs/job_9652f9ab-17c

## 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

## Skills

### Required
- C/C++
- embedded systems
- microcontroller firmware
- RTOS
- Zephyr
- FreeRTOS
- DMTF standards
- MCTP
- PLDM
- SPDM
- SMBUS
- OCP recovery
- Linux

### Nice to have
- microcontroller embedded firmware development
- OOB management
- MCTP stack implementation
- FPGA
- system software and platform security

---

Source: [Apply at nvidia.wd5.myworkdayjobs.com](https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-System-Software-Engineer--Platform---Server-Embedded-Firmware_JR2028401?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply)
