« links for 2007-03-14 | Main | links for 2007-03-15 »

Ten books for the working programmer

  1. Agile Software Development
  2. Working Effectively With Legacy Code
  3. Refactoring
  4. The Pragmatic Programmer
  5. Code Complete, 2nd ed
  6. Patterns of Enterprise Application Architecture
  7. Mastering Regular Expressions
  8. Pragmatic Project Automation
  9. The Algorithm Design Manual
  10. The Art of Project Management

Colophon: I first wrote this list out for myself in 2004. Since then I added McConnell at 5, and Berkun at 10, removing Getting Things Done and UML Distilled. The intent of the list is to be language and platform neutral; these books should stay with you across projects and jobs. This isn't a "thou shalt" - I'm just saying I've found these books very, very useful. I suspect the first 5 have been indispensable to me since I joined the industry .

ps: Gunnar makes an important point - nothing on security.


March 14, 2007 06:44 PM

Comments

(March 14, 2007 06:00 AM #)

Amen - I own half of these. PragProg was delightful; I am currently enjoying Mastering Regular Expressions.

Jeff Atwood
(March 14, 2007 06:21 AM #)

Excellent list!

However, I don't feel Art of Project Management warrants a spot here. There are lots of PM books I'd put ahead of that particular one.

Darragh Sherwin
(March 14, 2007 12:13 PM #)

I think you missed the number one book for any professional programmer, Design Patterns by the GoF.
It is more generic than Patterns for Enterprise Application Architecture and Refactoring needs its companion book.

Gunnar
(March 14, 2007 04:05 PM #)

All three of Gary McGraw's books are better and much more relevant to 2007 than 2/3 of this list

http://swsec.com/

Bill de hOra
(March 14, 2007 05:10 PM #)

"There are lots of PM books I'd put ahead of that particular one."

Jeff, don't be coy, which books! I have that in as its the best book I've read that explains the project management side of things to non-pms, and that doesn't pander or try be a dummies book (it's hard to function well imo without understanding mgmnt dynamics).

"I think you missed the number one book for any professional programmer, Design Patterns by the GoF. "

Darragh, we talked about this in work today. I'm not sure GoF isn't overrated (and very C++ specific). I'll give you a copy of Agile Software Development, see what you think then about Gamma et al - it covers a lot of ground. And like you said, I'll think about whether PEAA should be on that list.

"All three of Gary McGraw's books are better and much more relevant to 2007 than 2/3 of this list"

Gunnar - which 2/3! You won't thank me for saying it, but security is still optional knowledge. I'm not saying that's right or good, but I think it's true.

Gunnar
(March 14, 2007 06:01 PM #)

Bill - thanks for putting me on the hot seat. Fair play. Well the good thing about lists is that we can argue about them. If I had to send someone to a desert island to study programming I'd go with The Pragmatic Programmer, Patterns of Enterprise Application Architecture, Mastering Regular Expressions from your list plus Design Patterns and Software Security by McGraw

Paul Browne - TIPE
(March 15, 2007 09:47 AM #)

Bill,

Do you know if all / any of these are available online?

Paul

Jeff Atwood
(March 15, 2007 08:47 PM #)

Well, let's see. Lots of stuff:

- Behind Closed Doors: Secrets of Great Management
- Peopleware
- Dancing With Bears

The Weinberg books are good as well, but somewhat inconsistent in quality and tone:

http://www.geraldmweinberg.com/books.html

I actually stop just shy of warning people away from the Berkun book. But a lot of people like it. Maybe it's me.

(p.s. shouldn't the Post button be *under* the form? It's kinda freaking me out right now.)

Bill de hOra
(March 15, 2007 11:56 PM #)

Paul: "Do you know if all / any of these are available online?"

I don't think so. "Code Complete, *1st end* is begging to be digitized imo.". If I'd start this list in the 90s it would have been no. 1.

Send me your address details and a list of the ones you don't have. I'll get one to you. The least I could do.

Jeff: "Well, let's see. Lots of stuff:"

Dancing with bears - I haven't read it (my last was Slackware). Behind Closed Doors - I'm still waiting for her great book; this isn't it.

Peopleware is interesting, even special. People read it and it wears them out. I think the problem with Peopleware is that offers no hope against toxic organisational dynamics. DeMarco is brilliant, I mean *brilliant*, but he's no Solzhenitsyn, no Levi, thus it's not one I recommend for daywork. Yet I am always moved when I meet someone who has just read it. Their eyes are opened; some ideas you can't forget. So while Berkun's book isn't as important, it's a better survival tool, which in some sense, is what this list is all about. My best CS and software books for example, don't overlap much with this lot.

"shouldn't the Post button be *under* the form? It's kinda freaking me out right now"

You're not the first to say that. I find it handy because I never have to scroll to comment, no-one else seems to like it. And I'm on a feature freeze here until I ship my Django version...

Bill Seitz
(April 17, 2007 02:23 PM #)

That TomDeMarco book is *Waltzing* with Bears. (Dancing With Bears is about WallSt)

Post a comment

(you may use HTML tags for style)




Remember Me?

Trackback Pings

TrackBack URL for this entry:
http://www.dehora.net/mt/mt-tb.cgi/1436