Software Architecture
-
Software Development

Designing Reliable AI Agent Systems
Over the past few years, artificial intelligence has evolved from a largely experimental research field into a fundamental part of…
Read More » -
Software Development

A Guide to Designing APIs for AI Agents in the Age of AI
AI agents are changing how modern software systems are designed and consumed. Unlike traditional applications that rely on predictable, human-driven…
Read More » -
Software Development

Technical Debt Has a Direction: Why Paying It Down in the Wrong Order Makes Things Worse
The standard advice is to “pay down technical debt.” Rarely discussed is that debt has topology â and tackling the…
Read More » -
Software Development

The Cargo Cult Problem in Software Architecture
Why teams adopt microservices, event sourcing, and CQRS without the conditions that make them work â and what those conditions…
Read More » -
Software Development

Complexity Has a Ratchet: Why Software Systems Almost Never Get Simpler Over Time and What That Implies for How We Design Them
Every abstraction layer was solving a real problem. Every configuration flag handled a genuine edge case. Every service boundary separated…
Read More » -
Software Development

The Reason Most Architecture Decision Records Get Written and Never Read Is Architectural, Not Cultural
Architecture Decision Records are praised universally and practised sporadically. The orthodox explanation is culture and discipline. The deeper argument is…
Read More » -
Software Development

The Fundamental Tension Between Consistency and Availability Is Not a Technical Problem. It’s a Business Decision Most Engineers Are Making Alone
CAP theorem gets taught as a distributed systems concept. What’s completely missing is the organisational dimension: engineers are making these…
Read More » -
Software Development

Why I Stopped Using Microservices(And What I Replaced Them With)
I spent four years as a true believer. I gave conference talks. I drew the boxes and arrows on whiteboards.…
Read More » -
Software Development

Temporal Coupling:The Hidden Dependency That Breaks Systems
Race conditions, event ordering failures, and the “works on my machine” mystery all share the same root cause â a…
Read More »
