Principal Software Architect
Define and document the software architecture for an ML accelerator stack spanning firmware, drivers, and ML frameworks. Communicate architectural principles, assess new technologies, prototype concepts, maintain the architecture as products evolve, and align software requirements with hardware, silicon, engineering, product, leadership, and partner needs.
Responsibilities
- Define and document the software architecture.
- Work across software domains to ensure coherent end-to-end architecture.
- Communicate the software architecture to engineering teams and stakeholders.
- Maintain the software architecture as the product evolves.
- Assess the architectural impact of new technologies.
- Prototype and validate architectural concepts through proof-of-concept implementations.
- Contribute to future product definitions.
- Work with hardware and silicon architects.
- Ensure the software architecture meets product requirements.
- Align business goals and architectural direction with engineering, product, leadership, and partners.
Requirements
- Expertise in firmware, drivers, ML frameworks, collectives, HPC, tooling, C, C++, or CPU architectures.
- Technical expertise in ML accelerator software.
- Excellent written and verbal communication skills.
- Collaborative mindset and ability to influence.
- Pragmatic decision-making and trade-off awareness.
- Previous architecture experience.
Benefits
- Flexible working
- Annual leave
- Private medical insurance
- Health cash plan
- Dental plan
- Pension matched up to 5%
- Life assurance
- Income protection
- Parental leave
- Employee assistance programme
- Healthy food and snacks
- Barista bar