Graduate Software Engineer 2020

  • Graphcore
  • Bristol, UK
  • Dec 04, 2019

Job Description

 

Closing date: 10th January 2020

 

The programme

Embedded directly into one of our specialist teams, you’ll be working alongside industry experts using your technical knowledge to help drive the transformative performance of our IPU.

What will you be doing?
You’ll start off learning about our systems, development processes and building your technical understanding of our IPU and Poplar platform before embedding directly into one of our specialist teams to become a technical expert.

 There are multiple teams that you could join and where you start will depend upon your skills, experiences and interests;

  • Machine Learning Frameworks; responsible for understanding popular AI frameworks such as Tensorflow and Pytorch and how they integrate with our Poplar framework and runtime environment.
  • Systems Software; work on providing the interface between the IPU and Host machine working on developing drivers for the Poplar framework which involves working in low level user space libraries and kernel space.
  • Poplar; responsible for our Poplar framework which provides the interface to program the IPU and connects to machine learning frameworks, working on the libraries, graph compiler, linkers an assemblers to target multiple processors working in parallel.
  • Analysis Tools; responsible for building our graphical tools which show your programs execute on our IPU.
  • DevOps; Creates and maintains the software and systems that allow us to develop our software including building, testing and managing the release processes.
  • LLVM; Working on the IPU architecture compiler and understanding code generation and optimisation of C/C++ to the machine, the compiler and its ability to target the IPU for maximum performance is a fundamental part of Poplar framework.
  • Firmware; Developing low level software and host side applications, interfaces, tools and developing and executing test strategies which support our IPU devices.

Whichever team you join, you’ll be supported with formal training and a buddy throughout.

What do you need to have?

We are looking for highly-technical, passionate and motivated individuals with a desire to learn, work and develop in a technically challenging, fast moving environment. In addition, you should be;

  • On track to obtain a 2:1 or equivalent in a Computer Science, Software Engineering or Electronics Engineering degree discipline.
    • Note: other disciplines may be considered but you will need to show evidence of strong programming capabilities in C ++ and Python
  • Proficient and confident programming in C++ and Python, demonstrated through previous work experiences, internships or personal projects
  • Highly motivated and a self-starter, demonstrated through extra-curricular activities or hobbies beyond your studies
  • Passionate with a keen interest to learn about the exciting new field of AI
  • Strong team-working and excellent interpersonal skills

Benefits
In addition to a competitive salary we also offer a generous pension scheme and all employees receive share options, giving everyone a stake in the future success of the business. 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 also have a company social evening every 3 weeks where all employees can come together outside of the workplace.