Used Tools & Technologies
Not specified
Required Skills & Competences ?
Security @ 4 Go @ 7 Linux @ 4 Python @ 7 Statistics @ 4 Hiring @ 4 Bash @ 7 Communication @ 4 JSON @ 4 OAuth @ 4 QA @ 4 GPU @ 4Details
NVIDIA is seeking an experienced system software engineer to design and implement OpenBMC firmware for GPU server platforms. The role focuses on firmware bring-up, performance analysis, manageability features, standards-based platform management, instrumentation, testing, and working closely with security and hardware teams to achieve enterprise-ready server solutions.
Responsibilities
- Design and implement OpenBMC firmware for GPU server platforms (focus on, but not limited to, Arm architecture).
- Bring up BMC firmware on target boards; perform performance analysis and implement manageability features.
- Develop and review code, write and review design documents, and review QA test plans.
- Collaborate with cross-functional teams to reach consensus on design and testability per product requirements.
- Design solutions for error handling, statistics, and configuration across components (CPU, GPU, DIMM, SSDs, NICs, IB, PSU, BMC, FPGA, CPLD, etc.) for enterprise readiness.
- Design and develop performance-optimized active monitoring BMC solutions using DMTF standards such as MCTP, Redfish, PLDM and SPDM.
- Instrument code to ensure maximum coverage; write and automate unit tests for each module and maintain detailed unit test reports.
- Provide software quality reports based on static analysis, code coverage, and CPU load.
- Work with security teams to ensure code aligns with product security goals; collaborate with hardware teams to influence hardware design and review schematics.
Requirements
- Bachelor of Science in Electrical Engineering, Computer Science, or equivalent experience (or higher).
- 8+ years of experience.
- Domain expertise in BMC firmware development on x86 or ARM platforms, including BMC-BIOS communication, thermal management, power management, firmware update mechanisms, device monitoring, and firmware security.
- Board bring-up experience and hands-on device driver work (I2C/I3C, SPI, PCIe, SMBus, mailbox interfaces) and experience with device trees for U-Boot and the Linux kernel.
- Out-of-band (OOB) or in-band system management experience and exposure to IPMI, KCS, and DMTF standards (PLDM, MCTP, Redfish, etc.), as well as PMBus and NVMe.
- Understanding of REST architecture, especially JSON over HTTPS and OAuth.
- Strong programming and scripting skills: C/C++, Bash, Python, Go; experience developing both Linux user-space and system-level programs.
- Strong Linux fundamentals across distributions and packaging, Linux upgrade mechanisms, and building/deploying Linux images.
- Experience writing and automating unit tests, using static analysis tools, and producing software quality metrics.
- Excellent written and oral communication, teamwork, strong work ethic, and the ability to find creative solutions and deliver quality results independently.
Preferred / Ways to Stand Out
- Contributions to industry standards or open source projects (Open Compute, OpenBMC, IPMI, DMTF standards).
- Expertise in system software and platform security for x86/ARM rack or blade server systems.
Benefits and Additional Information
- Base salary range (USD):
- Level 4: 184,000 USD - 287,500 USD
- Level 5: 224,000 USD - 356,500 USD
- You will also be eligible for equity and benefits (see https://www.nvidia.com/en-us/benefits/).
- Applications for this job will be accepted at least until August 11, 2025.
- NVIDIA is an equal opportunity employer and values diversity; hiring and promotion practices do not discriminate on protected characteristics.