AD

BMC Firmware Engineer

Adecco Staffing & Outsourcing Sdn Bhd
Petaling Jaya ₹5K-30K LPA Posted 30 Sept 2026
FULL TIME
C C++
Ipc
Embedded Linux
C
Embedded
+1 more

Job Description

Overview

The BMC Firmware Engineer is responsible for the development, debugging, testing, integration, deployment, and support of BMC firmware for Intel, AMD, and future server platforms. This role requires working under technical direction and collaborating with BIOS, hardware, validation, manufacturing, system, and project teams to ensure the delivery of dependable firmware throughout the product's lifecycle. Candidates are expected to gain hands-on experience in embedded Linux, BMC architecture, server management interfaces, board bring-up, defect investigation, and maintain a disciplined approach to engineering execution.

Primary Duties:

The following tasks are included, but not limited to: 

  • Design, develop, and maintain designated BMC firmware components and platform functionalities. 
  • Translate requirements into code using C/C++ in embedded Linux or OpenBMC environments. 
  • Facilitate BMC functions involving sensors, inventory management, event logging, system health monitoring, firmware updates, as well as power, thermal, and platform management. 
  • Engage in server board bring-up, feature integration, functional validation, regression testing, and production support activities. 
  • Identify and replicate defects, gather logs and traces, analyze source code, and conduct root cause analysis under guidance. 
  • Support various interfaces and protocols including IPMI, Redfish, PLDM, MCTP, D-Bus, and specific platform management interfaces. 
  • Create or enhance unit tests, feature tests, diagnostics, and basic test automation scripts. 
  • Utilize Git-based workflows for development, peer reviews, defect tracking, and project release management. 
  • Document design notes, implementation records, test reports, issue analyses, and release documentation. 
  • Collaborate with teams across BIOS, hardware, validation, mechanical, thermal, manufacturing, system, and customer support. 
  • Assist in customer issue investigations by providing precise technical evidence and timely updates on status. 
  • Adhere to coding standards, secure development practices, product lifecycle protocols, and team methodologies. 
  • Continuously strive to enhance firmware quality, maintainability, test coverage, and engineering productivity. 

Requirements:

  • Proficient in C/C++ programming and familiar with Linux development tools. 
  • Basic knowledge of embedded Linux architecture, processes, IPC, system services, and device interactions. 
  • Fundamental understanding of BMC architecture and server hardware management. 
  • Acquainted with one or more protocols such as IPMI, Redfish, PLDM, MCTP, SDR, SEL, FRU, SOL, IPMB, KCS, or DCMI. 
  • Familiar with common hardware interfaces like I2C, IPMB, PMBus, SPI, UART, GPIO, LPC/eSPI, or JTAG. 
  • Basic understanding of ARM-based BMC devices, ideally ASPEED AST2500/AST2600 or similar. 
  • Familiarity with Git, code review processes, issue tracking, build systems, and debugging tools. 
  • Exposure to OpenBMC, Yocto, D-Bus, systemd, U-Boot, Linux kernel, or device-driver development is advantageous. 
  • Experience with Intel Xeon and/or AMD EPYC server platforms is preferred. 
  • Proficiency in Python or shell scripting is preferred. 

Experience Typically Required

  • Generally 2 to 5 years of experience in embedded firmware, embedded software, Linux system software, server manageability, or related development fields. 
  • Equivalent demonstrated skills may be considered based on education, project complexity, and relevant technical experience. 

Join WhatsApp Channel