Senior OpenBMC Engineer (100% Remote - US)
Job Description
Job DescriptionTRC’s client has a fully remote, direct hire opportunity for a Senior Engineer with extensive OpenBMC experience to join their team!We are seeking a highly experienced Senior Software Engineer with deep OpenBMC expertise to join our firmware/software team. This role requires hands-on ownership of OpenBMC development, including upstream integration, server feature enablement, and low-level hardware interaction.
The ideal candidate will bring 5+ years of direct OpenBMC experience and a broader background of 10+ years in software engineering, with strong Linux, embedded systems, and secure development practices. This is a senior, technically driven role requiring autonomy, problem-solving ability, and strong collaboration skills.
________________________________________
Key Responsibilities
• Design, develop, and maintain OpenBMC firmware for server platforms
• Implement and support OpenBMC services including D-Bus, Redfish, and MCTP
• Develop and maintain server features such as GPIO monitoring, EntityManager, IPMI, and BMCWeb
• Integrate and validate upstream OpenBMC updates into product repositories
• Utilize and enhance OpenBMC automation frameworks
• Debug, troubleshoot, and resolve complex firmware and system-level issues
• Collaborate with hardware, platform, and system teams to enable new features
• Follow Secure Software Development Lifecycle (SSDLC) best practices
• Produce and maintain technical documentation
• Provide accurate estimates, meet project milestones, and deliver on schedule
• Provide regular status updates to project leadership and management
________________________________________
Required Technical Qualifications
OpenBMC & Embedded Systems
• 5+ years of hands-on OpenBMC development experience
• Strong working knowledge of OpenBMC architecture, tooling, and workflows
• Hands-on experience with:
o D-Bus, Redfish, MCTP
o EntityManager, IPMI, BMCWeb
• Experience merging and maintaining upstream OpenBMC code
• Strong understanding of server and management protocols:
o MCTP, PLDM, SPDM
• Hardware interface knowledge:
o I3C, I2C, SPI, eSPI, PCI, USB
• Solid understanding of Linux kernel internals and Yocto-based distributions
________________________________________
General Software Engineering Requirements
• 10+ years of overall software development experience (embedded or systems-level preferred)
• Strong proficiency in C++
• Working knowledge of:
o Python, GoLang, YAML, JSON
• Experience using:
o Git, CI/CD pipelines
o gcc, gdb, and related debugging tools
• Familiarity with source code control, project tracking tools, and defect tracking systems
• Proven experience in:
o Bug fixing and root-cause analysis
o Meeting delivery targets and timelines
o Writing clear technical documentation