If many of the predictions about technology hold true, then we have witnessed only a glimmer of what lies ahead. The wonders and misfortunes of technology will increasingly influence how we conduct our lives, at what speed we carry out our lives, and how we interact with others. In those future times, our ability to think carefully and sensibly about technology will be crucial — just as it is now — if we are to control technology, and not the other way around.
In Bitwise: A Life in Code, David Auerbach offers a unique perspective on the fascinations of technology as well as how it can often blight our sensibilities when thinking about our fellow human beings. While Auerbach is an articulate and often powerful writer, this is not a book of emotional diatribes or narrowly argued theses; Auerbach neither doles out heaps of praise regarding technology nor unfairly scolds it for its shortcomings. And there are few categorical prescriptions for how we should (or shouldn’t) make use of technology.
But what is contained within these pages of this engaging, if sometimes erratic, memoir is a great deal of methodical thinking. Auerbach not only spent many years as a professional programmer — first at Microsoft, then later at Google — but he is one of those relatively rare individuals who has deep and sustained interests in two quite different areas: computers, coding, and technology, on the one hand, and literature, philosophy and the humanities, on the other. This is a feature of Auerbach’s worth highlighting, because what often prevents us from experiencing (and critiquing) our world in a more effective way is an overeagerness to view things from a dominate perspective.
Auerbach’s memoir begins with nostalgic reflections on childhood. As a kid, computers were one of the first things to spark Auerbach’s young mind; writing very simple code was a way to find precision and understanding when social interactions proved rather challenging. As he grew up, so too did the nascent world of personal computing. He discovered different programs and coding languages, which in turn led to an awareness of the different realities possible within a given program.
This was no less true in the realm of computer games. In various sections of the book, Auerbach describes how different games (and the programmers behind them) allowed for players to interact with created worlds. Algorithms played a crucial role in this. The complexity and multiplicity of scenarios within a game stemmed in part from the makeup of the code: in general, the greater the complexity of algorithms (and computing power), the more that was possible within the game. But, as Auerbach relates in several humorous anecdotes, unintended consequences could also arise from carefully written computer language. In the video game Dwarf Fortress, for example, previously written code unintentionally allowed for “cats getting drunk and vomiting” after licking their paws in a tavern.
Not all of Auerbach’s discussions on the intricacies of code will be absorbing to all readers, in part because the content can be arcane. But in these sections and others — including those relating Auerbach’s hard-earned learning experiences at Microsoft and Google — one of the central themes is that the interaction between software engineers and computers is a dynamic, and sometimes volatile, two-way street. Computers can be precise, and they can interact with enormous amounts of data in ways that human beings simply cannot. But they can also spit out results which reflect our biases, mistakes, and sometimes sheer carelessness.
As Auerbach demonstrates throughout the book, there are many implications of this. In some cases, the implications are subtle and rather innocuous; in others, they are explicit and detrimental. In one of the book’s most sustained chapters, Auerbach describes how technology can easily end up eroding the exquisitely nuanced pictures of our human selves. There are multiple, complicated reasons for this, but one of them is an ill-guided reliance on taxonomies along with the algorithms which are created to (more or less) follow those taxonomies. As Auerbach writes, “By standardizing classification and making explicit our social classifications, computers have amplified the gaps and biases in our concepts to their breaking point.”
Auerbach examines this trend from a variety of angles — from personality tests such as the Myers-Briggs Type Indicator, to big data and Facebook’s “like” system — as well as the many well-known ramifications of this phenomenon. One of his most trenchantly argued points is that while classifying and labeling people for data purposes may sometimes be relatively harmless, others times they’re not; and when labels and data stick to a person, sometimes indefinitely, people are reduced from their unique selves to rigid (and often inaccurate) digital identities.
Furthermore, argues Auerbach, classifications which do not sufficiently take into account the nuances of our protean world become dangerous when we treat them as matter of fact. He writes, “Such a classification becomes an ontology to us, a way of seeing and carving up the world.” This is a point that Auerbach elaborates on in many sections of the book, and it makes for some of his most compelling discussions.
Bitwise is a smart and challenging book — but also a peculiar one. While it can comfortably be classed as memoir, it’s certainly other genres as well (namely philosophical essay and condensed history), and often times it’s many things at once in the span of a single section. For precisely that reason, there are times when the book feels jumbled and confusing, sometimes irritatingly so. But because Auerbach is a wonderfully idiosyncratic writer — and often a humorous one as well — lapses in this regard don’t significantly take away from the book’s many attractions. Auerbach has written insightfully on how we influence technology, and vice versa. In doing so, he has also written a powerful reflection on the differences between ourselves and our machines.