Book: Coders at Work
If you are thinking about being a programmer, pick any interview from this book and read it. If, after reading it, you aren’t excited about programming, then just stop. This is the best book I’ve ever read that gets inside the mind of a great programmer. True greats, the pioneers of computer science and industry achievement.
The interviewer, Peter Siebel, does a remarkable job hanging with these giants of programming. Siebel is able to inject himself to probe when necessary, able to ask a few stock questions without it feeling overly rehearsed, and then get out of the way to let these folks talk.
I learned things about programming that I had previously under appreciated, such as the usefulness of monads and closures. I found the interviewees to be extremely candid, with profound answers to such questions as “do you think programming is a young person’s game” (with a variety of answers) and “do you think of yourself as a craftsman, engineer, scientist or artist?”
A few attitudes shared by most if not all interviewed:
- C++ is not a good choice of language
- There is no silver bullet for debugging or reading code written by others
- Using puzzles in technical interviews is not the best way to determine who to hire
- Don Knuth’s “The Art of Computer Science” is tough to get through (even for Don himself!)
- Get something easy working first before you optimize it
I really enjoyed reading Doug Crockford (of Atari, Lucasfilm, Yahoo and JSON fame) talk about JavaScript. I enjoyed hearing Dan Ingalls (implementer of several versions of Smalltalk) talk about teaching a new programmer by tapping into their inner passions, vs. teaching programming for its own sake. I particularly enjoyed reading the Guy Steele interview. Guy, co-creator of Common Lisp and Scheme, talks about magic and programming (pp360-361):
“I think it’s not an accident that we often use the imagery of magic to describe programming. We speak of computing wizards and we think of things happening by magic or automagically. And I think that’s because being able to get a machine to do what you want is the closest thing we’ve got in technology to adolescent wish-fulfillment.”
Reading this book helped to recreate the magic of programming for me. I would recommend it to any programmer, old or new. You don’t have to read it all straight through either… feel free to pick and choose, without fear of losing context. You can read the introductions to each interview here.









