Writing
The Ahmad Almunajjed blog
I share what I learn about software architecture: the decisions that decide whether a system is still easy to change a year later, as I meet them in real projects rather than as they're written in books.
What a team decides before its first microservice
Once splitting is justified, four decisions decide whether it works: where the boundary falls, who owns which data, what replaces the transaction, and what has to exist operationally before anything ships.
Why a small team should start with a modular monolith
Microservices solve a coordination problem most small teams do not have yet. A modular monolith gives you the same boundaries without the distributed system.