Principal Software Architect

Overview

We are seeking a Contract Principal Software Architect to enhance an enterprise digital platform focusing on an existing consumer technology application. This role will involve collaborating with cross-functional teams to deliver pragmatic architectural solutions that improve scalability, resilience, and customer experience within a hybrid work environment. The successful candidate will address architectural challenges in a live production setting by guiding the evolution of legacy systems and supporting the engineering teams in implementing incremental enhancements.

Responsibilities

  • Define and maintain architectural principles, standards, and target-state designs across the technology landscape.
  • Provide architectural leadership for complex initiatives, system changes, and cross-platform integrations.
  • Assess existing systems and identify opportunities to simplify, consolidate, and modernise platform capabilities.
  • Support engineering teams in delivering scalable, maintainable, and well-structured solutions.
  • Make and guide technical decisions around distributed systems, APIs, integrations, data, and cloud architecture.
  • Identify architectural risks, technical debt, and platform constraints, and establish appropriate mitigation strategies.
  • Promote consistent architectural standards, engineering quality, and technical decision-making.
  • Support and mentor senior engineers and technical leads, helping embed architectural thinking within delivery teams.

Requirements

  • Strong commercial experience as a Software Architect / Principal Architect within complex software environments.
  • Proven experience designing distributed systems and modern software platforms.
  • Strong understanding of software architecture patterns, APIs, integrations, and cloud-based systems.
  • Experience operating within Microsoft Azure or another major cloud environment.
  • Demonstrable experience defining service boundaries, ownership models, and integration patterns.
  • Strong understanding of SQL and NoSQL data technologies and the architectural considerations involved in selecting appropriate data stores.
  • Experience modernising or evolving existing platforms incrementally, and working with legacy systems and technical debt.
  • Technical proficiency in .NET/C#, Python, Node, and modern DevOps practices including CI/CD.