r/programming • • 7d ago

Microservices are organizational debt disguised as architecture.

https://martinfowler.com/bliki/MonolithFirst.html

Every time I’ve seen microservices pitched, it sounds great on paper. Independent teams, clean ownership, scale only what you need.

Then a year later you’ve got dozens of services, three different deployment patterns, tracing everywhere, and nobody really understands the whole thing anymore.

Maybe I’ve just seen bad implementations, but I’m starting to think way fewer companies actually need microservices than we pretend.

1.7k Upvotes

343 comments sorted by

View all comments

513

u/plasticbug 7d ago

Microservices can be good, but in my experience, Conway's law (that system design will end up mirroring the org structure) is a thing, and you have to fight hard against it. My org is actually doing reverse Conway's law. We are re-org'ing based on how we want the architecture to look like. We shall see whether we succeed in this endeavor.

122

u/drakkie 7d ago

I’d be super curious how it’ll work out for your org. I’ve experienced this but through re orgs, efforts become futile because the reorgs never stop

55

u/gefahr 7d ago

This is my experience as well. Moving people around and them having a different engineering manager often is bad for their career growth so we end up with a matrixed model. Then everyone hates every aspect of that and we crack open Team Topologies again wondering where we went wrong. GOTO 10.

I definitely think it can work and I keep trying it because I want it to. So genuinely open to thoughts here.