
The books I’m thinking about might not be quite as old as the ones in the photo, but at least some of them will have I hope the patina of age. One of the slightly poignant aspects of working in computing is that the experience, skills and knowledge gained by many gifted individuals working in IT are frequently lost within a few years – even if they commit their thoughts to a book. Unlike a novel or a work of art, the solutions and tools created by (say) Kernighan and Ritchie in The C Programming Language will one day be completely forgotten, as new languages and new processes replace them. More fundamentally, organizations seem to have a knack for forgetting what they have learned. That seems a shame.
Can any insights from the IT world be saved? Is all IT knowledge doomed to be forgotten within a few years? I believe that some aspects can and should be celebrated. Although specific languages come and go, some principles of IT remain constant. At least some of these principles are revealed in a small number of titles that have often outlived the immediate circumstances that gave rise to them, but which remain valid nonetheless. An example is Don Krug’s Don’t Make Me Think!, a guide to basic principles of web design. Unfortunately, it was written before the age of the smartphone, and so it should now be obsolete (almost every sentence needs to be qualified “except for mobiles”), but which has such fundamental observations in it that we live with its slight creakiness (I should add that in the latest edition of the book, Krug has added an extra chapter on design for handheld devices. It’s better than nothing, although the same book written entirely today would be very different.).
So my criteria for this list are: a book that can be profitably read by a non-specialist, and which reveals something fundamental about the way a developer approaches a problem, or alternatively, that reveals something about the way that general, non-technical users interact with (or don’t interact with) computing professionals. In other words, my list is of books that are about IT, rather than being solely within IT. I am not a coder, and although I can admire an effective programming solution per se, I don’t think the general public is much the better for knowing that the sorting algorithm in the software they are using is particularly fine.
By reading, or at least by being aware of the approach of these books, users will I believe learn much of the IT-aware approach to solving problems. This may not always involve an IT solution, paradoxical as it may seem. I am convinced to this day that the first developer I ever hired was so keen on coding that he would have written a C++ program if I asked him to post a letter. Being IT-aware means, in this case, having sufficient awareness, world knowledge, call it what you will, to decide if a computing solution is appropriate: not “can we build it?”, but “should we build it?”. If it takes two hours to code, and two minutes to do by hand, then perhaps the computing solution is not worth pursuing. If it is the other way round, then I would hope everyone recognizes the benefit of a software solution, perhaps as a result of one or more of these books.
What are the great books? I’ve already written about why I think some of them are worth reading, and my list of the top ten books will probably change by the time I get round to writing about all of them. I fully acknowledge that in the compilation of a top-ten list I will stray into related areas such as business development, business processes, psychology and leadership. I don’t think this matters, if in creating this list some titles of relevance outside computing have their lasting relevance signposted. The books don’t need to be old, but I acknowledge the list is probably biased towards older titles. There is at least one classic Agile (or rather lean development) title, but the list is probably lacking classic Agile titles, because there are so many Agile titles on the market at present and it is difficult to identify genuine contributions to the literature for very recent titles. What appears to be a unique insight often turns out to be received wisdom repeated without always much understanding. The list is restricted to titles I have read; I could certainly make it ten books, but I resisted the temptation to add several books that people say are great (like those “great” films that nobody ever watches).
In no particular order, they are:
- Steve Krug, Don’t Make Me Think! (2000)
- Eric Ries, The Lean Startup (2011)
- Fred Brooks, The Mythical Man-Month (1976)
- Tracy Kidder, The Soul of a New Machine (1981)
- Gerald Weinberg, The Psychology of Computer Programming (1971)
- Alan Cooper, The Inmates have taken over the Asylum (1998)
- Tom DeMarco and Tim Lister, Peopleware (1987)
I confess to a bias – I enjoy books with jokes. I prefer books to be short. These are not very respectable criteria for choosing classic books, but there you are.
Inevitably a selection of this kind will have some unclear borders. It is reasonably simple to state that books about the art of coding, whether one language or several, are out of scope. Hence I discount undoubtedly classic but challenging books such as Knuth’s The Art of Computer Programming (even if I had read it, which I have not, and though it is undoubtedly appealing to think that many problems in life can be reduced to a number of canonical coding solutions). I also omit titles such as Douglas Norman’s The Design of Everyday Things, which, wonderful though it may be, is not a book primarily about IT, even if one that has lots of insights in how to design things that people will use.
Let me have your ideas on the classic computing titles. The ones in the list I have not written about in a separate post will be included in forthcoming posts. Happy reading!

Peter Ashby
I’m sadly wondering about those who will shape computing thro mid C21st, and the extent to which ‘books’ feature in their ‘grounding’ = Animated videos and online chats?
Keep your thinking coming to the attention of all MU. Thanks
Alexander Powell
Fun topic, Michael! I have three of the books on your list. Other books I’ve found stimulating or which have influenced the direction of my thoughts include these (in no particular order):
Steven Levy / Insanely Great
Steven Levy / Artificial Life
Geoff Barnbrook / Language and Computers
Baeaz-Yates and Ribeiro-Neto / Modern Information Retrieval
Wolff and Yaeger / Visualization of Natural Phenomena
Andy Clark / Microcognition
Andrew Hodges / Alan Turing: the enigma
A.K. Dewdney / The Armchair Universe
Rasmussen / The Agile Samurai
Michael Upshall
Thanks, Alexander, I’ll have fun looking these books up. Of course, there should be a new list of classic texts about genAI and LLMs – are the books there yet?
Alexander Powell
There are a few genAI books that are rather prominent shall we say, but it might be premature to pick out future classics when the field is evolving so fast.
That said, there’s a lot of valuable background to the current LLM scene, direct from the practitioners’ mouths, to be found in ‘Architects of Intelligence’ edited by Martin Ford.
Less prominent but a title I like for the historical connections it draws is Michael Pace-Sigge’s ‘Spreading Activation, Lexical Priming and the Semantic Web’.
Helen King
I love lists like this, I don’t think these any of these are ‘great’ or in the same class as Fred Brooks, The Mythical Man-Month but here are a couple of AI/computing related titles I’ve recently read & my thoughts:
Co-Intelligence: The Definitive, Bestselling Guide to Living and Working with AI by Ethan Mollick – well written, accessible, and interesting on GenAI and how we might coexist.
How To Think About AI by Richard Susskind, I needed a couple of attempts to get into this, but I think there’s something quite profound in his discussion about people who value outcomes v people who value process and what that means for professions.
The AI Con by Emily M. Bender and Alex Hanna. I struggled with this one, I listen to their podcast I’m familiar with their points. I found the book a bit too much of a lecture about how AI is bad (partly a problem with the audiobook narration). I found the jumping between AI/GenAI examples a bit confusing at times.
Nexus by Yuval Noah Harari. I think I need to reread this one – interesting history but not a book I would rave about, I may well have missed the point given how much hype this book got.
Careless People by Sarah Wynn-Williams. Interesting and gossipy look back to early days at Meta but definitely not a classic and the details are disputed but fun/distrubing.
I’ve not read Superintelligence: Paths, Dangers, Strategies by Nick Bostrom but so much of what I am now reading seems to quote this book.
Can you include science fiction? I think these have more to say about GenAI and the future we might be heading towards than non-fiction, couple of favourites:
The Diamond Age by Neal Stephenson
The Great Automatic Grammatizator by Roald Dahl
Michael Upshall
Great ideas! I’ve read Co-Intelligence, and it was one of the best books about AI I’ve read. I like the idea of science fiction books, at least in principle, in the same way that Peter Frankopan said of The Cherry Orchard, by Chekhov: “You learn much more about Russia before the revolution by reading The Cherry Orchard than you will by studying the tsar and his land reforms or other decisions made in St Petersburg by the leadership.”