Staff System Software Engineer
Join Graphcore's drivers and utilities team to plan, design, implement, test, and document low-level kernel drivers and user-space driver libraries. The role uses C, C++, and Python, collaborates with software, hardware, and silicon engineers, and supports product development for Graphcore's IPU solutions.
Responsibilities
- Design, implement, test, and document OS kernel and device driver software
- Participate in agile scrum development
- Contribute to technical discussions with engineers, architects, and stakeholders
- Work with software, hardware, and silicon engineering teams during product development
- Support delivery of high-performance product software
Requirements
- Proven industry software development experience using C, C++, or Python
- OS kernel and device driver development and deployment experience in Linux or Windows
- Understanding of low-level software and hardware interactions
- Problem-solving, debugging, and performance analysis experience
- Experience with PCIe, CPU, device drivers, SoC, firmware, or hardware/software integration
- Proactive issue resolution and workload management
- Strong written and verbal communication skills
- Experience working with multinational teams and customers
Benefits
- Flexible working
- Generous annual leave
- Private medical insurance
- Health cash plan
- Dental plan
- Pension matched up to 5%
- Life assurance
- Income protection
- Parental leave
- Employee assistance programme
- Healthy food and snacks
- On-site barista bar