Principal Accountabilities
Lead the end-to-end design and delivery of complex features across the full stack using:
•
Backend: Kotlin/Java Spring Boot microservices, containerised and deployed on Azure Container Apps, exposing REST/OpenAPI APIs and integrating with other services and data stores.
•
Frontend: React/TypeScript, shared design system components, and agreed architectural patterns (e.g. Nx, micro frontends), deployed on Azure Static Web Apps.
Produce clear Architecture Decision Records (ADRs) for significant technical decisions, documenting context, options, trade-offs, and outcomes that align with organisation-wide standards.
Own and improve SLOs and operational metrics for the squad’s services; monitor error budgets, participate in incident response, and drive improvements to reduce incidents and MTTR.
Champion secure and compliant design:
•
Apply secure coding practices and threat modelling.
•
Ensure logging, audit trails, and data handling meet regulatory and privacy requirements.
•
Ensure accessibility standards are met in user-facing features.
Strengthen observability and operational excellence within the squad (metrics, tracing, logs, dashboards, runbooks, alerts) and ensure they are used effectively.
Drive improvements to the squad’s developer experience (CI/CD pipelines, test strategy, local development workflows, release practices) in line with wider engineering standards and cloud deployment patterns.
Model responsible AI-assisted engineering:
•
Use GitHub Copilot and other approved tools to improve speed, quality, and consistency.
•
Validate and refine AI-generated code to ensure correctness, maintainability, and compliance.
•
Contribute to documentation and feedback loops on AI usage in partnership with Staff Engineers.
Provide technical mentorship and line management for Full Stack Engineers in the squad, supporting their growth in technical skills, ownership, and delivery capability.
Collaborate closely with Product Managers and Designers to ensure technical feasibility, shape solutions, and align technical work with product goals and timelines.
Maintain high standards of code quality, testing, documentation, and maintainability across the squad’s codebase, actively reducing technical debt.