Comment by KaiserPro
7 hours ago
Its about pragmatism. The problem is that a lot of software engineering tends to be not about building a product to service the buisness need.
Lets be honest, a lot of the time engineering decisions are made because "it would be cool to use x" rather than "this is the fastest path to achieving business goal z"
"over engineering" in a lot of cases is just either engineering gate keeping "oh you don't know how to do x properly, its soooooo much more 'performant' than y" or design by CV "lets use kafka, k8s, mobile app, AI, RAG" etc etc etc.
in 99% of cases, the architecture really doesn't matter that much, you product is never going to need what ever fancy system you put in. Mainly because people over estimate scale.
The thing that matters is that the customer is able to use it, and know how to use it. Everything else is almost irrelevant.
Most engimeering decisioms aren't made my engineers. Many times, the goalpost keeps moving while the deadline stays the same.
The end result is cutting corners and perfection is never even a thought.