Pragmatic Programmer
Just finished Pragmatic Programmer by Andrew Hunt and David Thomas. It is actually a shockingly good book. I read this in an attempt to keep educating myself now that I have graduated. As work gets busier I can easily see myself falling into the trap of just doing what needs to be done and not looking to keep sharpening myself and learn new ideas and new tools. Especially at my current job. If that is you (and you do a lot of programming/design) then this is the book for you.
First off, it has a very good and easy to read style. This is not to common in technical programming books. Second it assumes that you already know how to program. I really appreciate that. So many books assume that you are an idiot and end up being 6000 pages because they have to teach you how to program and never get to the meat. And speaking of getting to the meat, in this book, at the end of every important section they wrap it all up into a single sentence. Having written a dissertation fairly recently I can attest to how hard this is. In the case of this book though, it really helps you understand what they are talking about.
Having said all of that, the book is short, only 260 pages, but is very dense. From the quick reference guide in the back they have 70 of those one sentence summaries (they call them tips) and I found myself really needing to sit down and think about how to apply them to my work. Fortunately they include a number of problems for you to work on as well.
It concludes with a huge bibliography which I am afraid that I may have to work through now.
All in all I found this to be an awesome book and exactly what I was looking for. I’m a little scared that other technical books will pale in comparison now though. This book has a heavy emphasis on design and management taking a page from both XP and patterns, but relying on neither. They tend to sniff at most complete set of rules as being too constraining, which I appreciate, but in the process become something of one themselves. If you are into programming read this book, if you need to learn how to program, don’t.