i was affected by that as a junior and even medior as well and i caused a lot of harm :-)
luckily i learned to step away from it.
The discipline is, of course, knowing which spells to cast and when. And it's super useful to see the scroll of common spells.
If I was going to complain about engineering hell, it'd be about how shallow we investigate these areas. We stop at the immediate technical events, or inappropriate technology choices, instead of getting to the motivations behind it. This gets into a qualitative area that HN readers tend to want to avoid, but these flaws are with the humans and their circumstances.
It was this book that actually revealed, in patterns, the bigger picture, where it was all going wrong, and the alternatives. This book and Spring v1.0 go along together in my mind.
BTW (and OT), another underrated Fowler book in a similar vein is "Analysis Patterns", another 10k-ft view of common business problems.
On the other hand, I have found his work to be useful in selling approaches to others. There were times where I did a design, then browsed the patterns books to find names for what I was doing to "make it respectable."
I.e. pattern X was recommended for a scenario Y, but ended up in over-engineering hell for Z.
[0] http://misko.hevery.com/2010/05/26/do-it-yourself-dependency...
[1] http://blacksheep.parry.org/wp-content/uploads/2010/03/DIY-D...
I ended up making a lot of things a lot more complex than they needed to be, or/and a lot less performant than they could be.
At some point, lot's of people seemed to come to the same realisation - worshipping design patterns is a bad idea. Around this time I first heard about "cargo culting".
These days my motto is "no dogma" (well, except about not being dogmatic ;), and I think it serves me well.
It turns out that developing large systems in static languages with heavily constrained libraries is difficult. Rapid zero-cost distribution and decentralized storage AND GUIs have really changed the field. Does anyone even call themselves a SW Engineer anymore?
I think Fowler does a good job of identifying and classifying things, but that hasn't necessarily made IT / Enterprise all that simpler. What has made "progress" in IT has fundamentally been programmers treating more and more things like code and automating the hell out of everything.