# Principal Software Architect

**Company**: Graphcore
**Location**: Cambridge
**Experience**: senior
**Job type**: full-time
**Category**: Engineering
**Industry**: Technology

**Apply**: https://job-boards.greenhouse.io/graphcore/jobs/8605788002?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply
**Canonical**: https://yubhub.co/jobs/job_340fafc8-2bc

## Description

We are seeking a Principal Software 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, maintain a deep understanding of the product's hardware and software components, and proactively convey the software architecture.

The software architecture team is responsible for defining, maintaining, and communicating the overarching architecture of our software stack, from firmware to ML frameworks. You will work closely with engineering teams, product, leadership, and partners to ensure alignment between business goals and architectural direction.

Key responsibilities:

- Define and 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

- Stay informed about trends and developments in the ML/software ecosystem

- Assess the architectural impact of new technologies

- Prototype and validate architectural concepts through proof-of-concept implementations

- Contribute to future product definitions with a forward-looking mindset

- Work with HW and Silicon architects to ensure product needs are met

- Ensure the software architecture meets product requirements

Essential skills:

- 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 skills, both written and verbal

- Collaborative mindset and ability to influence

- Pragmatic approach to decision making, aware of trade-offs and implications

## Skills

### Required
- Firmware
- Drivers
- ML frameworks
- Collectives
- HPC
- Tooling
- C & C++
- CPU architectures
- Technical expertise in ML accelerator software space
- Excellent communication skills
- Collaborative mindset
- Pragmatic approach to decision making

### Nice to have
- Demonstrable experience in a previous architecture role

---

Source: [Apply at job-boards.greenhouse.io](https://job-boards.greenhouse.io/graphcore/jobs/8605788002?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply)
