Key books every developer / designer should read

19 Apr
by mjeaton, posted in business, programming   |  10 Comments

It seems like every software developer I talk to has at least one or two books they consider absolutely essential reading.

My list is pretty small and includes mostly non-technical books like Peopleware from DeMarco and Lister, Anthem by Rand and Maverick by Semler. There are others, but those are more on a personal level than professional. I’ll blog about those in a separate post.

So, my request is simple – I’m asking for books you think are essential reading for other software developers and designers. Please reply in the comments, or at the very least, blog and link back!

Tagged

10 Responses to Key books every developer / designer should read

  1. Matt

    The Passionate Programmer by Chad Fowler – because I’m a fanboy.

  2. David Lindsley

    _Code Complete_ (McConnell)
    _The Pragmatic Programmer_ (Hunt & Thomas)
    _The Practice of Programming_ (Kernighan & Pike)

  3. Second the Passionate Programmer.
    A non technical but essential book for nerds is also How to Win Friends and Influence People.

    • mjeaton

      D’oh! I can’t believe I forgot Carnegie! How to Win Friends is definitely on my short list!

  4. I would echo Peopleware and add Waltzing with Bears also by DeMarco and Lister.

    The rest of my short list would include Code Complete and Software Estimation by Steve McConnell, Getting Things Done by David Allen and Getting to Yes by Fisher, Ury and Patton.

  5. I really like “Hackers and Painters” by Paul Graham. It’s basically a collection of essays from his website that cover topics ranging from Lisp, to education, to art, etc. They are full of poignant insights, and his prose is just fun to read.

    A few good biographies are “iWoz” by Steve Wozniak, “Free as in Freedom” by Richard Stallman (not a biography per se), and “Just for Fun” by Linus Torvalds.

    For new developers, or developers who are rusty on OOP principles, I recommend “The Object Oriented Thought Process” by Matt Weisfeld. It’s pretty short, but does a great job explaining encapsulation, inheritance, and composition. I’ve loaned this book to a number of people and, without exception, they all said they wished they had read it when they started programming in OOP languages.

    “Agile Software Development, Principles, Patterns, and Practices” by Bob Martin is a tremendous book for developers who want to learn about the *design* of software, not just how to bang out code. It is *very* meaty, but entirely worth the effort.

    A great book on the origins and philosophy of open source software is “The Cathedral and the Bazaar” by Eric Raymond. His thesis that “given enough eyeballs, all bugs are shallow” has certainly contributed to the tone and direction of the OSS community.

    One word about Ayn Rand: if you are serious about understanding her ideas, you must read her non-fiction as well as her novels. Whether you ultimately agree with her politics or ethics, her philosophy of man as a “heroic being” is a powerful idea.

  6. tim

    Second on The Pragmatic Programmer. So much in there that I still use every day.

    Also a fan of “Practices of an Agile Developer” by Venkat Subramaniam. Quick read, lots of good info in it.

  7. The Mythical Man Month – Fred Brooks
    The Seven Habits of Highly Effective People – Stephen R. Covey
    Don’t Make Me Think – Steve Krug
    Joel On Software – Joel Spolsky
    I’m also a huge fan of The Pragmatic Programmer and Peopleware.

    ++Alan

  8. Getting Real – 37Signals (http://gettingreal.37signals.com)

    I agree with Pragmatic Programmer, Don’t Make me Think, and Hackers and Painters