Graphcore logo

Staff Software Engineer - Analysis Tools

Graphcore

Posted about 10 hours ago

About Graphcore

Graphcore is one of the world’s leading innovators in Artificial Intelligence compute. 

It is developing hardware, software and systems infrastructure that will unlock the next generation of AI breakthroughs and power the widespread adoption of AI solutions across every industry. 

As part of the SoftBank Group, Graphcore is a member of an elite family of companies responsible for some of the world’s most transformative technologies. Together, they share a bold vision: to enable Artificial Super Intelligence and ensure its benefits are accessible to everyone.  

Graphcore’s teams are drawn from diverse backgrounds and bring a broad range of skills and perspectives. A melting pot of AI research specialists, silicon designers, software engineers and systems architects, Graphcore enjoys a culture of continuous learning and constant innovation. 

Job Summary

As a Staff Software Engineer in the Analysis Tools Team you will drive the effort to design and develop profiling tools to help users optimise their applications for the Graphcore hardware. The ideal candidate will have extensive experience in designing, developing, and maintaining complex software systems involving custom hardware. You will be responsible for leading development efforts, mentoring junior engineers, and driving technical excellence in our projects.

The Team

The Analysis Tools team builds profiling tools to help users optimise ML applications for Graphcore hardware. The team is responsible for collecting profiling information, processing the profiling data and presenting the information to the user via a suite of tools.

Responsibilities and Duties

  • Technical leadership on profiling software design, ensuring scalability.
  • Mentoring junior engineers and promoting an environment of continuous learning and improvement.
  • Design, development and testing of features.
  • Fixing bugs and supporting customers.

Candidate Profile

Essential:

  • Experience of developing complex software solutions using a systems language (ideally Rust or strong C++ with a desire to work with Rust).
  • Rust experience - commercial or personal.
  • Experience with large computing clusters and their performance monitoring ecosystems.
  • Understanding of system architecture, memory management, multithreading, and hardware utilisation.
  • Excellent problem-solving skills and ability to debug and resolve complex issues.
  • Strong communication and collaboration skills, with the ability to influence stakeholders and peers.
  • Proficiency with version control (Git).
  • Experience working in Agile environment and iterative development.

Desirable:

  • Experience with performance profiling tools.
  • Experience with relational databases for profiling or data collection.
  • Knowledge of machine learning frameworks.
  • Knowledge of continuous integration/continuous delivery pipelines and build tools (preferably Bazel).

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).

Want to see the full job description?

Sign in to view the complete details and apply to this position.

Job details

Workplace

Office

Location

Bristol, UK

Experience

SE

Similar

Jobr Assistant extension

Get the extension →