I think over-engineering is just plain old incompetency in a different costume. Good guys successfully manage complexity, bad ones don't. The bad ones have just more options now.
The question is how do we successfully communicate this to everyone else. People see "We need to move this to super-cool new technology like THE GOOGLES!!!" as a positive, affirmative, and cutting-edge thing that will make them more like the coolest, smartest company there ever was, whereas they see "Why should we change that?" as backward and frightened.
We need some way to protect the industry from marketing-oriented impulses that mischaracterize flat, reliable, comprehensible architectures as primitive.
> I think over-engineering is just plain old incompetency in a different costume. Good guys successfully manage complexity, bad ones don't. The bad ones have just more options now.
I've felt alienated in some ways because of this, so i'm glad you put some light on it. I don't understand devs that so casually over-engineer or choose what's flashy for what works. I guess it's a matter of the tech mattering more than the product, and i've often held an inverse opinion.
We need some way to protect the industry from marketing-oriented impulses that mischaracterize flat, reliable, comprehensible architectures as primitive.