One of my favourite books from 1997 is Ellen Ullman's collection of essays, Close to the Machine. Ullman began her adult life as an aspiring writer, diverted into software engineering for a decade or three, and from there found her way back into writing. Her 2012 novel, The Bug, recounted the travails of a programmer who spends a year trying to find and fix a single bug.
In Life in Code: A Personal History of Technology, we discover where Ullman got the idea: this was her situation in one of the jobs she writes about in her section on programming. She was, she writes, deeply disappointed when the bug turned out to be a typo, found by reading reams -- literally, as she had it printed out on paper -- of computer code with great diligence. This is the drudgery on which all the glamour of the new world we're programming our way into is based.
Life in Code is essentially a sequel to Close to the Machine, with chapters based on and adapted from previously published essays between 1994 and the present. However, new material -- including all of the final two sections -- makes up about a third of the book. Presented in chronological order, the pieces together chart the years in which the internet was commercialised and then, as small startups like Google and Amazon joined the ranks of the world's largest companies, colonised.
Ullman's observations of the developing online world are rooted in the real one. Living in the heart of San Francisco's technology district, Ullman was in a position to observe both the virtual world and its reflection in meatspace: as the boom brought startups and techies, the 2000 bust emptied them all out again, and then as the regrowth began turning downtown San Francisco into a bedroom community for the geeks working in the suburbs.
Executive's guide to the future of enterprise apps
I can attest personally to the weirdness of this reversal and the resentment it provokes: in 2015, at a downtown San Francisco restaurant a diner at an adjacent table, wearied of our ageing-hippie table's long discussion of Quora, yelled at us to "Go back to Palo Alto!". Utterly wrong demographic, of course.
The book has five sections: Ullman's life as a programmer, the first internet boom, artificial intelligence, the lessons of history, and the second internet boom. She covers a lot of ground under those headings, from trying to pick a winner during the internet investment boom (like someone today trying to pick the moment to buy bitcoin), Y2K, the increasing isolation of individuals from wider society, and the question of whether her now-deceased cat Sadie is more or less of a trick than a toy robot cat that has been programmed to whimper if it hasn't been petted enough recently.
Silicon Valley tends to prefer to look forward, and it would be easy, from that point of view, to dismiss topics like Y2K as dated. But as Ullman's work makes clear, and as I also have written elsewhere, software is forever. Underlying BT's current web-based phone directory is a database system whose foibles I recognise from dialling it up via modem in 1993. Reading Ullman reminds you to be careful what you code: your grandchildren will be the ones to suffer from it.
Video: Software development rethink is all about design