I help engineering teams make better decisions, faster.
Most engineering problems are really decision problems. Not wrong decisions — unmade ones. Stalled designs, unclear requirements, systems that grew too fast without a clear direction. That’s where I come in.
I’ve spent over a decade working on the messy middle of software: the point where a problem is real and urgent but the right shape of the solution isn’t obvious yet. Startups trying to move fast without breaking everything. Scale-ups whose systems are buckling under new load. Teams where the domain is complex, the constraints are real, and the decisions keep piling up.
I work best when the problem is genuinely hard — technically or organisationally — and when the people involved care about getting it right, not just getting it done.
I’ve worked across payments, e-commerce, media, and high-throughput event-driven systems — mostly in Go, mostly distributed, always with an eye on what the system needs to look like in two years, not just today.
Engagements range from a few hours talking through a design to longer retainers where I’m embedded alongside the team. I’m not precious about format. What matters is whether I can help.
If any of this sounds relevant — even vaguely — just get in touch. You don’t need to have the problem fully defined. The first conversation is free and there’s no obligation. I’m happy to just talk through what you’re dealing with.