As a Hardware Developer at IBM, you’ll get to work on the systems that are driving the quantum revolution and the AI era. Join an elite team of engineering professionals who enable IBM customers to make better decisions quicker on the most trusted hardware platform in today’s market.
Team Overview:
Join IBM’s elite product development division, contributing to innovations across IBM Z, POWER Systems, Storage, Quantum, and Research. You’ll be part of the embedded FCU Firmware Team, which powers the reliability and performance of IBM Z Mainframes. The FCU (FRU Control Unit) is a microcontroller embedded on adapter cards, managing initialization, firmware updates, telemetry, power sequencing, and environmental monitoring. It interfaces with the BMC drawer controller via I2C and plays a vital role in system health.
Role Summary:
As a Firmware Test Automation Engineer, your focus will be on designing and implementing automated testing frameworks to validate FCU firmware quality. You won’t be developing new firmware but rather ensuring its robustness through rigorous testing and analysis.
Key Responsibilities:
- Unit Test Automation: Develop scalable unit tests for FCU firmware (C/C++).
- Build System Transition: Migrate firmware build flow from IAR to GCC and maintain automated builds.
- Test Case Development: Automate tests for diverse hardware and system scenarios.
- Regression Testing: Collaborate with US-based teams to run and analyze tests on real hardware.
- Simulation & Debugging: Use Simics to reproduce issues and automate simulation workflows.
- Hardware Variance Testing: Create frameworks to stress firmware across hardware variance using Simics.
- Visualization & Reporting: Build dashboards/GUI for test coverage, defect tracking, and failure statistics.
- Defect Analysis: Diagnose and classify bugs, providing actionable insights to developers.
- Tool Development: Build Python tools to enhance diagnostics, documentation, and team productivity.
- BE/B.Tech/M.Tech in Computer Science Engineering.
- 5+ years of experience in C/C++, Python, and Bash.
- Strong understanding of server architecture and embedded hardware.
- Experience with testing frameworks, data visualization, simulation and debugging.
- Excellent communication, problem-solving, and time management skills.
- Ability to work independently and in cross-functional teams.
Minimum 3+ years of experience in below skills.
- Programming/Scripting: Proficiency in C/C++, Python, and Bash.
- Build & Toolchains: Experience with gcc, makefiles, and code migration/refactoring.
- Testing Frameworks: Familiarity with Robot Framework, PyTest, or similar.
- Data Visualization: Ability to create dashboards using Matplotlib, Plotly, Grafana, or Power BI.
- Simulation: Exposure to Simics models or similar environments.
- Debugging: Skilled with gdb and regex for log parsing and analysis.
- Hardware Knowledge: Understanding of I2C, power sequencing, and temperature/voltage monitoring in embedded systems.