Firmware Engineer - Server BMC

Apple•Austin, TX

About The Position

Apple is seeking a curious, self-motivated BMC Firmware Engineer to develop next-generation, industry-standard server platforms and improve the manageability and security of Apple data center systems. The engineer will design, implement, test, and maintain BMC firmware features, bring up BMC software on new hardware, collaborate with ODM, OEM, silicon vendor, hardware, and manufacturing partners, and help ensure firmware is robust against security threats. The work supports infrastructure manageability, serviceability, and security. The role includes developing BMC services, APIs, and management interfaces such as Redfish and IPMI; designing maintainable software that supports new hardware through configuration; contributing appropriate changes to the OpenBMC community and maintaining downstream patches; and bringing up kernels, drivers, device trees, and board support on new hardware. The engineer will debug across hardware and software boundaries, support product development builds and validation, contribute to firmware security, write technical documentation, and participate in design discussions. The position also calls for staying current on vulnerabilities, attack methods, and security standards such as NIST and FIPS.

Requirements

  • 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.
  • Strong C/C++ programming skills and scripting experience with Bash and Python.
  • Hands-on OpenBMC experience, 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, considering 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; EVT/DVT/PVT experience with ODM or OEM partners is preferred in the posting.
  • 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.
  • Ability to work in a fast-paced, dynamic, sometimes ambiguous environment, and to identify and raise technical and schedule risks early.

Nice To Haves

  • 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.
  • Experience using JTAG, serial consoles, oscilloscopes, and I2C analyzers for low-level debugging.
  • Exposure to EDKII/BIOS and platform enablement.
  • Familiarity with RAS concepts, including fault management, telemetry, and recovery.
  • Familiarity with cloud-scale operations and fleet management of BMC firmware.

Responsibilities

  • Develop and maintain BMC firmware features, including services, APIs, and management interfaces such as Redfish and 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, including kernel, drivers, device trees, and board support.
  • Implement and debug low-level drivers and hardware interfaces in collaboration with hardware engineers.
  • Debug issues across hardware, firmware, and software boundaries using tools such as 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, including 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 vulnerabilities, attack methods, and security standards such as NIST and FIPS.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service