System Software Engineer in Cambridge
System Software Engineer

System Software Engineer in Cambridge

Cambridge Full-Time 60000 - 80000 £ / year (est.) Home office (partial)
graphcore

At a Glance

  • Tasks: Design and implement cutting-edge OS Kernel and Device Driver software using C/C++/Python.
  • Company: Join Graphcore, a leader in AI compute backed by SoftBank Group.
  • Benefits: Enjoy flexible working, generous leave, private medical insurance, and a supportive work environment.
  • Other info: Be part of a diverse team committed to inclusivity and professional growth.
  • Why this job: Make a real impact in the fast-growing AI sector with innovative technology.
  • Qualifications: Experience in software development, especially with OS Kernel and Device Drivers.

The predicted salary is between 60000 - 80000 £ per year.

About Graphcore

At Graphcore, we’re building the future of AI compute. We’re a team of semiconductor, software and AI experts, with deep experience in creating the complete AI compute stack - from silicon and software to infrastructure at datacentre scale. As part of the SoftBank Group, backed by significant long-term investment, we are delivering key technology into the fast-growing SoftBank AI ecosystem. To meet the vast and exciting AI opportunity, Graphcore is expanding its teams around the world. We are bringing together the brightest minds to solve the toughest problems, in a place where everyone has the opportunity to make an impact on the company, our products and the future of artificial intelligence.

Job Summary

As a member of the drivers and utilities team you will contribute to the planning, design, implementation and testing of low level kernel drivers and user space driver library code. You will be part of one of the two teams in the system software department (the firmware team being the other one) and report to the drivers and utilities team manager.

The Team

The drivers and utilities team forms part of the system software group – working closely with both software engineers developing our Poplar SDK and with silicon and hardware engineers developing Graphcore’s IPU solution. The drivers and utilities team develop custom control software on the host in kernel and user space. Our solutions enable our customers to get maximum performance and utility for our cutting-edge products.

Responsibilities and Duties

  • Design, implement, test and document OS Kernel and Device Driver software at the highest standard using C/C++/Python programming languages.
  • Participate in agile development – working as part of a scrum team to develop the right software at pace.
  • Communicate effectively and contribute regularly to technical discussions with your peers in software and hardware engineering, with architects and other stakeholders.
  • Hands-on during key product development phases involving close working with hardware and silicon engineering groups to enable fast time to market delivery.

Candidate Profile

Essential:

  • Industry experience in software development using programming languages such as C/C++.
  • Familiar with OS Kernel and Device Driver development and deployment on Linux or Windows systems.
  • Good understanding of lower-level software stack and interactions with the hardware layer.
  • Possess effective problem-solving skills, familiar with some debug and performance analysis tools and techniques.
  • Experience with one or more of the following: PCIe, CPU, device drivers, SoC, firmware, and hardware/software integration.

Desirable

  • Experience developing firmware or drivers for GPUs or other accelerators.
  • Experience working on upstreaming of kernel code / contributing to Linux kernel.
  • Exposure to integration with data centre / cloud service operations – for example integration with Kubernetes or open stack.

Benefits

In addition to a competitive salary, Graphcore offers flexible working, a generous annual leave policy, private medical insurance and health cash plan, a dental plan, pension (matched up to 5%), life assurance and income protection. We have a generous parental leave policy and an employee assistance programme (which includes health, mental wellbeing, and bereavement support). 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.

Applicants for this position must hold the right to work in the UK. Unfortunately at this time, we are unable to provide visa sponsorship or support for visa applications.

System Software Engineer in Cambridge employer: graphcore

Graphcore is an exceptional employer, offering a dynamic work environment where innovation thrives and every team member can make a significant impact on the future of AI technology. With a strong commitment to employee well-being, we provide flexible working arrangements, comprehensive health benefits, and ample opportunities for professional growth within a diverse and inclusive culture. Located in the UK, our team collaborates closely with leading experts in semiconductor and software engineering, ensuring that you are at the forefront of cutting-edge developments in AI compute.
graphcore

Contact Detail:

graphcore Recruiting Team

StudySmarter Expert Advice 🤫

We think this is how you could land System Software Engineer in Cambridge

✨Tip Number 1

Network like a pro! Reach out to current employees at Graphcore on LinkedIn or other platforms. A friendly chat can give you insider info and might just get your foot in the door.

✨Tip Number 2

Show off your skills! If you’ve got a GitHub or personal project that showcases your C/C++ prowess, make sure to highlight it during interviews. It’s a great way to demonstrate your hands-on experience.

✨Tip Number 3

Prepare for technical discussions! Brush up on OS Kernel and Device Driver concepts, and be ready to discuss how you’ve tackled similar challenges in the past. Confidence is key!

✨Tip Number 4

Don’t forget to apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, we love seeing candidates who take that extra step.

We think you need these skills to ace System Software Engineer in Cambridge

C/C++ Programming
Python Programming
OS Kernel Development
Device Driver Development
Linux Systems
Windows Systems
Lower-Level Software Stack Understanding
Hardware Layer Interaction
Problem-Solving Skills
Debugging Tools
Performance Analysis Techniques
PCIe
SoC
Firmware Development
Hardware/Software Integration

Some tips for your application 🫡

Tailor Your CV: Make sure your CV is tailored to the System Software Engineer role. Highlight your experience with C/C++ and any relevant projects involving OS Kernel and Device Driver development. We want to see how your skills align with what we're looking for!

Craft a Compelling Cover Letter: Your cover letter is your chance to shine! Use it to explain why you're passionate about AI compute and how your background makes you a great fit for our team. Don’t forget to mention any experience with agile development or collaboration with hardware engineers.

Showcase Your Problem-Solving Skills: In your application, be sure to highlight specific examples of how you've tackled complex problems in software development. We love seeing candidates who can think critically and use tools effectively to debug and analyse performance.

Apply Through Our Website: We encourage you to apply directly through our website. It’s the best way to ensure your application gets into the right hands. Plus, it shows us that you’re genuinely interested in joining our team at Graphcore!

How to prepare for a job interview at graphcore

✨Know Your Stuff

Make sure you brush up on your C/C++ skills and understand OS Kernel and Device Driver development. Familiarise yourself with the lower-level software stack and how it interacts with hardware. This knowledge will help you answer technical questions confidently.

✨Show Your Problem-Solving Skills

Prepare to discuss specific examples of how you've tackled complex problems in your previous roles. Be ready to explain the tools and techniques you used for debugging and performance analysis, as this is crucial for the role.

✨Engage in Technical Discussions

During the interview, don’t hesitate to ask questions or contribute to discussions about the technology and processes at Graphcore. This shows your enthusiasm and willingness to collaborate with both software and hardware engineers.

✨Understand Agile Development

Familiarise yourself with agile methodologies, especially if you have experience working in scrum teams. Be prepared to discuss how you’ve contributed to fast-paced development cycles and how you can bring that experience to Graphcore.

System Software Engineer in Cambridge
graphcore
Location: Cambridge

Land your dream job quicker with Premium

You’re marked as a top applicant with our partner companies
Individual CV and cover letter feedback including tailoring to specific job roles
Be among the first applications for new jobs with our AI application
1:1 support and career advice from our career coaches
Go Premium

Money-back if you don't land a job in 6-months

>