The impulse to write my first non-fiction book, Geek Sublime: Writing Fiction, Coding Software, came from my own lived experience as novelist and sometimes-programmer.
Both professions require a daily engagement with language, and programmers as well as writers search for clarity, expressiveness and elegance. And both subcultures produce their own hierarchies of value, their own mythologies.
A lot has been written and read about writers, but the culture that produces computing – and therefore the social and political landscapes we live in now – remains largely unknown to outsiders.
Here is a selection of books that offer insight, that might constitute an informal anthropology and history of computing.
1. Code: The Hidden Language of Computer Hardware and Software by Charles Petzold
Despite being surrounded by computers, most of us have no idea how they work. In this masterly exposition, Petzold starts from first principles, showing how machines use logic to compute numbers. His writing is clear, eloquent and entertaining, and once you've read Code, you will never again treat computers as mysterious, magical objects. An essential companion piece to Petzold's book is James Gleick's The Information: A History, a Theory, a Flood. Gleick's engrossing history of information theory illustrates our dawning understanding of the fact that we are "creatures of information" who live in a universe that is also information: a "bit" – a fundamental unit of information – can be a magnetised fleck on a hard disk or a gene or a quantum particle. Along the way, Gleick introduces the reader to the pioneers of information theory – Claude Shannon, Alan Turing, Ada Byron – and their groundbreaking ideas.
2. The Soul of a New Machine by Tracy Kidder
More than 30 years old, but still unsurpassed as a description of working programmers and the problems they tackle. Kidder watched the engineers and programmers at the Data General Corporation build a new minicomputer in just a year; the "veterans" on the project were 35-year-olds who hired fresh college graduates willing to sacrifice themselves to make the machine work. This story of epic effort, technical idealism and management cynicism is repeated in many a startup today.
3. Hackers: Heroes of the Computer Revolution by Steven Levy
The story of the heady early days of the invention of personal computing is nowhere better told than here. Levy compellingly recreates the guerrilla actions by the members of the MIT Tech Model Railroad Club, who attempted to liberate mainframe computing from its watchful bureaucratic guardians and make it accessible to the masses, and also the excitement and creativity of the Homebrew computer club, which first met in a garage in Menlo Park in 1975 and brought together Steve Wozniak and Adam Osborne and many other scruffy eccentrics who created personal computing.
4. Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software by Scott Rosenberg
One of the peculiarities of Silicon Valley culture is that failure can be a virtue, as long as one fails honourably in an attempt to create something new and learns from the failure. Large software projects crash and burn more often than outsiders might assume, and Rosenberg shows the reader why. His sympathetic but clear-eyed depiction of the effort by a hand-picked team of programmers led by Mitch Kapor (the creator of Lotus 1-2-3) to create an all-encompassing manager of personal information becomes a worthy modern successor to Tracy Kidder's ode to the heroism and hubris of coders.
5. The Computer Boys Take Over: Computers, Programmers, and the Politics of Technical Expertise by Nathan Ensmenger
Eniac, the first fully programmable computer put into operation, was programmed entirely by women – the famous "Eniac girls" – continuing a tradition begun by Ada Byron and Grace Hopper. Yet, programming – especially in the US – has become a mostly male domain; one that is plagued by sexism and a weird geek machismo. Ensmenger shows how and why this might be so in his perceptive, pioneering history. He argues that the "masculinisation of computing" was a contingent social and political process that attempted to restructure what was at first thought of as a clerical, "mechanical" service – similar to those provided by secretaries or telephone switchboard operators – into a demanding intellectual discipline requiring intelligence and creativity. The exclusion of women from this newly reconfigured sphere was purposeful: "professionalisation" requires masculinisation.
6. Dogfight: How Apple and Google Went to War and Started a Revolution by Fred Vogelstein
Here, the hackers have grown up and become ruthless corporate overlords. They betray each other, lie, engage in endless battles over the billions of dollars at stake in mobile computing, and "go nuclear" with patent lawsuits. Vogelstein is a veteran journalist who has reported on Silicon Valley for decades, and his patiently cultivated sources reveal the truth behind all those choreographed product presentations that have so beguiled journalists and consumers: "yelling, screaming, backstabbing, dejection, panic and fear".
7. Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture by David Kushner
Computer gaming is now a bigger industry than Hollywood. Kushner takes the reader back to the mid-80s, when computer games were played mostly by shut-in nerds. The "two guys" of Kushner's title are "the two Johns", John Romero and John Carmack, who founded the aptly named id Software and created a seminal series of games: Wolfenstein 3D, Doom, Quake. In his portrait of the now-legendary duo and their rocky relationship, Kushner creates a vivid picture of obsession, extraordinary technical skill and creativity pitted against severe hardware constraints, and a gaming industry coming into its own.
8. Microserfs by Douglas Coupland
As fiction and social document, Microserfs holds up well. If you want to know what it's like to be a common drudge inside the great feudalistic machines of software production, and to experience the exultation and terror of startup life, this is the book to read. Similarly Ellen Ullman's The Bug is a beautifully written novel about a programmer's attempt to find, fix and vanquish a computer bug or error so elusive that it is given a name: "the Jester". The protagonist's quest after this ever-vanishing and reappearing "Heisenbug" becomes a poignant meditation on technology's effects on humans.
9. The Culture novels by Iain M Banks
Techies are vividly alive to the possibilities of the future, so it's no surprise that their favourite genre is science fiction; I myself share the widespread geek love for these novels. The Culture is a galaxy and species-spanning post-scarcity, utopian, anarchist society, which Banks uses to explore fundamental questions about morality, pleasure and metaphysical meaning. Read the whole sequence, but if you must choose one, start with The Player of Games, in which life itself becomes a game.
10. The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine by Charles Petzold
And finally, a pick for when you are feeling especially adventurous and curious. Most of the time, we non-scientists make do with explanations of theoretical advances that are finally just collections of mystifying metaphors and hand-waving gestures. In The Annotated Turing, Petzold – one of the great explicators of our time – provides a painstaking, line-by-line and dazzlingly lucid reading of Turing's famous 36-page paper On Computable Numbers, with an Application to the Entscheidungsproblem. By the end of Petzold's commentary on Turing, you will understand what the Entscheidungsproblem was, and you will have come into close contact with the thinking that created the Turing Machine and so changed our world.
•