Firmware Engineer-BMC
Listed on 2026-07-08
-
Software Development
Embedded Systems/ Firmware/ IoT, Software Engineer, Embedded Software Engineer
Location: Thorpe
BMC Firmware Developer
We are seeking a BMC Firmware Developer to join our team. In this role, you will be responsible for designing, developing, and maintaining BMC firmware for Lenovo server platforms. As part of the role, this developer will work closely with the other Worldwide developers and architects for Lenovo server platforms. We are looking for candidates who have experience in some (but not necessarily all) of the following technical areas.
Deep expertise in one or more domains is preferred over shallow knowledge across all areas.
Legacy / OpenBMC Platform
Experience:
- Experience with Vertiv legacy BMC firmware and/or OpenBMC-based platforms
- Familiarity with OpenBMC architecture and implementation, including: D-Bus, phosphor services, systemd, Device Tree (DTS) configuration for BMC platforms
- Experience porting or maintaining firmware across legacy BMC and OpenBMC platforms
- Experience debugging boot and runtime issues using logs, traces
SoC & Low-level Hardware Knowledge:
- Familiarity with BMC SoC architectures (e.g., ASPEED AST
25xx / AST
26xx / AST
27xx) - Solid understanding of low-level hardware interfaces, including: I2C / I3C, SPI, UART, GPIO, USB
- Experience reading schematics and hardware design documents for bring-up and debug
BMC Core Features:
Management & Protocols:
- Familiarity with server management standards, including: IPMI, Redfish, PLDM/MCTP, Firmware Update
- Experience with U-Boot, Linux kernel bring-up, and root file system integration
- Understanding of secure boot, PFR is a plug
Networking & Connectivity:
- Experience with BMC networking, including:
Ethernet configuration, VLAN, IPv4/IPv6, DHCP/static IP
Platform & Power Management:
- Experience with Power control and sequencing, Sensor monitoring, Thermal management, Event / log handling (SEL, Redfish Events)
The detailed responsibilities:
- Bring-up, verification, develop, and debug of New Product Introduction (NPI) product
- Work with cross-functional teams to support product requirements for the products
- Contribute to all phases of the software development life-cycle
- Collaborate with the Project Manager to ensure timely task delivery, aligning with each project milestone
- Collaborate with the Project Engineering team to review product-related features, including but not limited to hardware design reviews, feature design, and issue clarification
- Write technical documentation, including specifications, API specifications, design documents, behavior block diagrams, user guides, etc.
- Conduct technical sharing sessions with the team.
- Maintain Lenovo sustaining projects and address the customer issues
What you bring:
- BS/MS degree in Computer Science, Computer Engineering, Electrical Engineering or related field, or equivalent practical experience
- Strong C/C++ debugging skills on embedded-systems
- Strong Web language skills
- Experience working with embedded processors, such as: ARM, Intel, AMD
We are Lenovo. We do what we say. We own what we do. We WOW our customers. Lenovo is a US $83 billion revenue global technology powerhouse, ranked #196 in the Fortune Global 500, and serving millions of customers every day in 180 markets. Focused on a bold vision to deliver Smarter Technology for All, Lenovo has built on its success as the world's largest PC company with a full-stack portfolio of AI-enabled, AI-ready, and AI-optimized devices (PCs, workstations, smartphones, tablets), infrastructure (server, storage, edge, high performance computing and software defined infrastructure), software, solutions, and services.
Lenovo's continued investment in world-changing innovation is building a more equitable, trustworthy, and smarter future for everyone, everywhere. To find out more visit , and read about the latest news via our Story Hub.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).