Staff Software Engineer - Analysis Tools Bristol, UK

Staff Software Engineer - Analysis Tools Bristol, UK

Bristol Full-Time 70000 - 90000 £ / year (est.) No working from home possible
graphcore

At a Glance

  • Tasks: Design and develop profiling tools to optimise applications for cutting-edge AI hardware.
  • Company: Join Graphcore, a leader in AI innovation and part of the SoftBank Group.
  • Benefits: Enjoy flexible working, generous leave, private medical insurance, and a vibrant office culture.
  • Other info: Be part of a diverse team committed to continuous learning and innovation.
  • Why this job: Make a real impact in AI while mentoring others and driving technical excellence.
  • Qualifications: Experience in complex software development, ideally with Rust or strong C++ skills.

The predicted salary is between 70000 - 90000 £ per year.

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

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

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 Software Engineer - Analysis Tools Bristol, UK employer: graphcore

Graphcore is an exceptional employer, offering a dynamic work culture that fosters continuous learning and innovation in the heart of Bristol. With a commitment to employee growth through mentorship and technical leadership, Graphcore provides a comprehensive benefits package including flexible working, generous leave policies, and health support, making it an ideal place for those looking to make a meaningful impact in the AI industry.

graphcore

Contact Details:

graphcore Recruitment Team

StudySmarter Expert Advice🤫

We think this is how you could land Staff Software Engineer - Analysis Tools Bristol, UK

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 maybe even a referral, which can really boost your chances.

Tip Number 2

Prepare for the technical interview by brushing up on your coding skills, especially in Rust or C++. Practice common algorithms and data structures, and don’t forget to showcase your problem-solving skills during the interview!

Tip Number 3

Show off your passion for AI and software engineering! During interviews, share your personal projects or contributions to open-source software. This demonstrates your commitment and can set you apart from other candidates.

Tip Number 4

Don’t just apply anywhere; 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 being part of the Graphcore team.

We think you need these skills to ace Staff Software Engineer - Analysis Tools Bristol, UK

Rust
C++
Software Design
Profiling Tools Development
Systems Language Proficiency
Performance Monitoring
System Architecture Understanding

Some tips for your application 🫡

Tailor Your CV:Make sure your CV is tailored to the role of Staff Software Engineer. Highlight your experience with complex software systems, especially in Rust or C++. We want to see how your skills align with our needs!

Showcase Your Projects:Include any relevant projects you've worked on, particularly those involving profiling tools or performance monitoring. This gives us a glimpse into your hands-on experience and problem-solving skills.

Craft a Compelling Cover Letter:Your cover letter should reflect your passion for AI and your understanding of Graphcore's mission. Let us know why you're excited about this opportunity and how you can contribute to our team.

Apply Through Our Website:We encourage you to apply directly through our website. It’s the best way for us to receive your application and ensures you’re considered for the role. Plus, it’s super easy!

How to prepare for a job interview at graphcore

Know Your Tech Inside Out

Make sure you brush up on your knowledge of Rust or C++, especially if you have personal projects to showcase. Be ready to discuss your experience with complex software systems and how you've tackled challenges in the past.

Showcase Your Problem-Solving Skills

Prepare to share specific examples of how you've debugged complex issues or optimised performance in previous roles. Graphcore values strong problem-solving abilities, so having a few stories up your sleeve will definitely impress.

Emphasise Team Collaboration

Since mentoring junior engineers is part of the role, be prepared to talk about your experience working in teams. Highlight any instances where you've influenced peers or contributed to a collaborative environment.

Familiarise Yourself with Profiling Tools

Research the profiling tools used in machine learning applications and be ready to discuss your experience with them. Understanding how to collect and process profiling data will show that you're aligned with the team's goals.