Some thoughts about DHH’s They’re rebuilding the Death Star of complexity article.
I don’t know if “merchants of complexity” is a DHH invention, but I like it.
Those are the people who, instead of proposing an easy path, will sell you complex and cumbersome solutions. They do whatever they can to show their solution as the only and best way to do things.
Spoiler: most of the time, you can already work with established solutions.
Complexity as a tool
Using complexity as a tool to chain other people to a product it’s incredibly bad. It’s an apparent and temporary success for them. A technical debt for us.
We have seen this trend with many technologies in the past. Incredibly complex solutions that no one can understand, but they look cool and shiny.
Often the result is unmaintainable code, that no one wants to work on 🤢
In the end, fortunately, those who decide are the users. Programmers and managers have to build valuable products, without killing the team by complexity. The real needs will rise in no time. After a while, the shiny tool becomes a monster that devours time and space 👹
It’s technical masochism.
The Kubernetes example
I don’t know that much about Kubernetes, for sure this technology solves a lot of problems. Anyway, I think that “because everyone is using it” or “it’s cool” shouldn’t be the drive to make certain decisions.
If you need it, cool, just use it!
But don’t get too carried away with enthusiasm without solid needs.
My approach
You can turn boring tools into fun tools if you want. What really changes is the perception that we have of them. I look for fun in what I’m building more than in the tools I use. By doing that I can stay sane and ship good software anyway.
I try to build simple and easy-to-understand software. That’s why in the last year I started using HTMX and Alpine.js. They are small and compact libraries that can be easily replaced and have a low impact on the complexity cost. (I mean, by reducing it 😉)
There is nothing magical. You will have to learn something new and put some effort into it, but it will pay off in the end when you’ll have to manage a lot of things.
Always stay alert
Keep a safe distance, a skeptical mind, and one hand on your wallet.
It’s like a loop.
Merchants of complexity will try to rebuild another thing that introduces complexity for no real reason.
Yes, this is all horrendously complicated, but look at what we can do!
If you hear this sentence, do something about it. At least consider the alternatives before the jump.