3 ms·
> But usually it makes sense to "err on the side of overengineering". Because (limited) overengineering merely means some development effort was wasted, while u
by gwbas1c 1y ago
> But usually it makes sense to "err on the side of overengineering". Because (limited) overengineering merely means some development effort was wasted, while underengineering can easily mean years of painful tech debt that is an order of magnitude or two more expensive than the wasted effort from overengineering.
In our case there was a lot of overengineering by novices, so a lot of the tech debt involves unwinding overengineering to make a simple change. Some of the "credit card" debt was simply using too many 3rd party libraries.
> (It's similar to building a house. You usually want to make doubly sure you really do everything right or more than right, because if there are any flaws that turn up later, this often gets very expensive to rectify, sometimes so expensive that it isn't even worth fixing at all.)
My fish tank guy told me how he once went to install in a new home, and the general contractor put a structural beam every 3-4 inches under the fish tank. It make it impossible to put in the filters. (In contrast, I only have one structural beam in the middle of my 180 gallon, through-the-wall, tank.)
- cubefox 1y agoI would guess underengineering (quick and dirty solutions) leads to a lot more tech debt in expectation than overengineering.
- gwbas1c 1y agoIt's neither: Underengineering will lead to unmaintainable spaghetti code. Overengineering will also lead to unmaintainable code, but it's more like lasagna.
- Glawen 1y agoVery nicely put
- bdangubic 1y agoin my experience both are more like nachos :)
- cubefox 1y agoI'd rather live in an overengineered house than in an underengineered one.
- gwbas1c 1y agoI found out my house was "overengineered" when a professional architect pointed out a load carrying beam that was much larger than it needed to be. A few years later I found structural issues in a different part of the house. But, because I spent more money on overengineering one part of the house, there's less money to fix real problems.