Review: Coders at Work by Peter Seibel
I got a sneak peak at Peter Seibel’s long awaited Coders at Work. Superb book!
My familiarity with the folks being interviewed varied; some I knew well, some in passing and some I had never heard of — like Bernie Cosell & Dan Ingalls. All the interviews were great to read, some of them were absolutely fascinating!
The thing I liked about the book were how these legendary programmers went about learning their craft, what attracted them to the field, lessons they learnt and their thought process. Some parts of the book reminded me of Tracy Kidder’s The Soul Of A New Machine.
It was interesting to note the common things people agree on:
- Most folks don’t like C++, some really hate it!
- Many of them are not happy with the available programming languages
- The importance of reading good code
- Second System Syndrome
My favorite quotes from some of these interviews (you need to read the book to get the context):
- Jamie Zawinski: “One of the jokes we made at Netscape a lot was, “We’re absolutely 100 percent committed to quality. We’re going to ship the highest-quality product we can on March 31st.””
- Brad Fitzpatrick: “Everyone wants to do a web site where their favorite four web sites aren’t quite right and they want to make one that looks kind of like that.”
- Douglas Crockford: “One of the things I’ve been pushing is code reading. I think that is the most useful thing that a community of programmers can do for each other—spend time on a regular basis reading each other’s code.”
- Joshua Bloch: “But the fundamental rule is, write the code that uses the API before you write the code that implements it. ”
- Joe Armstrong: “Because the problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle.”
- Brendan Eich: “I have this big allergy to ivory-tower design and design patterns. Peter Norvig, when he was at Harlequin, he did this paper about how design patterns are really just flaws in your programming language. Get a better programming language. He’s absolutely right.”
- Guy Steele: “And so I got to thinking that maybe for a really successful programming language, you need to design and plan for the social process as much as you design the technical features of the language and think about how those two things are going to interact. ”
- Fran Allen: “We installed some buttons on the computer, because you could do that, at that time and one was a panic button. When the program appeared to loop one could just push the panic button. ”
- Don Knuth: “But my third program was a program to play tic-tac-toe and that was what really made me a programmer.”
A note about the author: The questions are a good mix of general and specifics depending on the person. The fact that Peter had to speak to such a diverse field and ask great follow up questions says a lot about his interest and knowledge in this field.
I have been exchanging emails with Peter regarding interviewing the folks on his initial user-submitted list. In my opinion, there is an incredible amount of wisdom among the folks on that list, interviewing them and sharing those interviews would help the community at large as well as the craft of software development. If you have thoughts on interesting ways we can get that done, please add your comments.
Go ahead and buy the book. It’s a great read, well worth your time and money. There is an older book called Programmers at Work by Susan Lammers, some of those interviews are available on Susan’s blog.
This post on Hacker News.