Books you shouldn't read when starting out as a programmer
travisswicegood.com
travisswicegood.com
Refactoring is better because it's on a smaller scale and thus able to deliver roughly what it promises.
As far as the enterprise-OO space goes, though, the best book by far IMO is Eric Evans' Domain Driven Design. One reason it's better (apart from being superbly written) is that it's much more exploratory: it doesn't pretend to have figured things out, but rather offers principles you can use to figure things out. Also, the principles, though deep, are easy to understand (as opposed to "enterprise application architecture patterns" which get more confusing the more you try to understand them). In fact, the only weak spots in DDD are the points at which it veers closer to the PEAA approach.
(Disclosure: I worked with Eric for several years. But my high opinion of his book was not caused by this; it was the other way around.)
I'd do things like hand-roll my own XML parser in PHP (never mind LibXML bindings, etc) while trying to make sure I was observing the Visitor and Command patterns, oblivious to the silliness of the situation.
I also missed the understanding of dependency injection (or just management in general) that would have made that hellishly large Flash project so much easier to test and assemble.
Somehow I still managed to get a lot done. I feel in retrospect, that the Design Patterns are good to know about, but I don't know about whether anyone should intend to implement them.
Unfortunately, people do often attempt to start from the pattern, which gives the whole idea of patterns a bad name, since most people's primary exposure to them comes from Some Guy In The Office Who Just Read The Gang Of Four Book And Now Tries To Use Patterns For Everything He Does. And everyone, rightly, hates working with that guy or his code. The same thing happens with XP/Agile/TDD, where most people's exposure to them is from some annoying zealot rather than someone a little more experienced and pragmatic.
Actually, I wish I had done so. Then, after dumping it in disgust, I wouldn't have allowed programming to burn my youth, and would perhaps now be in an honest and not yet intellectually-stunted field like chemistry - where cube farms are unknown and the subject has some actual (vs. accidental) depth (see: http://tinyurl.com/lfzb58)
I avoided The Passionate Programmer when it was called My Job Went To India, deterred by the title and lack of reader recommendation. Maybe I'll give it a look now. Somewhat related, I found Land The Tech Job You Love to be a comprehensive and insightful resource.
I've yet to read Land the Tech Job You Love. I know I should, I just sort of have the tech job I love :-) At any rate, they're both supposed to be very complimentary.
Oh, you meant _programming_ books. Never mind!
This place can be awfully humorless at times.
As things stand, I like HN the way it is, and if I feel like something a bit more laid back then i read proggit.
Edit: Based on the voting, I'm clearly in the minority, so I'll leave it alone in the future.