Every Man a Microservice
a day ago
- Conway's law is inverted: a system's design shapes the organization's communication structure, not the other way around.
- The ideal system design is composed of person-sized services, each with a codebase of tens of thousands of lines that a single developer can fully comprehend.
- Person-sized services enable offline mulling, fast consensus on improvements, fewer outages, higher quality, politically manageable architectural changes, and faster engineer development.
- Traditional team-owned services lead to purely accretive changes, fear of deep refactors, and political resistance to deprecation.
- Bus factor risk is mitigated by senior engineers who have context on multiple services and can step in; juniors are mentored and grow into owners.
- Such an organization requires few managers and relies on senior technical lieutenants for visibility, as most systems need only a few dozen services.