Principal Software Architect in London

Principal Software Architect in London

London Full-Time 80000 - 100000 £ / year (est.) No working from home possible
EngineersOfAI

At a Glance

  • Tasks: Define and drive the software architecture for cutting-edge AI technology.
  • Company: Join Graphcore, a leader in AI innovation and part of the SoftBank Group.
  • Benefits: Competitive salary and opportunities for continuous learning and growth.
  • Other info: Dynamic environment with a focus on innovation and career advancement.
  • Why this job: Shape the future of AI with a collaborative team of experts.
  • Qualifications: Expertise in firmware, ML frameworks, and strong communication skills.

The predicted salary is between 80000 - 100000 £ 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

We are looking for a Principal Architect to define and drive the architectural vision of the software stack for the Graphcore ML accelerator. In this role, you will shape the architecture of our software ecosystem and maintain a deep understanding of the product’s hardware and software components, their interfaces, and how they interact. You are an excellent communicator, and you proactively convey the software architecture. You bring a pragmatic, trade-off-aware approach to decision-making, fully recognising the impact of architectural choices on product direction and engineering outcomes.

The Team

The software architecture team is responsible for defining, maintaining and communicating the overarching architecture of our software stack, from firmware to ML frameworks. The team works within the wider software organisation, partnering closely with engineering teams who deliver against this architectural vision.

Responsibilities and Duties

  • Define & document the software architecture of the software stack.
  • Work across different software domains to ensure a coherent end-to-end architecture.
  • Clearly communicate the software architecture to engineering teams.
  • Ensure teams understand key software architectural components, interfaces, and guiding principles.
  • Continuously maintain the software architecture as the product evolves. Communicate architectural changes proactively to all relevant stakeholders.
  • Stay informed about trends and developments in the ML/software ecosystem.
  • Assess the architectural impact of new technologies.
  • Be aware of the usability, performance, reliability, maintainability, testability, security and observability constraints on the software architecture.
  • Prototyping and validating architectural concepts through proof-of-concept implementations.
  • Contribute to future and/or related product definitions with a forward-looking mindset, understanding and communicating the impact of future direction on software architecture.
  • Work with the HW and Silicon architects to ensure product needs of the software stack.
  • Ensure the software architecture meets the product requirements.
  • Work closely with engineering, product, leadership, and partners to ensure alignment between business goals and architectural direction.

Candidate Profile

Essential:

  • Expertise in one or more of these technologies; Firmware, Drivers, ML frameworks (PyTorch, Triton, etc), Collectives, HPC, Tooling, C & C++, CPU architectures.
  • Technical expertise in the ML accelerator software space.
  • Excellent communication skill, both written and verbal.
  • Collaborative mindset and ability to influence.
  • Pragmatic approach to decision making, being very aware of trade-offs and implications.

Desirable

  • Demonstrable experience in a previous architecture role.

Benefits information not specified.

Principal Software Architect in London employer: EngineersOfAI

Graphcore is an exceptional employer, offering a dynamic work environment that fosters innovation and continuous learning in the cutting-edge field of Artificial Intelligence. Located within the vibrant ecosystem of the SoftBank Group, employees benefit from collaboration with top-tier talent and access to transformative technologies, while enjoying opportunities for professional growth and development in a culture that values diverse perspectives and teamwork.

EngineersOfAI

Contact Details:

EngineersOfAI Recruitment Team

StudySmarter Expert Advice🤫

We think this is how you could land Principal Software Architect in London

Join Local Tech Meetups

Get out there and mingle with fellow developers by joining local tech meetups. It’s a fantastic way to meet people who might be working at EngineersOfAI or know someone who does. Plus, you can pick up some trendy tech skills and trends while you're at it!

Contribute to Open Source Projects

Show off your coding chops by jumping into open-source projects. Not only does this give you practical experience, but it also gets you noticed in the dev community. You'll create a killer portfolio that speaks volumes about your skills to EngineersOfAI.

Tap into Online Developer Communities

Don’t underestimate the power of online developer communities like GitHub, Stack Overflow, and even Reddit. Participate in discussions, share your projects, and build your visibility. We can often find opportunities through these channels that can lead to a full-time gig at companies like EngineersOfAI.

Explore Job Boards Specifically for Tech Roles

Keep your eyes peeled on job boards that focus on tech roles. Sites like TechCareers or Stack Overflow Jobs can often have listings for companies like EngineersOfAI that might not show up on broader job sites. Make it a habit to check these regularly, and don’t hesitate to apply directly through our website!

We think you need these skills to ace Principal Software Architect in London

Software Architecture
Firmware Development
Driver Development
ML Frameworks (PyTorch, Triton)
High-Performance Computing (HPC)
C & C++ Programming
CPU Architectures

Some tips for your application 🫡

Show off your coding skills:When applying for a software engineering role, it's super important to showcase your coding skills. Make sure your CV includes your tech stack, any relevant programming languages you’re comfortable with, and examples of projects you've worked on. If you have a GitHub profile, link it up! We love to see code in action.

Tailor your portfolio:For a full-time role, we’d expect to see some solid examples of your work in your portfolio. Make sure to include at least two or three projects that highlight your problem-solving skills and your ability to work with different technologies. Focus on the projects that are most relevant to the position at EngineersOfAI.

Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at EngineersOfAI and how your skills align with the role. Show us your passion for software development. We dig enthusiastic candidates who understand the value of collaboration and continuous learning!

Be clear and concise:When it comes to writing your CV and cover letter, clarity is key. Avoid jargon that could confuse us and stick to simple, direct language. Highlight your achievements with quantifiable results where possible, and keep everything easy to read. A well-organised application goes a long way!

How to prepare for a job interview at EngineersOfAI

Brush Up on Your Coding Skills

For a full-time software engineering role, it's crucial that we stay sharp with our coding abilities. Expect technical questions that might involve solving problems on the spot or discussing algorithms. Practise on platforms like LeetCode or HackerRank to get comfortable with the types of questions that often come up.

Know Your Tools and Frameworks

Make sure we’re well-acquainted with the tools and technologies listed in the job description. Familiarise ourselves with any specific frameworks or programming languages mentioned. If EngineersOfAI uses React or Node.js, for instance, be ready to discuss how we’ve used them in previous projects or coursework.

Showcase Your Projects

Bring along a portfolio that highlights our best work. This could be code samples, GitHub repositories, or any side projects we’ve built. Make sure we can talk through our thought process for each project, especially the challenges we faced and how we solved them—this shows our problem-solving skills in action.

Prepare for Behavioural Questions

While technical skills are key, full-time positions also require cultural fit. Be ready to discuss our previous experiences and how we handle teamwork, conflict, and deadlines. Brush up on the STAR method—Situation, Task, Action, Result—to clearly articulate our past experiences when discussing how we've contributed to a team.