Founded just over three years ago, Graphcore's growth and impact has been little short of staggering. We believe we're in a unique position as a new wave of machine learning technology begins to emerge. We see a world where technology enhances human potential and takes us into a new era of intelligence and progress that everyone can benefit from.

What we can achieve over the next few years will re-shape businesses around the world.

Graphcore has created a completely new processor, the Intelligence Processing Unit (IPU), specifically designed for artificial intelligence. The IPU’s unique architecture means developers can run current machine learning models orders of magnitude faster. More importantly, it lets AI researchers undertake entirely new types of work, not possible using current technologies, to drive the next great breakthroughs in general machine intelligence.


As an embedded software developer, you will be working as part of Graphcore’s engineering team in Bristol developing low-level systems software and host side application interfaces and tools for supporting Graphcore’s IPU You will work closely with our hardware engineering team and production engineering team with Lab and bring-up work being a natural part of the job.


  • Design and implement software of embedded devices and host systems from requirements to production and commercial deployment
  • Design, develop, code, test and debug system software
  • Review code and design
  • Analyze and improve efficiency, stability and scalability of system resources
  • Integrate and validate new product designs
  • Support software QA and optimize I/O performance
  • Interface with hardware design and development

Key Skills

  • Solid programming experience in C and C++
  • Experience in hands-on development and troubleshooting on embedded targets preferably involving the ARM Cortex MCU or similar
  • Proven experience in embedded systems design with preemptive, multitasking real time operating systems such as FreeRTOS
  • Understanding of low-level platform software and peripheral device drivers for PCIe, USB, I2C etc.
  • Working knowledge of test driven development, unit testing and mock frameworks
  • Familiarity with software configuration management tools, defect tracking tools, and peer review
  • Adequate knowledge of reading schematics and data sheets for components
  • Excellent communication skills

In addition to a competitive salary, we also offer a generous pension scheme and to support your well-being we provide health insurance, life cover and an employee assistance programme.

Our centrally located Bristol office provides a well-stocked kitchen with healthy food, drinks and snacks and our very own barista! We have an active social scene too - from cycling, yoga, running and football right through to a board game group.

We welcome people of different backgrounds and experiences and are committed to building an inclusive work environment that makes Graphcore a great home for everyone. We are an equal opportunity employer and want to build a work environment where everyone is happy, productive and respectful. If you have a disability or additional need that requires accommodation, just let us know.

Please note, we are only considering candidates who have an established right to work in the UK for roles based in Bristol, UK


Apply for this Job

* Required