Profile

I work on large-scale software systems, with a focus on backend engineering, distributed systems and cloud infrastructure.

My interests span software architecture, infrastructure, AI engineering, and the changing relationship between software engineers and the tools they build with. The thread running through all of it is a fairly narrow obsession: understanding what actually happens beneath the abstractions we use every day.

Why this site exists

There is no shortage of material explaining how to use a technology. There is much less explaining why it was built the way it was — the constraints the designers were working under, the failure modes that shaped the interface, the trade-offs that were genuinely contested rather than obvious in hindsight.

That reasoning is the part that transfers. A tutorial on a message broker is obsolete when the API changes. An understanding of why ordering guarantees are expensive, and what a system has to give up to provide them, is still useful ten years and three technologies later.

So this is where I write that down: what I am learning, what I am building, and what I have changed my mind about. It is a working notebook more than a portfolio.

What I write about

Six recurring threads, in rough order of how often they show up:

  • Distributed systems — ordering, replication, consistency, idempotency, coordination, and the failure modes that only appear under load.
  • Software engineering — backend design, concurrency, performance, reliability, observability and the craft of building things that stay maintainable.
  • Cloud and infrastructure — architecture, storage models, networking and the cost-and-reliability trade-offs that come with them. AWS shows up often because that is what I know best, but the ideas are meant to hold elsewhere.
  • AI engineering — agents, retrieval, tool calling, evaluation and memory, treated as architecture problems rather than prompt problems.
  • Engineering thinking — how experienced engineers reason about trade-offs, complexity and technical decisions.
  • The future of software engineering — how the role is changing as AI takes on more of the work, and which parts of it are not going anywhere.

A note on what you will not find here

No news aggregation, no framework of the week, and no claims that a technology has made another technology obsolete. I am more interested in the parts of this field that are still true after the hype cycle finishes.