Over the last decade, I have belatedly realized that programmers can’t understand what they ought to build without reading other things as well. The books below have helped me understand just how intellectually impoverished Silicon Valley’s worldview is; if you find them useful, I’d appreciate suggestions for additions.
Note: this list is a partial, incomplete, and inadequate replacement for what I hoped the “Stuff That Actually Matters” project would produce. What I really want–and what I think tech desperately needs–is an approachable one-volume distillation of all this along the lines of Bryson’s A Short History of Nearly Everything or Conery’s Imposter’s Handbook. Producing it would cost less than the launch party for a new brand of phone; the fact that it ain’t gonna happen is just one more sign of how desperately we need it.
Karen Armstrong: The Great Transformation. Chronicles the critical centuries in which Confucianism and Daoism arose in China, Hinduism and Buddhism in India, monotheism in the Middle East, and rationalism in Greece.
Jean Baker: Sisters: The Lives of America’s Suffragists. Explains history through biography, and does well at both.
Stewart Brand: How Buildings Learn. One of the most practical thinkers of the 20th Century draws on his experience as an architect to explain how many other things in our society come to be as they are.
Alex Butterworth: The World That Never Was. Explores the early days of the anarchist movement, and in doing so shows how governments create the villains they need.
Matthew Crawford: Shop Class as Soulcraft. There are truths about ourselves we can only learn by interacting with things that cannot be swayed or bargained with.
Edzard Ernst and Simon Singh: Trick or Treatment. A sceptical (but not hostile) look at alternative medicine that is incidentally a great primer on standards of evidence and how to interpret scientific findings.
Peter Frase: Four Futures. Explores four scenarios in which our reactions to increasing automation and worsening climate change play out.
David George Haskell: The Forest Unseen. A peaceful, inspiring meditation on one square meter of old growth forest through the course of a year.
Adam Hochschild: Bury the Chains. “Slavery was to the nineteenth century what oil is today: morally repugnant but economically indispensible.”
Jennifer Hecht: Doubt: A History. Traces the evolution of one of the great traditions in Western thought (one which even today makes many people uncomfortable).
Hope Jahren: Lab Girl. An unflinching and beautifully-written account of a life in science.
Tracy Kidder: The Soul of a New Machine. The best book ever written about computing’s Silver Age.
Andro Linklater: Owning the Land. The idea that individuals can own land is a lot younger than most people realize, and its emergence holds a lot of lessons for today’s debates over intellectual property.
Samuel Moyn: The Last Utopia. Argues that human rights became the defining issue for post-war progressives only because others failed.
Siddhartha Mukherjee: The Emperor of All Maladies. A history of cancer and its (mis)treatment, and of the people it has touched.
George Orwell: Essays. The best writing from the best political writer (in English) of the 20th Century.
Pankaj Mishra: From the Ruins of Empire. Three intellectual biographies showing how the peoples of Asia have responded to the West.
Charles Petzold: The Annotated Turing. A line-by-line exegesis of Turing’s most famous paper, full of illuminating insights into the Golden Age of computing.
Jim Stanford: Economics for Everyone. A useful antidote to the abstract, unquestioning way that neoliberal economics is usually presented.
Zeynep Tufekci: Twitter and Tear Gas. A nuanced look at how social media is and isn’t changing politics and protest.
Ellen Ullman: Life in Code. The second volume in the author’s personal history of computing’s Bronze Age.
Jonathan Weiner: Time, Love, Memory. A great description of how science is actually done, and of what it’s like to have a life in science.
Susan Whitfield: Life Along the Silk Road. A history of Central Asia told in twelve biographies.
Richard Wilkinson and Kate Pickett: The Spirit Level. An evidence-based exploration of how and why greater equality is better for everyone.
And since we’re here: I’ve written several wishlists of technical books that don’t exist. My “wanna haves” for this page are:
Another book of this kind on the history of privacy.
Something that presents the ideas in James Scott’s Seeing Like a State in less academic form.
I started as a programmer, but somehow became a teacher. If I wanted to make that transition today, I would read the books listed below in the order they’re listed; if I ever turn How to Teaching Programming (and Other Things) into a proper textbook, most of it will essentially summarize these readings.
Both Major et al’s Teaching for Learning and Brookfield and Preskill’s The Discussion Book. The first catalogs a hundred different kinds of exercises you can do with students; the second describes fifty different ways that groups can discuss things productively. (These books can be used on their own, but I think they’ll make more sense once Huston or Lang have given you a framework for understanding them.)
Both De Bruyckere et al’s Urban Myths About Learning and Education, which conveys a lot of what is true about its subjects by telling us what isn’t, and Didau’s What Every Teacher Needs to Know About Psychology, which grounds learning theory in cognitive psychology.
Both Green’s Building a Better Teacher and McMillan Cottom’s Lower Ed. Learning never happens in a vacuum; as a start on understanding the broader context, these two short books explain why so many attempts at educational reform have failed over the past forty years and how for-profit colleges are exploiting and exacerbating the growing inequality in our society.
Possibly Guzdial’s Learner-Centered Design of Computing Education or Hazzan et al’s Guide to Teaching Computer Science. These are the most useful academic books I’ve found about teaching computing; your mileage may vary.
Both Papert’s [Mindstorms][mindstorms] and Watters’ The Monsters of Education Technology. The first presents an inspiring vision of how computers could change education; the second is a collection of talks describing and critiquing what we’ve done instead.
Brown’s Building Powerful Community Organizations, because you’ll eventually realize that you can’t teach computing without changing the system, and you can’t change the system without mobilizing people.
While working through these, I would also subscribe to:
Mark Guzdial’s blog, which is the single most useful source of information about computing education I’ve ever found.
The Learning Scientists, which is just as useful, and covers evidence-based teaching in general.
If you’re working in a formal classroom seting, I would also take an occasional look at SIGCSE, ITiCSE, and ICER, which are three academic conferences about computing education. (Unfortunately, many of their papers are behind paywalls that make them inaccessible to the general public, and I don’t know of equivalent gatherings for people working in free-range settings like coding bootcamps or weekend coding clubs.)