Embedded & Systems Software
Originally posted 13 May 2026 by the employer.
About the role
This role is responsible for designing, developing, and maintaining BMC software solutions, including sensor monitors, event logs, and WebUI. The position implements firmware functions to interface with peripherals across hardware platforms per protocol specifications and chipset datasheets.
What you'll do
- Design, develop, and maintain BMC software solutions, including sensor monitoring, event logs, and WebUI.
- Implement functions in firmware to communicate with peripherals via SPI, I2C, and UART per protocol specifications and chipset datasheets.
- Perform code reviews, unit testing, and debugging to maintain reliable BMC software.
- Develop and maintain documentation, including design specifications, user manuals, and release notes.
What you'll need
- 5+ years of experience in C++ coding for Linux applications, including code tracing and system design.
- Hands-on BMC product and stack software solution experience, including porting BMC to multiple hardware platforms.
- Working knowledge of MCTP and PLDM protocols.
- Understanding of server power management via BMC.
- Hardware debugging skills.
- Knowledge of low-level protocols, including I2C, PMBus, SPI, UART, JTAG, and GPIO.
- Understanding of BMC IPMI 2.0, including IPMI Messaging, SDR, SEL, FRU, SOL, IPMB, LAN, KCS, event log, PEF, ME, NM, and PECI.
Nice to have
- Experience with AMI SPX or OneTree products.
- Experience working with DCSCM cards.
Skills: BMC, IPMI, firmware, I2C, SPI, C++
More semiconductor jobs: Firmware engineer jobs