Engineering principles

Build useful things.
Make them last.

A few beliefs that shape how I lead teams, make technical decisions, and build software people can rely on.

01

Start with the outcome

Technology is a means, not the brief. I begin by getting clear on the customer or business outcome, the constraints that matter, and how we will know the work made a difference. That clarity makes the right technical trade-offs much easier to see.

02

Make the right thing easy

Good systems do more than work today: they make safe, repeatable work the default tomorrow. I value useful abstractions, fast feedback, clear ownership, and tooling that lets people spend their energy on the problem instead of fighting the path to production.

03

Treat reliability as a feature

When people and money depend on a system, correctness is part of the product experience. Reliability needs to be designed in: clear failure modes, observable behaviour, sensible defaults, and an honest understanding of what happens when things go wrong.

04

Prefer progress you can reverse

Big decisions deserve care, but momentum matters too. I favour small, observable steps that reduce uncertainty, keep options open, and deliver learning early. A reversible decision made with good context is usually better than a perfect decision made too late.

05

Give teams context and ownership

Strong teams do not need instructions for every move. They need a shared direction, the context behind the decisions, and the trust to use their judgement. My job as a leader is to create those conditions, remove obstacles, and hold a high bar without becoming the bottleneck.

06

Keep the human side visible

The best technical work happens in teams that can be candid, curious, and kind. Healthy disagreement improves decisions. Blameless learning improves systems. And making space for people to grow is not separate from delivery—it is how delivery remains sustainable.

Interested in comparing notes on engineering leadership, architecture, or the messy reality between the two?

Let’s talk