I think that having the context to recognize a problem and solve it at a meta level means, almost by definition, that you aren't a "festering pile of shit as a programmer".
Programming isn't just about writing great code, it's about solving problems. Sure, one problem to solve is having code be extensible/maintainable, but it isn't the only one.
I don't care what shiny new code is written with the latest framework; if it doesn't solve a business problem, it's bad code.