Graphcore is a globally recognised leader in Artificial Intelligence computing systems. The company designs advanced semiconductors and data centre hardware that provide the specialised processing power needed to drive AI innovation, while delivering the efficiency required to support its broader adoption.
As part of the SoftBank Group, Graphcore is a member of an elite family of companies responsible for some of the world’s most transformative technologies. We are opening a new AI Engineering Campus in Austin, which will play a central role in Graphcore's work building the future of AI computing.
Job Summary
Reporting to the Firmware Manager and working as a member of the Firmware Team, the Senior Staff Firmware Engineer is responsible for the design, development, and delivery of complex firmware systems across Graphcore’s next-generation hardware platforms.
This role requires significant technical breadth and deep embedded systems expertise. You will contribute to shaping the firmware architecture and design, guide engineering practices, and solve highly challenging problems while maintaining a strong hands-on focus. You will partner closely with hardware, drivers, silicon and platform teams to deliver robust, scalable, production-quality firmware.
The Firmware Team develops the low-level software responsible for the complete boot, configuration, and monitoring of Graphcore silicon and hardware platforms. Our work includes:
- Boot and power sequencing
- Low-level hardware interfaces and drivers
- Telemetry, monitoring and SMBus/BMC data exposure
- Silicon and system bring-up
- Act as a technical authority for complex firmware features, flows, and subsystems
- Contribute to architectural development and design for substantial parts of the firmware stack, ensuring long-term maintainability and scalability
- Influence technical decision-making both within your immediate team and beyond
- Work closely with the Tech Lead to provide technical direction and maintain the long-term architecture of Graphcore’s firmware and tooling
- Design, implement, and deliver high-quality, production-ready firmware in C
- Take ownership of technically challenging areas such as boot flows, real-time embedded logic, platform security, or silicon bring-up
- Perform deep system debugging using oscilloscopes, logic analysers, JTAG, emulation, and other low-level tools
- Review and improve code, designs, and implementation approaches across the team
- Collaborate closely with hardware, silicon, platform, drivers and test teams to define requirements and resolve interdependent issues
- Work directly with external partners, firmware vendors, or silicon suppliers on integration and technical problem-solving
- Communicate complex technical concepts clearly to both expert and non-expert audiences
- Ensure correctness, robustness, security, and maintainability of firmware solutions
- Support improvements to validation frameworks, CI/CD systems, automated testing and firmware packaging
- Drive root-cause investigations and long-term corrective actions for complex issues in the field or during bring-up
- Mentor other engineers within the Firmware team and across the broader System Software organisation
- Raise engineering standards through guidance, best practices, design patterns and consistent high-quality execution
- Contribute to long-term improvements in engineering culture, team capabilities, and quality bar
- Contribute to improving Agile workflows, estimation, and team execution models
- Drive enhancements to build systems, integration environments and development tooling
- Introduce new technologies, frameworks, or design approaches that increase efficiency or product capability
Essential:
- Significant industry experience in embedded/firmware engineering using C/C++
- Expertise in designing and delivering real-time embedded systems and complex boot logic
- Strong understanding of modern silicon and hardware interfaces (I2C, I3C, SMBus, SPI, PCIe, DDR, power management, etc.)
- Demonstrated ability to design and implement complex technical initiatives
- Excellent problem-solving skills with a track record of resolving complex, cross-layer issues
- Ability to define and communicate architectural direction at subsystem or multi-subsystem scale
- Strong communication skills and the ability to document large system designs clearly
- Experience with CI/CD systems, build tools, and modern software engineering practices
- Experience with server architectures or datacentre hardware
- Understanding of server/platform security concepts and their application to firmware
- Experience working directly with silicon vendors or hardware partners
- Knowledge of OS kernel, secure firmware flows, or trusted execution environments
- Experience with device driver development
In addition to a competitive salary, Graphcore offers a competitive benefits package. We welcome people of different backgrounds and experiences; we’re committed to building an inclusive work environment that makes Graphcore a great home for everyone. We offer an equal opportunity process and understand that there are visible and invisible differences in all of us. We can provide a flexible approach to interview and encourage you to chat to us if you require any reasonable adjustments.
Similar Jobs at Graphcore
What you need to know about the Charlotte Tech Scene
Key Facts About Charlotte Tech
- Number of Tech Workers: 90,859; 6.5% of overall workforce (2024 CompTIA survey)
- Major Tech Employers: Lowe’s, Bank of America, TIAA, Microsoft, Honeywell
- Key Industries: Fintech, artificial intelligence, cybersecurity, cloud computing, e-commerce
- Funding Landscape: $3.1 billion in venture capital funding in 2024 (CED)
- Notable Investors: Microsoft, Google, Falfurrias Management Partners, RevTech Labs Foundation
- Research Centers and Universities: University of North Carolina at Charlotte, Northeastern University, North Carolina Research Campus

