Tuesday, August 3, 2010

Top books that I recommend for programmers

In selecting the below books, I try not to choose books that are very language specific (no python in 24 hours kind of book) but rather books that I find are general enough to be of use to most programmers.

Head First Design Patterns
Head First Design Patterns
The Head First series of books takes a fun approach to tackling topics, when I first got back in the programming business this was one of the first books i bought to brush up on Design Patterns instead of the dryer Gang of Four book. You get nice diagrams, background stories and illustrations to make a dry topic fun.

Clean Code: a handbook of agile craftsmanship
Clean Code: A Handbook of Agile Software Craftsmanship
Great book by "Uncle Bob" for all software developers, tells you what makes code clean and readable, gives lots of heuristics and guides. Just go read it, you will become better.

Effective Java
Effective Java (2nd Edition)
Not just for the Java Language, contains lots of tips in general for OO languages, but in general tells you how to write better Java code. Joshua Bloch lead the design and implementation of Java Collections Framework.

Ship It!: A practical guide to successful software practices
Ship it! A Practical Guide to Successful Software Projects










From the pragmatic programmers, all developers know how to code (I hope :) ) but what is important is to actually ship the damm thing. This book gives a nice overview of what are the techniques, infrastructure and process that you will need in order to Ship It!. Although the book doesn't really claim to be Agile but most of the techniques they use all come from the Agile philosophy like continuous integration, small iterations, daily meetings.

The Pragmatic Programmer: From Journeyman to Master 
The Pragmatic Programmer: From Journeyman to Master

Pragmatic advice for programmers covers everything from using editors, version control debugging to requirements.  I guess if there is just one book that covers lots of ground it would be this. Everyone should read this, since its not dry and at time humorous.

 Coders at Work
Coders at Work

I don't think that there is another book quite like this. The book contains 15 people who are considered great programmers, the questions for each person are quite standard and repetitive but that's just the beauty of it. You will see how people mostly agree or disagree about a certain topic. Read it so that you will learn a bit about the history of the programing craft since schools don't really teach the history of programming.

What other good books do you recommend?

11 comments:

  1. although i did not read all of those, i totally like where you are going with the idea... and thanks for sharing

    ReplyDelete
  2. the images are missing and that make the post somewhat cryptic. ??

    ReplyDelete
  3. I like the idea of this page, but I could not skim it and find the links to the actual books quickly. Also, you might want to include the eaipatterns.com book... a MUST for anyone that is an app architect/dev lead.
    Regards,
    Gordon Dickens
    twitter.com/gdickens

    ReplyDelete
  4. Code Complete. It was eye opening. It's all common sense to me now but I didn't think of code _quality_ as an actual thing before that book. Code ran and didn't look like crap or it was bad code. Code Complete pointed out there was a craft to coding. Seventeen years ago that was surprising to me.

    ReplyDelete
  5. Hi Jay, you are the second person that seems to have trouble with the page. Hmm just revisited the page all seems fine.

    ReplyDelete
  6. Gordon, taking your suggestion, will redo the page to put the textual links too, I put the link in the images.

    ReplyDelete
  7. ctwise, thanks for suggesting Code Complete, I have been meaning to read that for sometime already, but it seems that some other book always get in the way. :)

    ReplyDelete
  8. Martin Fowler : Refactoring - Improving The Design Of Existing Code

    ReplyDelete
  9. Reeyan yeah I have the Refactoring book, never really did complete the book. Maybe i should put more effort.

    ReplyDelete