Books for software engineers and managers
How strongly do I recommend Coders at Work?
7 / 10
Coders at Work is a series of interviews with highly respected software developers and computer scientists like Donald Knuth, Ken Thompson, and Peter Norvig.
Knuth and company were interesting but my favorite interviews from this book came from lesser known developers:
Coders at Work is 600 pages but reads quickly, especially if you skim over the questions about how each person got into programming. There’s only so many ways to say you were a teenager in the 60s and got access to a monster IBM machine that filled an entire room.
Top Ideas in This Book
I rely heavily on print statements for debugging and felt relieved to read that the most respected software engineers also prefer print debugging.
A few reasons they cited were short feedback loops, simplicity, and how print statements encourage you to think through the program’s logic more than a debugger.
The developers interviewed expressed bewilderment and sadness that coding has shifted toward gluing together layers.
Many of the developers interviewed expressed feelings of not doing things the proper way along the lines of, “I should probably learn to do X or use Y, but here’s what works for me.”
As a developer +15 years into my career, I’ve learned that imposter syndrome never goes away even for people we consider to be the best. Perhaps especially for them.
Interviewees repeatedly said that math just isn’t that important. At lower layers like language, framework, and low-level library development, math matters a bit more.
But for most programming, understanding communication between humans and systems is more important than understanding math.
Most interviewees said that as they’ve grown older, their ability to understand a full program has decreased. In some ways, this made them worse programmers because they understood the code worse. But in other ways, they’ve become better engineers because they rely more on testing and documentation.
Back in the 60s and 70s, there just weren’t many language options to choose from when entering programming. Today the options feel endless.
This also explains some exasperation from junior developers applying to entry-level roles, but running into huge barriers because the breadth and depth of knowledge required is so large.
The author asked each interviewee for book recommendations and nearly everyone expressed some guilt for having not read Donald Knuth’s books either entirely or at all. Knuth’s books were getting more love as monitor stands than reading material.
Turns out Donald Knuth even has trouble getting through a Donald Knuth book. When asked about his reading his own books, he recommended not reading them straight through but rather in pieces and that frankly he struggles to understand some of the math.