Microservices are a people problem
·2 min read ·Architecture · System Design · Engineering Culture
Conway's Law states that organizations design systems that mirror their own communication structures. It was proposed in 1967 and it's still true. Your architecture will eventually look like your org chart, whether you intend it to or not.
This means microservices aren't primarily a technical decision. They're an organizational one.
What Conway's Law Actually Means
When two teams own different parts of the system, those parts will evolve independently and eventually diverge. Coupling between them creates coordination overhead—every change that touches both parts requires meetings, alignment, and usually a lot of waiting.
Microservices solve this by making the boundary explicit. Team A owns Service A. Team B owns Service B. They communicate over an API. Neither team needs to know how the other's internals work.
The Problem With Premature Splitting
If you split before you have separate teams with separate ownership, you get the costs of microservices without the organizational benefit. You have:
- Network overhead between services
- Distributed debugging nightmares
- Deploy coordination across multiple services
- One team context-switching across multiple codebases
All the pain, none of the gain.
The Right Trigger
Split a service when:
- Two teams are stepping on each other's work in the same codebase
- One part of the system has fundamentally different scaling requirements
- One part needs to be deployed at a different cadence from the rest
Not because 'microservices are modern architecture.'
The Practical Takeaway
Before you split anything, ask: who owns what after the split? If the answer is 'the same team that owns everything now,' you haven't solved the underlying problem. You've just added network hops.