Graduate Firmware Engineer
Austin, United States · Full-time
- Posted 2w ago
- From Graphcore’s careers page
- Location
- Austin, United States
- Type
- Full-time
- Level
- Entry Level
- Experience
- 0+ years
- Department
- Software Development
Opens the listing on job-boards.greenhouse.io
Let the right jobs find you
In your inbox every Wednesday and SaturdayPersonalised suggestions from verified career pages, matched to your role, location, level and skills.
About the role
About Graphcore
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.
The Opportunity
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.
What You Will Do
- 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.
What You Will Bring
- 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.
Preferred Qualifications
- 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.
These qualifications are helpful, not required. We encourage you to apply even if you do not meet every preferred qualification.
Skills they ask for
Pick one to see other roles that ask for it.
About Graphcore
Processors and systems for machine learningGraphcore develops processors and systems designed to accelerate machine learning workloads.
See all 45 roles at GraphcoreMore roles at Graphcore
See all 45- Staff AI Performance EngineerMilpitas · StaffEngineering · StaffMilpitas, United States11h
- Principal AI Performance EngineerAustin · PrincipalEngineering · PrincipalAustin, United States11h
- Senior AI Performance EngineerAustin · SeniorEngineering · SeniorAustin, United States11h
- Principal System Tests & Diagnostics EngineerAustin · PrincipalEngineering · PrincipalAustin, United States1d
Let the right jobs find you
In your inbox every Wednesday and SaturdayPersonalised suggestions from verified career pages, matched to your role, location, level and skills.