Firmware Engineer - Server BMC
About the role
Curious and self-motivated BMC Firmware Engineer to contribute to development of next-generation server platforms, focusing on manageability and security of Apple data center systems. Responsible for designing, implementing, testing, and maintaining BMC firmware features, bringing up firmware on new hardware, and collaborating with ODM/OEM and silicon vendors to ensure robust security and infrastructure manageability.
Responsibilities
- Develop and maintain BMC firmware features, including services, APIs, and management interfaces (Redfish, IPMI)
- Design scalable, maintainable BMC software that supports new hardware through configuration. Upstream changes to the OpenBMC community where appropriate and maintain downstream patches across releases.
- Bring up BMC firmware on new hardware: kernel, drivers, device trees, and board support. Strong embedded firmware knowledge and hands on experience in embedded firmware to support BMCs on devices other than DCSCM module.
- Implement and debug low-level drivers and hardware interfaces in collaboration with hardware engineers.
- Debug issues across hardware, firmware, and software boundaries using serial console, JTAG, and bus analyzers.
- Support EVT, DVT, and PVT builds, and work with global ODM, OEM, and contract manufacturing partners to resolve issues.
- Contribute to firmware security: secure boot, firmware signing, vulnerability triage, and patching.
- Write unit tests for new features, and support system-level validation by reproducing and fixing defects.
- Write clear technical documentation and contribute to design discussions.
- Stay current on new vulnerabilities, attack methods, and security standards (NIST, FIPS).
Qualifications
- Bachelor’s degree in Engineering, Computer Science, Computer Engineering, or a related field, or equivalent practical experience.
- 7+ years of experience in embedded Linux development with strong C/C++ programming skills, plus scripting in Bash and Python.
- Hands-on experience with OpenBMC including IPMI, systemd and D-Bus services, Redfish, sensors and telemetry, and firmware update frameworks.
- Experience porting OpenBMC to new platforms, including build configuration, kernel and device tree changes, and platform-specific services.
- Experience integrating and scaling sensors in OpenBMC, with attention to service count, memory, and boot-time cost.
- Working knowledge of server platform interfaces such as I2C/I3C, SPI, PMBus, UART, GPIO, and Ethernet controllers.
- Experience taking firmware through product development stages, ideally EVT/DVT/PVT with ODM or OEM partners.
- Familiarity with PLDM and MCTP, and with PECI/APML.
- Experience with BMC security features such as secure or verified boot, firmware signing, root of trust, SPDM, and vulnerability management.
- Strong debugging and problem-solving skills across hardware, firmware, and software, with effective collaboration with vendor and hardware teams.
- Experience supporting BMC software on new hardware, including low-level debugging (JTAG, serial, oscilloscope, I2C analyzer).
- Exposure to EDKII/BIOS and platform enablement.
- Familiarity with RAS concepts (fault management, telemetry, recovery).
- Familiarity with cloud-scale operations and fleet management of BMC firmware.
- Ability to work in a fast-paced, dynamic, and sometimes ambiguous environment, and to identify and raise technical and schedule risks early.
Skills
About Apple
Discover the innovative world of Apple and shop everything iPhone, iPad, Apple Watch, Mac, and Apple TV, plus explore accessories, entertainment, and expert device support.
Discover the innovative world of Apple and shop everything iPhone, iPad, Apple Watch, Mac, and Apple TV, plus explore accessories, entertainment, and expert device support.
More open roles at Apple
- Senior UI Software Engineer, Cocoa3d agoCupertino, CA · Software and Services
- AIML - Machine Learning Engineer, Visual Intelligence Technology3d agoHybrid (Cupertino/Santa Clara/SSeattle area (3 work locations)) · Visual Intelligence Technology
- Physical Design Methodology CAD Engineer3d agoHybrid (Sunnyvale, California), Hybrid (Austin, Texas) +3 more · Hardware Technology CAD team / Silicon Technologies group
- Sr. ML Optimization Engineer, ASE Efficiency3d agoHybrid (San Diego, CA) · Software and Services
- Sr. ML Optimization Engineer, ASE Efficiency3d agoHybrid (Seattle, WA) · Software and Services