“97 Things Every Programmer Should Know” (available from Amazon) is a collection of wisdom from a number of experienced developers. I’ve been in the software business for almost a decade, so much of the advice I already knew (either having heard it before, or having learned it the hard way). However some of the advice was new and eye-opening, so I do recommend this book to both novice and experienced developers.
Pros: The book has lots of good advice. Heed it and you will do well. Each chapter is large enough to elaborate on a topic, yet small enough to digest quickly.
Cons: Code examples in some of the chapters would be helpful (e.g. in the chapter on Missed Opportunities for Polymorphism). It’s surprising to see a book for programmers without any code in it! Some of the advice is so widely accepted now that I would be surprised if anyone who has been on at least one project hasn’t heard it already (e.g. the chapter titled “Comment Only What The Code Cannot Say”).