Software architecture, .NET and AI engineering
Build-oriented essays on software architecture, .NET and AI engineering — from domain-driven design and microservices to shipping AI agent platforms in the SDLC.
-
Five Bounded Contexts, Three Services: A Tour of a Warehouse Domain
Bounded contexts in practice: a tour of five contexts mapped to three services, how they talk through events not shared types, and the use cases behind them.
-
Writing Agents That Work: opening a field guide from skills to systems
A field guide to building agentic systems — skills, subagents, feedback loops — that separates peer-reviewed evidence from vendor self-report. Sources tagged.
-
From PR to Production: Why We’re Building Forge
Part 1 in the series on building Forge, an agentic SDLC that runs a ticket from a business request all the way to production. Today’s coding agents all stop in the same place: at the proposal. The agent writes…
-
Opening the Forge Series: Design Before Code, Measurement Before Claims
Opening the Forge series on building an agentic SDLC from ticket to production — design before code, and a rule that every build post carries a measurement.
-
Why We Start With the Domain, Not With Docker
Why domain-driven design starts with the business, not `docker compose up`: the big-picture board, the strategic decisions it surfaced, and the price of each.
-
Event Storming: Modeling a Domain on a Wall Before You Write Code
Event Storming explained: the colour grammar, the three zoom levels, and how a wall of sticky notes models a domain before you write a single line of code.
-
How Microservices Are Really Built: A Series
I want to show you how microservices are built in real life. Not the conference-talk version, where three perfectly named services exchange events and nothing ever fails. And not the tutorial version, where the domain is a to-do…
-
PostgreSQL vs MSSQL Locking: Architectural Differences and Practical Patterns
Mastering Database Concurrency: From MSSQL Lock Hints to PostgreSQL MVCC.
-
When and How to Use Locking Hints in SQL Server?
In a perfect world, the SQL Server Query Optimizer works perfectly. It automatically decides when to use Shared (S) locks for reading and Exclusive (X) locks for writing, while following the rules of your transaction isolation level (usually…
-
C# Threads? What purpose do they serve? (more theoretical)
Can you imagine an application that, when you input some data or press a button, freezes and waits for a long action to finish executing? Exactly, me neither… How is it done in C#? What are Threads? A…








