Staff System Software Engineer
Graphcore is seeking a Staff System Software Engineer to join their drivers and utilities team within the system software department. This role involves contributing to the planning, design, implementation, and testing of low-level kernel drivers and user-space driver library code. The position is based in Cambridge, UK, and reports to the drivers and utilities team manager.
The drivers and utilities team collaborates closely with software engineers developing the Poplar SDK and with silicon and hardware engineers working on Graphcore's Intelligence Processing Unit (IPU) solutions. The team is responsible for developing custom control software on the host in both kernel and user space, aiming to maximize performance and utility for Graphcore's cutting-edge products.
Key responsibilities include designing, implementing, testing, and documenting OS kernel and device driver software using C, C++, and Python. The engineer will participate in agile development processes, working as part of a scrum team to develop software efficiently. Effective communication and regular contributions to technical discussions with peers in software and hardware engineering, architects, and other stakeholders are essential. The role also involves hands-on engagement during key product development phases, working closely with hardware and silicon engineering groups to enable fast time-to-market delivery.
The ideal candidate should have proven industry experience in software development using languages such as C, C++, or Python. Experience in OS kernel and device driver development and deployment in Linux or Windows systems is required. A good understanding of the lower-level software stack and its interactions with the hardware layer is essential. The candidate should possess effective problem-solving skills and be familiar with a full suite of debugging and performance analysis tools and techniques. Experience with technologies such as PCIe, CPU, device drivers, SoC, firmware, and hardware/software integration is also important. Proactivity in obtaining engineering or management input to solve issues, motivation to schedule one's own workload, and excellent written and verbal communication skills are necessary.
In addition to a competitive salary, Graphcore offers flexible working arrangements, a generous annual leave policy, private medical insurance, a health cash plan, a dental plan, and a pension scheme matched up to 5%. Additional benefits include life assurance, income protection, a generous parental leave policy, and an employee assistance program covering health, mental wellbeing, and bereavement support. The central Bristol office provides a range of healthy food and snacks, along with a barista bar. Graphcore is committed to building an inclusive work environment and offers equal opportunities to all applicants.