Staff Software Engineer - Analysis Tools

Staff Software Engineer - Analysis Tools

Full-Time 60000 - 80000 € / year (est.) No home office 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 60000 - 80000 € 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 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 competitive benefits including flexible working arrangements, generous leave policies, and comprehensive health plans, making it an ideal place for those looking to make a meaningful impact in the AI industry.

graphcore

Contact Detail:

graphcore Recruiting Team

StudySmarter Expert Advice🤫

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

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 Rust or C++ expertise, make sure to highlight it during interviews. It’s a great way to demonstrate your hands-on experience.

Tip Number 3

Prepare for technical challenges! Brush up on your problem-solving skills and be ready to tackle coding exercises. Practice makes perfect, so don’t skip this step!

Tip Number 4

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 the initiative to connect directly with us.

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

Software Development
Rust
C++
Performance Profiling Tools
Systems Language Proficiency
System Architecture Understanding
Memory Management

Some tips for your application 🫡

Tailor Your CV:Make sure your CV reflects the skills and experiences that match the job description. Highlight your experience with complex software systems, especially in Rust or C++, and any relevant projects you've worked on.

Craft a Compelling Cover Letter:Use your cover letter to tell us why you're passionate about AI and how your background makes you a great fit for the Staff Software Engineer role. Share specific examples of your technical leadership and mentoring experience.

Showcase Your Problem-Solving Skills:In your application, don’t shy away from discussing challenges you've faced in previous roles. We love to see how you approach problem-solving, especially in complex software development scenarios.

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 and shows us you're serious about joining our team!

How to prepare for a job interview at graphcore

Know Your Tech Inside Out

Make sure you brush up on your knowledge of systems languages, especially Rust and C++. Be ready to discuss your experience with complex software solutions and how you've tackled performance issues in the past.

Showcase Your Problem-Solving Skills

Prepare to share specific examples of how you've debugged complex issues or optimised applications. 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 stakeholders or collaborated effectively to achieve project goals.

Familiarise Yourself with Profiling Tools

Understanding performance profiling tools is crucial for this position. Do some research on the tools used in the industry and be ready to discuss how you've used them in your previous roles to optimise software performance.