At a Glance
- Tasks: Design and implement cutting-edge OS Kernel and Device Driver software.
- Company: Join Graphcore, a leader in AI compute technology backed by SoftBank.
- Benefits: Enjoy flexible working, generous leave, health plans, and a vibrant office culture.
- Other info: Be part of a diverse team with excellent career growth opportunities.
- Why this job: Make a real impact in the fast-evolving world of artificial intelligence.
- Qualifications: Experience in C/C++/Python and OS Kernel development is essential.
The predicted salary is between 36000 - 60000 £ 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:
- Proven industry experience in software development using programming languages such as C/C++/Python
- OS Kernel and Device Driver development and deployment experience in Linux or Windows systems
- Good understanding of lower-level software stack and interactions with the hardware layer
- Possess effective problem-solving skills, familiar with a full suite of 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
- Proactive in obtaining engineering or management input to solve issues
- Motivated to schedule own workload
- Excellent written and verbal communication skills, work well within a multinational team and with multinational customers. Excellent cultural awareness is essential.
Desirable:
- Experience developing firmware or drivers for GPUs.
- Knowledge of CUDA or OpenCL
- 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 offer a range of healthy food and snacks at our central Bristol office and have our own barista bar! 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.
Staff System Software Engineer in Bristol employer: Cerebras
Graphcore is an exceptional employer located in the vibrant city of Bristol, offering a dynamic work culture that fosters innovation and collaboration. Employees benefit from competitive salaries, flexible working arrangements, and generous leave policies, alongside opportunities for professional growth in cutting-edge AI technology. With a focus on employee well-being, including private medical insurance, Graphcore stands out as a rewarding place to build a meaningful career.
StudySmarter Expert Advice🤫
We think this is how you could land Staff System Software Engineer in Bristol
✨Tip Number 1
Network like a pro! Reach out to current employees at Graphcore on LinkedIn or other platforms. Ask them about their experiences and any tips they might have for landing a role in the drivers and utilities team.
✨Tip Number 2
Prepare for technical interviews by brushing up on your C/C++/Python skills. Practice coding challenges that focus on OS Kernel and Device Driver development, as these will likely come up during the interview process.
✨Tip Number 3
Showcase your problem-solving skills! Be ready to discuss past projects where you tackled complex issues, especially those involving hardware/software integration. This will demonstrate your hands-on experience and proactive approach.
✨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, it shows you’re genuinely interested in joining the Graphcore team.
We think you need these skills to ace Staff System Software Engineer in Bristol
Some tips for your application 🫡
Tailor Your CV:Make sure your CV is tailored to the role of Staff System Software Engineer. Highlight your experience with C/C++/Python and any relevant projects you've worked on, especially those involving OS Kernel and Device Driver development.
Showcase Your Problem-Solving Skills:In your application, don’t just list your skills; give examples of how you've used them to solve real-world problems. This will show us that you’re proactive and can think critically, which is key for this role.
Communicate Clearly:Since effective communication is essential, ensure your written application is clear and concise. Use straightforward language and structure your thoughts logically to make it easy for us to understand your qualifications.
Apply Through Our Website:We encourage you to apply through our website for a smoother process. It helps us keep track of your application and ensures you receive updates directly from us. Plus, it’s super easy!
How to prepare for a job interview at Cerebras
✨Know Your Tech Inside Out
Make sure you brush up on your knowledge of C/C++/Python, especially in the context of OS Kernel and Device Driver development. Be ready to discuss your past experiences with these languages and how you've applied them in real-world scenarios.
✨Understand the Hardware-Software Interaction
Since you'll be working closely with hardware engineers, it's crucial to have a solid grasp of how software interacts with hardware. Familiarise yourself with concepts like PCIe, SoC, and device drivers, and be prepared to explain how you've tackled integration challenges in the past.
✨Show Off Your Problem-Solving Skills
Graphcore values effective problem-solving abilities. Think of specific examples where you've used debugging and performance analysis tools to overcome obstacles. Be ready to share these stories during your interview to demonstrate your proactive approach.
✨Communicate Clearly and Confidently
Effective communication is key, especially in a multinational team. Practice articulating your thoughts clearly and concisely. Prepare to engage in technical discussions and don't hesitate to ask questions if something isn't clear—this shows your willingness to collaborate and learn.