August 15th, 2024

Programmers Don't Read Books – But You Should (2008)

The article highlights a decline in programmers reading books, favoring online resources instead. It critiques the poor quality of many programming books while recommending five essential titles for professional growth.

Read original articleLink Icon
Programmers Don't Read Books – But You Should (2008)

The article discusses the declining trend of programmers reading books, suggesting that many developers now prefer to learn through hands-on coding and online resources. The author, Jeff Atwood, notes that the market for programming books is small compared to the number of programmers, and many books available are of poor quality. He criticizes the technical book publishing industry for producing books that are often not useful, particularly those aimed at novices that promote quick fixes rather than deep understanding. Atwood emphasizes the importance of reading quality programming books, which can provide timeless insights and enhance professional development. He shares a list of five essential programming books that he believes every programmer should read, highlighting their lasting relevance and practical value. Despite his criticisms, Atwood expresses a love for programming books and aims for platforms like Stack Overflow to complement rather than replace them.

- Many programmers now learn primarily through online resources rather than books.

- The quality of programming books is often poor, with few being truly valuable.

- Quick-fix books can mislead novice programmers and hinder their development.

- Timeless programming books can provide deep insights and are essential for professional growth.

- Atwood recommends five key programming books that every developer should read.

Link Icon 9 comments
By @minkles - 2 months
I don't read programming books any more because they are mostly shit or expensive or expensive and shit. The hit rate of finding a good one is so low it's easier to just fudge your way around a problem using some idiom you're already experienced with.

Just ambling around the book store earlier I saw a 3 inch think tome around Go programming called Pro Go or something. I opened it and it was a whole book of instructional copy and paste recipes that span 10 pages for a simple problem. Urgh. This is the status quo now and it has been for a long time. I walked out with a book on pure mathematics instead - probably more useful in the long run...

By @mandevil - 2 months
I try and re-read Fred Brooks' _Mythical Man Month_ every year or two. That is a short series of essays that I seem to always find a "new" idea from. My most recent re-read the line that stuck with me was "plan to throw one away. You will anyhow."

What I took from that given the situation I was in at time was that the best way to build an abstraction is to build the first one without any abstraction, and only then, when you understand how whatever is being abstracted will be used, try and build the abstraction layer, rather than starting with the attempt at abstraction. There are other ways to interpret it- it can point you to a more Agile design philosophy even though he was writing decades before the Agile Manifesto.

By @smusamashah - 2 months
" The Design of Everyday Things" is a great non-programming book that programmers should read. It tells you why/how you should make things more usable for your users. If you find yourself failing to use something properly, it's not you being stupid, it's the design.

Design of doors is famously known example from this book.

By @jll29 - 2 months
Some counter-examples:

- Structure and Interpretation of Computer Programs

- C Interfaces and Implementations

- Design Patterns

- Compilers: Principles, Practice and Tools

Each of these should make you go "a-ha!", in its own way.

By @ofrzeta - 2 months
Another good book (also quite timeless) is Osterhout's Philosophy of Software Design (though it's less philosophical than the title might suggest).
By @taeric - 2 months
Amusingly, I thought Code Complete was disliked now? I thought it was fun, but definitely over sold on things.

I liked the other ones, even if I don't remember take aways from them at the moment.

I do reject the Knuth observation here. Annoyingly, most criticism you will ever see of a Knuth book are from people that never read them. Not that I don't get the point, as following closely behind that group are those that bought but never read them. Especially with the newer volumes, there are a lot of very fun topics covered.

And, sure, you are best not putting together many of the low level things that are covered in those books. But... you are also best not blindly following whatever is in the other books, too? Again, many folks dislike Code Complete for fairly solid reasons.

By @RyanOD - 2 months
Maybe consider a subscription to Safari Bookshelf instead. Everywhere I've ever worked, they've been happy to foot the bill for an annual subscription so I have a deep reference library.
By @larve - 2 months
I actually find the quality of programming books to have starkly increased in the last decade. I find a lot of manning's and o'reilly's release to have a pretty long shelf-life.

For example, I really enjoyed and often go back to:

- https://www.oreilly.com/library/view/building-event-driven-m...

- https://www.oreilly.com/library/view/designing-data-intensiv...

- https://www.manning.com/books/100-go-mistakes-and-how-to-avo...

- https://www.amazon.com/Systems-Performance-Brendan-Gregg/dp/...

And more recently:

- https://www.manning.com/books/build-a-large-language-model-f...

- https://www.manning.com/books/the-creative-programmer

- https://www.manning.com/books/the-programmers-brain

- https://www.amazon.com/Understanding-Software-Addison-Wesley...

I also find books about specific technologies that indeed run the risk of being deprecated after a few years to be useful too

- https://www.oreilly.com/library/view/networking-and-kubernet...

- https://www.brendangregg.com/bpf-performance-tools-book.html

Furthermore, nothing keeps you from reading books about topics peripheral to computer science, say to keep up with the general vibes:

- https://www.amazon.com/Probabilistic-Machine-Learning-Introd...

- https://www.amazon.com/Deep-Learning-Foundations-Christopher...

- https://www.amazon.com/Joy-Abstraction-Exploration-Category-...

I find that all of these contribute significantly to my growth as an engineer.

By @koinedad - 2 months
Computer programming books have a special place in my heart. I really like the idea of them. I think my brain is limited in how much it can retain from a book vs things I see and encounter daily though. My memory is optimized for urgent/important/daily use.

There’s a lot of non-programming books I really enjoy though as well.