Thursday, July 15, 2010

My Big List O Reading

Here is my list of books I have read, am reading or plan to read.  I'll try to keep this up to date as much as possible and please feel free to drop me a line if you have any questions about these books or have a recommendation for me.  Keep in mind that this isn't a must read list, just books that have had some influence with me personally.

Code Complete: A Practical Handbook of Software Construction

What can I say except that reading this book is almost a rite of passage into becoming a great developer.  Every developer should read this and then reread it again when you realize how much you really do suck.
The Pragmatic Programmer: From Journeyman to Master

I think my eyes really started opening up to what's possible in software development when I first read this.  It's almost a short version of Code Complete that's a tiny bit more opinionated.
Head First Design Patterns

I've read this twice now and both times I have learned something new.  I haven't actually read the gang of four book yet because this does such a good job of explaining the more common patterns.  I wouldn't mind reading the GoF book at some point, just haven't found the drive.
Pragmatic Unit Testing in C# with NUnit

I wouldn't say that this book is an essential read but it's nice for getting your feet wet in learning how to unit test.
The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)

So, I'm just going to come out and say it: this is not an easy read.  Brooks has a writing style that rubs me the wrong way.  That said, I can see why it's considered one of the most important books for software developers.  I'm a firm believer in Brooks' Law and it's still relevant today as it was when this was written over 30 years ago.
Clean Code: A Handbook of Agile Software Craftsmanship

I freaking loved this book.  I didn't always agree with Uncle Bob in here but the important thing is it made me rethink my own dogmas and methods.  Whenever I start thinking my code is a thing of beauty to behold, I just need to pick this up and realize that I still have work to do.  Any developer can benefit from reading this.
Working Effectively with Legacy Code

For those of us that have the "wonderful" opportunity to work on legacy code, this gives you a glimmer of hope in reigning in that wild monster method, class or module.  I especially liked how the chapters were laid out by task.
C# in Depth

I was worried that this book would end up being incredibly dull but was happy to find that it wasn't.  Jon does a good job of keeping things entertaining while teaching a lot about C# that you probably don't know.  Or maybe discovering new things about stuff I thought I already knew is why I liked it? Anyway, great read.
NHibernate in Action

Being the NHibernate super fan that I am, I had to read this.  It's unfortunate that it didn't get any of the 2.0 features included in it but is still quite relevant even today as the basics of how NHibernate haven't changed.  I'd recommend this to anyone that wants to know how to use NHibernate well.
About Face 3: The Essentials of Interaction Design

Well this was totally worth reading. It started off a bit slow (like really slow) but the 2nd half was just great. I used to think I had quite the eye for good UI until I read this. I'm not sure I agree 100% with everything suggested in here (especially since some of it contradicts itself) but most of it is spot on and should be considered by every developer that creates UI.