Love this post. Brings up the question of are we solving problems are merely difficult puzzles? "Modern programmer culture fetishizes complexity as a status marker or tribal initiation ritual"
I wonder if some of this is the bored engineer phenomenon? I find that when I'm writing actually difficult code, it almost always comes out clean, simple and easy to read.
It's when I'm churning out ridiculous amounts of front-end kluge that I start over-engineering or introducing complexity and indirection where it's totally unnecessary.
This seems like a particularly cogent hypothesis for the web, where a majority of the programming is not very intellectually stimulating* but is simultaneously time-consuming and mentally taxing.
* IMO and in my experience, mileage may vary. And this isn't to say you don't need to be intelligent. But requiring mental energy != intellectually stimulating.