You are in a long-form archive about software systems and the work around them.
This homepage is an editorial entry point, not a chronological feed. The writing connects architecture, domain modeling, engineering craft, platform work, product thinking, and the team decisions that shape delivery.
Choose a path through the archive
These cards point to solid starting places: section entry points, representative essays, and one route for reading everything.
Architecture and design
System boundaries, structural trade-offs, and architecture patterns.
Domain modeling and Event Storming
Use workshops, language, and bounded contexts to shape complex systems.
Engineering craft
Programming techniques, code quality, and day-to-day technical judgment.
Ports and Adapters
A practical architecture pattern for isolating domain code from external concerns.
Read the full archive
Browse every published essay in chronological order.
Follow via RSS
Use the feed when you prefer the archive in your reader.
Three essays that explain the archive well
These three essays give a fast sample of the blog's main threads: architecture, domain discovery, and engineering practice.
Why Software Architecture Matters So Much
Software architecture matters because it shapes how fast a system can grow, how safely it can change, and how consistently teams can build it.
A Practical Guide to Effective Event Storming
Run productive Event Storming sessions: define scope, involve the right people, set expectations, and foster insights.
Better Javascript by using declarative paradigm
Learn how to write code that shows your intentions.