2010-05-04

Coders at Work Speaking Words of Wisdom

I've finished reading Coders at Work where Peter Seibel interviews "15 of the all-time greats of programming and computer science" about the craft of programming and related topics.

It's a very interesting book, which I wholeheartedly recommend to anyone who cares about their profession as a software developer.

Below some words of wisdom from three of the interviewees:

Thompson: "My definition of fragile code is, suppose you want to add a feature — good code, there's one place where you add that feature and it fits; fragile code, you've got to touch ten places."

Siebel: "[…] people […] work long hours because we have this idea that we've got to get this product out the door and the way to do it is for everyone to work 80, 100 hours a week."

Thompson: "That generates burnout. […] external deadlines — generate stress."

Siebel: "[…] in terms of getting things done in the short term, does it work?"

Thompson: "Usually you're in a position where such a thing is continual."

Siebel: "Can you estimate how long it's going to take to write a given piece of code?"

Thompson: "[…] if you're doing it for production then usually there are other people involved and coordination — I can't estimate that."
Ken Thompson, p. 467, 478 & 479


"[…] a design review double checks that the parts that he [the programmer] thought he had right he did have right and potentially give him some insight on the parts that he didn't. […] such an obvious good use of the senior talent doing the review."
Bernie Cosell, p. 539


"[…] software required so much attention to detail. It filled that much of my brain to the exclusion of other stuff."

"I think it is always going to be true that a person who manages programmers should not expect it to be predictable."
Donald Knuth, p. 572