Friday, July 13, 2012

So, You Like To Read?

One of the things that I see repeated over and over again is the simple question "What books should I read to become a better developer?". Or "How did you learn about that?". Or even "What does a coding standard matter?"... OK, so that last one was a bit of a sentinel question, but the point is clear. Where should you look if you want to read to improve your development abilities? Well, I figured I'd take a few pages out of my library and share which books worked for me, in order of significance. If you remember from a prior post, I indicated that you should choose concepts over implementations. This list should illustrate that.

Code Complete 2 - Steve McConnell

To be completely honest, this book changed the way that I write code. Not only did it change how I write code, but it changed my whole approach to code. Before reading this book, I wrote code to solve a problem. Reading code? Who'd need to do that? After this book, I really started focusing more on writing clean, readable code. It was so well presented, that I actually read this in a long weekend.

I still keep it on my desk at work for those times I need to reference a figure, or demonstrate to others the statistics behind why something is (or is not) a good idea. It's proved an invaluable book in my library.

This is a must for anyone who considers themselves to be a professional developer.

Gödel Escher Bach - Douglas Hofstadter

This book didn't change how I write code. It changed how I solved problems. But it did more than that. It really changed how I looked at the world. It taught me about the power of symbols and abstractions.

I HIGHLY recommend reading this book. It has a bit of math in it, but the book doesn't loose much value if you don't understand that math. He does a very good job explaining the concepts and not just the details.






The Clean Coder - Robert C. Martin

This is another book that I value dearly. Oddly enough, it's not really about code. It's a code of conduct for professional developers. It really changed the way that I interact with business stakeholders.

It's a very good read, and an absolute must for anyone who develops professionally. If even for the part about managing expectations, it's worth it.








The Rest Of The List

Those three books are musts for every single professional developer (In my opinion at least). The rest here are a few selections from my library that I'd recommend highly (in no particular order).
Note that there's not a single PHP specific book in that list. That gets back to my belief that I shared earlier that you should focus on concepts instead of implementations. That's not to say that there aren't good PHP books out there (I'm sure there are), just that I prefer to stay language agnostic when it comes to what I read...

What books would you recommend? Follow up in a comment, on twitter or on your blog!