Principal Software Engineer
Role details
Job location
Tech stack
Job description
We are looking for a Principal Software Engineer who will play a defining role in shaping our platform, our teams, and our technical future.
This is a top-end role with significant architectural authority and organisational influence. You will lead and mentor senior technical leaders, own core architectural decisions, and help scale a stable platform into a multi-product foundation - while remaining hands-on and deeply technical.
You've likely built and scaled complex systems before, possibly as a CTO or equivalent in a smaller company, and you've also seen what "good" looks like in more structured, corporate or enterprise environments. You understand the trade-offs between speed and quality, pragmatism and long-term sustainability.
This role reports to the VP of Product and offers a fast growth path for someone who demonstrates the appetite and capability.
Who you are
You are a builder and a leader, not one or the other.
- You are outcome-focused - you care deeply about impact, not just elegant solutions.
- You thrive in complexity and ambiguity, and you bring structure, clarity, and momentum where it's missing.
- You are technically opinionated but pragmatic, knowing when to push for the right long-term decision and when to ship and iterate.
- You enjoy working with other senior engineers, raising the bar through example, coaching, and clear technical direction.
- You communicate clearly - with engineers, product managers, and non-technical stakeholders - and you're fluent in product language as well as system design.
- You move fast, but you don't cut corners on reliability, or maintainability.
- You are motivated by growth: growing products, growing teams, and growing yourself into bigger leadership challenges.
- You listen and learn as much as you lead and direct, balancing each opportunity to grow yourself, while also helping peers and businesses grow.
- You're excited by the idea of building scalable, modular, high-quality platforms that enable others to move faster and build better products.
What you will do
Own architecture and technical direction
- Define, evolve, and own the end-to-end technical architecture across our core platform and new products.
- Act as the final technical decision-maker on architecture, core technologies, and engineering approaches.
- Design systems that are scalable, resilient, secure, and adaptable as the business grows.
- Translate product vision and customer needs into clear technical strategy and executable roadmaps.
- Stay hands-on: contribute to critical designs, core platform modules, prototypes, and apply your coding skills where it matters most.
Lead and multiply senior engineers
- Lead, mentor, and influence Staff and Senior Staff Engineers (6 direct, ~16 indirect reports).
- Help staff engineers lead their squads effectively, making better technical and organisational decisions.
- Structure teams and responsibilities to improve pace, ownership, and clarity.
- Set technical standards and expectations that raise quality across the organisation.
- Drive a healthy engineering function, ensuring pace is balanced with the needs of engineers, towards a sustainable model.
Scale delivery and improve quality
- Increase engineering pace without sacrificing reliability or maintainability.
- Identify and address scaling pain points, technical debt, and delivery bottlenecks.
- Champion lean, effective engineering processes that support fast, predictable delivery.
- Drive measurable improvements in platform stability, performance, and developer productivity.
Partner with product and customers
- Work closely with Product, Design, Delivery, Sales and Customer Success to ensure strong alignment between product intent and technical execution.
- Translate product language into architecture and delivery plans.
- Initially partner with Product and Customer Success teams, with the opportunity to engage directly with customers over time for deeper technical collaboration.
Build cloud and edge-connected systems
- Design and evolve event-driven and data-streaming architectures.
- Consider edge deployment constraints and support teams with design trade-offs.
- Balance performance, cost, reliability, and operational simplicity.
- Lead engineering practices in cloud-native environments (Kubernetes, Docker, CI/CD, IaC, security).
Enable data and AI-driven capabilities
- Embed AI practices into engineering flows and design.
- Collaborate with data and AI-focused engineers to productionise intelligent systems.
- Bring a pragmatic mindset to AI - focused on real value, reliability, and integration, not hype.
Requirements
Do you have experience in System design?, * 12-18 years of professional software engineering experience, with deep backend and some platform focus.
- Strong expertise in Golang; comfortable reasoning about Python-based systems.
- Experience building products end-to-end, ideally including at least one built from scratch and scaled.
- Strong system design and distributed systems experience.
- Exposure to Kubernetes, containerisation, CI/CD, IaC, security, and modern delivery practices.
- Experience influencing and leading senior technical people.
- Prior CTO (at a startup), Principal Engineer, or equivalent senior technical leadership experience is a strong plus.
Benefits & conditions
This role is designed for someone who wants real influence today and a fast growth path tomorrow.
You'll be trusted with critical technical decisions, visible impact, and leadership of senior engineers - with a clear opportunity to grow fast as the organisation scales.
If you're excited by hard problems, meaningful products, and building platforms that matter - we'd love to talk.
UK Team Benefits:
Vitality Health Insurance
Eye Care
Salary Sacrifice - EV
Salary Sacrifice - Bike & Tech
- ️ Wellbeing & Support
- ️ Wellbeing & Development Allowance
Spill & Employee Assistance Programme
Additional Leave
Pension Scheme
Group Life & Critical Illness cover