BMC Firmware Engineer

Focus LLC
Nashville, United States of America
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Intermediate

Job location

Nashville, United States of America

Tech stack

Board Bringup
Agile Methodologies
Intelligent Platform Management Interface
C++
Communications Protocols
Computer Programming
Computer Engineering
Data Centers
Software Debugging
Linux
Embedded C
Linux on Embedded Systems
Event Logging
Firmware
Hardware Design
Python
Kernel-Based Virtual Machine
Transport Layer
PCI Express
System on a Chip
Systems Integration
Universal Asynchronous Receiver/Transmitter
Scripting (Bash/Python/Go/Ruby)
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