BMC Firmware Engineer

Focus LLC
Nashville, TN, United States
about 1 month ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Experienced
Experience required
2 years minimum
Working hours
Regular working hours
Job source

Tech stack

Board Bringup Agile Methodology Intelligent Platform Management Interface C++ (Programming Language) Communications Protocols Computer Programming Computer Engineering Data Centers Software Debugging Linux Embedded C Linux on Embedded Systems
+13 more
Event Logging Firmware Hardware Design Python (Programming Language) Kernel-Based Virtual Machine Transport Layer PCI Express System on a Chip Systems Integration Universal Asynchronous Receiver/Transmitter Scripting Serial Peripheral Interface Hardware Infrastructure

Job description

The BMC (Baseboard Management Controller) Firmware Engineer is responsible for the design, development, and debugging of embedded firmware for servers and data center platforms. This role focuses on enabling independent, out-of-band management capabilities, ensuring systems can be monitored and controlled remotely-even when the host operating system is offline.

This position is part of the Engineering Services team, which works across departments to support the engineering and operation teams with technical expertise in electronics, operational software, and systems integration., * Design, develop, and maintain BMC firmware solutions using embedded C and C++ in a Linux-based environment.

  • Implement industry specifications and protocols such as OpenBMC, Redfish, IPMI, and other Distributed Management Task Force (DMTF) standards.
  • Develop firmware to interface with server hardware components, including sensors (voltage, temperature, fan speed), power supplies, and peripherals, using protocols such as I²C, SPI, and UART.
  • Implement key BMC features including remote monitoring, power management, event logging (System Event Log/SEL), and remote keyboard-video-mouse (KVM) access.
  • Collaborate with hardware design and platform architecture teams to ensure proper BMC integration during hardware bring-up and validation.
  • Maintain security measures for BMC access, including user authentication, secure firmware updates, and vulnerability prevention.
  • Use debugging tools and methodologies to diagnose and resolve system-level issues related to BMC and hardware interaction.
  • Prepare and maintain technical documentation, including design specifications, test plans, and release notes.
  • Provide guidance to junior engineers and take ownership of small to mid-sized projects.

Requirements

  • Proficiency in C and C++ programming for embedded systems.
  • Hands-on experience with embedded Linux and OpenBMC framework.
  • Strong understanding of server hardware architecture and communication protocols (I²C, SPI, UART, PCIe).
  • Ability to troubleshoot and debug complex system-level interactions.
  • Effective communication skills for cross-functional collaboration.
  • Ability to work independently on most assignments and provide technical leadership on smaller projects, * Familiarity with DMTF standards such as Redfish, MCTP (Management Component Transport Protocol), PLDM (Platform Level Data Model), and SPDM (Security Protocol and Data Model).
  • Experience with System-on-a-Chip (SoC) architectures, particularly ARM-based systems.
  • Knowledge of scripting languages (e.g., Python, Shell) for automation and testing.
  • Exposure to Agile development methodologies.
  • Understanding firmware security principles., * Bachelor’s or master’s degree in computer engineering, Electrical Engineering, or a related technical field.
  • 2-5 years of hands-on embedded firmware development experience, specifically with BMC systems.
  • Demonstrated ability to lead tasks or small projects with limited supervision.
  • Physical Requirements: (Example of requirement)
  • Ability to access and navigate various departments within the organization’s facilities.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.indeed.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · WWC 2025

2:19 min

Orchestrating over-the-air firmware updates for vehicle modules

Denis Grahovac · WWC 2021

1:04 min

Introduction to Bitcoin script parsing tools

Steve Shadders · LIVE

1:20 min

Identifying multi-disciplinary talent for developer experience engineering roles

Hazal Mestci +1 · Coffee With Developers

3:55 min

Demonstrating .NET installation on Debian and Azure Linux

Silvano Coriani Silvano Coriani · Europe 2026 Virtual

4:18 min

Prioritizing communication and structural awareness over strict tool mastery

Liam Hurrel +1 · WWC 2021

Videos

See all

Related articles

See all