Software Firmware Engineer

HPFort Collins, CO
1d

About The Position

System Management Firmware Development: Design and implement embedded firmware for BMCs, system controllers, and management microcontrollers responsible for hardware telemetry, power management, and remote system control. Out-of-Band Manageability: Develop and integrate firmware features that enable remote monitoring, diagnostics, and power control, supporting enterprise-class manageability solutions (e.g., Redfish). Firmware-Software Integration: Collaborate with system software teams to interface system management firmware with higher-level management tools, utilities, and orchestration frameworks. Security & Reliability: Develop secure firmware update mechanisms, authentication schemes, and system recovery features to protect firmware integrity and ensure continuous uptime. Hardware Bring-Up & Validation: Work with hardware engineers to validate new controller designs, debug communication buses (I²C, SPI, UART, SMBus), and tune control algorithms. Automation & Testing: Build and maintain test automation frameworks (Python, PowerShell, or Bash) to validate firmware functionality and solution features. Documentation & Collaboration: Write detailed technical specifications, API documentation, and release notes; contribute to design reviews and cross-functional technical discussions. Impacts multiple teams and may act as a team or project leader providing direction to team activities and facilitates information validation and team decision making process.

Requirements

  • Required Knowledge of PC/workstation system architecture (CPU, chipset, memory, peripherals).
  • Strong C/C++ programming skills
  • Understanding of clean code principles
  • Experience with OpenEmbedded, Yocto, microcontrollers, embedded systems or other low-level code.
  • Experience with debuggers, protocol analyzers, and software development tools.
  • Knowledge of hardware-software integration and low-level system design.
  • Familiarity with I²C, SPI, UART, GPIO, and SMBus communication protocols.
  • Experience with hardware bring-up, firmware debugging, and integration testing.
  • Test driven development experience
  • Software security knowledge
  • Experience with secure firmware update, cryptographic signing, and firmware recovery mechanisms.
  • Experience developing firmware for BMCs, system controllers, or platform management
  • Knowledge of Redfish or similar out-of-band management standards.
  • Familiarity with Linux-based firmware environments and open-source BMC stacks (e.g., OpenBMC).
  • Scripting experience with Python, PowerShell, or Bash for test and automation.
  • Strong analytical and problem-solving skills with a hands-on, investigative mindset.
  • Excellent communication and documentation skills.
  • Ability to collaborate across hardware, software, and validation teams.
  • A passion for building highly reliable, serviceable, and intelligent systems.
  • Results Oriented
  • Learning Agility
  • Customer Centricity
  • Four-year or Graduate Degree in Computer Science, Computer Engineering, or Computer Science, or any other related discipline or commensurate work experience or demonstrated competence.
  • Typically has 4-7 years of work experience, preferably in embedded or firmware engineering, programming, or a related field or an advanced degree with 3-5 years of work experience.

Responsibilities

  • Design and implement embedded firmware for BMCs, system controllers, and management microcontrollers.
  • Develop and integrate firmware features that enable remote monitoring, diagnostics, and power control.
  • Collaborate with system software teams to interface system management firmware with higher-level management tools.
  • Develop secure firmware update mechanisms, authentication schemes, and system recovery features.
  • Work with hardware engineers to validate new controller designs, debug communication buses, and tune control algorithms.
  • Build and maintain test automation frameworks to validate firmware functionality and solution features.
  • Write detailed technical specifications, API documentation, and release notes; contribute to design reviews and cross-functional technical discussions.
  • Impacts multiple teams and may act as a team or project leader providing direction to team activities and facilitates information validation and team decision making process.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service