“Documentation” Review: Coders at Work

09/16/2010

A couple of months ago now1, I finished Peter Seibel’s Coders at Work.

It’s a compilation of “interviews with some of the top programmers of our time,” including people like Jamie Zawinski, Brendan Eich, and Ken Thompson.

It was an accomplishment for a couple reasons: I am embarrassed to admit I don’t have make as much time as I’d like should to read these days and since the book clocks in at smidge over 600 pages, it wasn’t a small feat.

That’s a testament to the curation of the interviews, though, I think: it’s a very readable book, and the style with which Siebel interviewed these programmers is conversational and easy to follow, but without being one-dimensional or trite2.

As a programmer3 might expect, Siebel asks a set of standard questions to each programmer, but it’s not constrained at all; each interview is marked by the tangents of its protagonist, but he works in a few set of core questions for all, including when and where did they get their start, do they feel more like an artist or a scientist, do they own Knuth’s books, and if so, how do they make use of them4, and how they feel about such things as agile and code ownership within software development shops.

The book also sets in motion an interesting, yet natural progression starting with programmers famous for their (concrete, practical applications of) work on the Web, moving through to computer languages and more formalized areas and ending with Mr. Computer Science himself, Knuth.

A few favorite highlights from the interviews include:

  • Coming to the realization of the myriad complexities5 that Brad Fitzpatrick was dealing with while us LiveJournal users were complaining left and right; I actually had a newfound respect for him after reading his interview7
  • Getting the back story as to why Brendan Eich seems to have such disdain for threads8
  • Ken Thompson—yeah, that guy—can’t check in any code written at C at Google.
  • My favorite answer given was from L. Peter Deutsch:

    Deutsch: [...] But that brings me to the other half, the other reason why I like Python syntax better, which is that Lisp is lexically pretty monotonous.

    Seibel: I think Larry Wall described it as a bowl of oatmeal with fingernail clippings in it.

    Deutsch: Well, my description of Perl is something that looks like it came out of the wrong end of a dog. I think Larry Wall has a lot of nerve talking about language design—Perl is an abomination as a language. But let’s not go there.

  • It was interesting to sort of notice which programmers immediately resonated with me, and which it took awhile to understand. I sort of immediately identified with pretty much everything Peter Norvig had to say, but found Joe Armstrong‘s explanations and general context for his answers totally confusing.
  • I was a bit disappointed that there’s only one woman—Fran Allen—interviewed in the book, but maybe that’s more a commentary on our industry than anything else9.

If you’re professionally and personally interested in the art and practice of computer science and programming and you’re looking for an approachable set of first-person accounts of the last fifty years of the industry, mixed with a splash of humanity and dose of trivia mixed in, I highly recommend this read.

_______________
1 Has it really already been that long?
2 It’s particularly a good pre-sleepy time read
3 Or social scientist/psychologist
4 If at all; he offers up “bookshelf decoration” as a valid option to that question
5 Including the reminder that programmers seldom tend to be good business people6
6 This by Fitzpatrick’s own admission
7 The almost-eights years working in the industry, providing a nice contrast to the college student I was back then, has nothing to do with it, I’m sure…
8 Apparently had to do with his tenure at SGI and weird Heisenbugs caused by issues in both kernel and on chips
9 Which is still disappointing; her points of view were particularly interesting, especially since she was working in the 60s and 70s