4 ms·
What is simplicity? Each micro-service in and of itself is simple, but the network of message passing is complex. Ok. So, a monolith is simple, until it’s bee
by vonwoodson 3y ago
What is simplicity? Each micro-service in and of itself is simple, but the network of message passing is complex.
Ok.
So, a monolith is simple, until it’s been maintained for a decade or more and has been patched and re-patched by generations of engineers who didn’t really ever have the ability to maintain the original simplicity in the face of feature creep and practical development issues.
Ok.
Maybe the problem isn’t simple. Or worse, there is a simple and easy to understand general solution that makes “everyone else” think they can do better, but the reality is that the problem is chock full of edge cases and special considerations. Leading to endless criticism and “bike shed”ing.
——
An aside about what engineers want. I do feel that the desire for a “simple” or “elegant” solution to problems is as out dated as The Enlightenment itself. We seem to want to force order onto a disorganized world and exalt and marvel at the rare situation where it actually works out that way. But, it seldom does work that way.
I can understand that the article seems to be focused on “unnecessary complexity” introduced by large frameworks for creating seemingly simple websites… but, this sounds a lot like folks complaining that Java code is less efficient and/or larger than assembly. Like, of course you can write “simple” code for your project, but there are many concerns that engineers hold in high regard beyond simplicity: correctness, reproducibility, maintenance, to name a few. And, we cannot be calling ourselves engineers if we don’t adhere to the most basic engineering principles of “standards”. That last one especially rings for me, if ever problem requires a scientific exploration than we’re not doing engineering work, we’re doing research.
So, the use of frameworks, even “bloated” ones, brings us much closer to standardization than one-off boutique, yet (possibly) simple, solutions.
——
Anyway, back to complexity: A perfectly fine website may require a 30-second load time… try walking to a store and finding the good you want and standing in the checkout line and missing your bus and having to carry the thing all the way back home and opening the box to find out that it’s broken and hauling it back to the store and then they tell you that that was the only one and then having to wait 4-8 weeks for a new one to be ordered and delivered and repeat the process all over again. Perspective is important on what “complexity” even is.