David Heinemeier Hansson (DHH)
๐ค SpeakerAppearances Over Time
Podcast Appearances
The integrated system.
Integrated system.
That someone thought of the whole problem.
This is one of the reasons why I've been on a crusade against microservices since the term was coined.
Microservices was born out of essentially a good idea.
What do you do at Netflix scale when you have thousands of engineers working on millions of lines of code?
No one can keep that entire system in their head at one time.
You have to break it down.
Microservices can be a reasonable way to do that when you're at Netflix scale.
When you apply that pattern to a team of 20 programmers working on a code base of half a million lines of code, you're an idiot.
You just don't need to turn method invocations into network calls.
It is the first rule of distributed programming.
Do not distribute your programming.
It makes everything harder.
All the failure conditions you have to consider as a programmer just becomes infinitely harder when there's a network cable involved.
So...
I hate the idea of premature decomposition.
And microservices is exactly that.
The monolith says, let's try to focus on building a whole system that a single human can actually understand and push that paradigm as far as possible by compressing all the concepts such that more of it will fit into memory of a single operating human.
And then we can have a system where I can actually understand all of Basecamp.