Graduate Firmware Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+12 more
Job description
We are looking for a recent graduate or early-career engineer to join the BMC Engineering team as a Graduate Firmware Engineer. You will develop low-level and embedded firmware that supports the operation, control, monitoring, and validation of advanced compute systems.
You will work with experienced firmware, hardware, systems, and software engineers throughout the development lifecycle. The role combines hands-on implementation with automated testing, lab-based debugging, hardware bring-up, and analysis of interactions between firmware and the underlying platform., * Design, implement, test, and maintain system and embedded firmware in C, C++, or Python.
- Take ownership of defined firmware features and deliver them from requirements and design through implementation, validation, and documentation.
- Develop and debug firmware in a Linux-based engineering environment using appropriate diagnostic tools and techniques.
- Create automated tests and scripts that improve firmware validation, test coverage, and engineering efficiency.
- Contribute to continuous integration and delivery workflows for firmware development and testing.
- Plan and conduct engineering experiments, analyze test data, and communicate findings clearly.
- Support lab setup, system configuration, hardware bring-up, and firmware validation on development platforms.
- Investigate firmware behavior and hardware-software interactions, identify root causes, and implement verified fixes.
- Work across BMC, firmware, hardware, silicon, systems, and software teams to reproduce and resolve technical issues.
- Write clear design notes, test procedures, change descriptions, and technical findings.
- Follow established engineering and coding practices and contribute constructively to code and design reviews.
Requirements
- A bachelor’s or master’s degree in computer engineering, electrical engineering, computer science, or a closely related field, completed recently or expected before the role begins.
- A strong foundation in C or C++ and working knowledge of Python or another scripting language.
- Understanding of computer architecture, embedded systems, firmware, and low-level software concepts.
- Familiarity with Linux environments, command-line development tools, and version-control systems.
- Experience applying structured debugging methods to software, firmware, or hardware-software problems.
- Ability to interpret technical requirements, break work into manageable tasks, and deliver reliable results with appropriate guidance.
- Clear written and verbal communication skills and the ability to collaborate effectively across engineering disciplines.
- Curiosity, sound engineering judgment, and willingness to learn new technologies, tools, and development methods., * Academic, internship, or personal project experience developing embedded software or firmware.
- Experience with microcontrollers, embedded processors, system-level firmware, or hardware bring-up.
- Experience using lab equipment to test or debug hardware-based systems.
- Experience with automated testing, Python scripting, or continuous integration workflows.
- Exposure to baseboard management controllers, platform management, data center hardware, or high-speed compute systems.
- Experience debugging interfaces or interactions between hardware and software.
Benefits & conditions
Graphcore offers competitive compensation and programs designed to support employees’ health, financial well-being, flexibility, and development. Benefits for eligible U.S. employees may include:
- Medical, dental, and vision coverage, plus mental health, wellness, and employee assistance resources.
- A 401(k) retirement plan with company matching, together with company-provided life and disability coverage.
- Paid time off, company holidays, flexible working hours, parental leave, and learning and career-development resources.
About the company
Graphcore is a global leader in artificial intelligence computing systems. We design advanced semiconductors, software, and data center systems that provide the specialized processing power needed to advance AI while improving the efficiency required for broad adoption.
As part of SoftBank Group, Graphcore belongs to a family of companies developing transformative technologies. Our U.S. engineering teams contribute to the hardware and software platforms that support the next generation of AI systems.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Is Software Engineering Hard?
Should senior developers refuse interview coding challenges?
4 reasons to start or update your GitHub profile
7 Important Tips That Every Software Developer Should Know