Devil in the Stack: A Code Odyssey
The title, Devil in the Stack: A Code Odyssey, hints at a serious critique of coding and Big Tech, but what emerges is a sort of literary algorithm that fails to “compile”—that is, to translate into a cogent presentation.
To be fair, author Andrew Smith is a journalist who decided to learn coding, and his aim in this book was to chronicle that journey, not advance a scholarly argument. “I didn't want to learn to code so I could make things, I wanted to make things as a way of understanding how code was reshaping my world, was redrawing the relationships through which I understand myself to live,” he writes.
Throughout the book, Smith reflects with enthusiasm on what he’s learned, coming to view the loading of a web page in a browser to be "like a murmuration of starlings, in one sense alive . . . and suddenly this impresses me as intensely beautiful, embodying that seraphic state of creative nirvana I’ve been dreaming of since I first picked up a pencil."
But the way Smith interweaves musings about Big Tech, coder culture, brain science, and social transformation across 420 pages can leave the reader feeling a bit unmoored. It may even step on a few scholarly toes.
For instance, one of Smith’s ideas is that there is a pernicious tendency in coding and algorithms toward “abstraction.” The technological “stack” itself is a hierarchy of abstractions, he explains, the lowest level being machine code (on silicon chips) and the highest being beginner coding languages that anyone can learn.
But Smith appears to fashion abstraction also as a devil in the stack, a way of thinking that strips out the nuances of human realities, thereby distancing coders, and thus code, from humanity. For a sign of this he points to an acquaintance at Google who expressed a surprisingly cavalier attitude toward people living on the streets.
Upset to encounter such a callous analysis of homelessness “within a person who does not strike me as natively callous or cruel,” Smith concludes the attitude must emerge from the problem of abstraction: “The key to my upset, to the disturbance I feel, is—how had I not see this before?—abstraction.”
One problem with Smith’s conclusion is its tendency toward, well, abstraction. Smith rightly links his acquaintance’s opinions to an ideology that is popular in Silicon Valley: libertarianism. But he ignores the fact that liberal and even conservative ideologies require high levels of abstraction too. And they often have a more nuanced, and in many cases empathetic, understanding of homelessness.
Technological systems may (or may not) be increasingly mediating human experience through reductive, context-stripped representations. But Smith doesn’t explore the possibility that coding may be turbocharging an existing human impulse. After all, scientific traditions have always favored clean, mechanical models over messy, interconnected, human realities.
Smith also leaves out that AI systems of today can crunch massive amounts of data and thus incorporate more nuance. Yet algorithms are also often trained to maximize profit to, for example, deny insurance claims for health care. The devil in the stack may be less about abstraction than profit-making.
This is well covered in books like Chokepoint Capitalism by Rebecca Giblin and Cory Doctorow and The Power of One by Facebook whistleblower France Haugen. Yet even when he does reference experts on the topics he explores, Smith sometimes misses the mark entirely. In mentioning Haugen, for example, he ventures that Facebook’s leaders might have “cared but didn’t know what to do short of shutting down the algorithm.” In fact, Haugen explicitly defined ways to redesign the algorithms without shutting them down and showed that among leadership, there wasn’t the will to change.
The philosophical terrain Smith attempts to navigate is also well traversed in books like ethicist Shannon Vallor’s The AI Mirror and technologist and humanist Jaron Lanier’s You are Not a Gadget, but Smith only gives Lanier a nod, and only in relationship to digital music.
Another oddity is that companies wield code mainly through user interfaces, but Smith doesn’t mention them until page 378, where he explains that “UX” stands for user experience and that “without the UX team, code means nothing.”
By that time, Smith has already explained Python loops in detail, including his thought processes during his studies: “When I first saw the word ‘frame’ linked to the ‘zombie’ object by a period in this line, I assumed it to be a method, the species of function that attaches directly to an object and makes it do something.”
While Devil in the Stack is a catchy title for another kind of book, a better title for this—to properly set reader expectations—might be A Journalist’s Coding Odyssey. A narrower focus on Smith’s personal experiences attending coding conferences, meeting coders, and working with “civic coding” groups would have made for a more cogent book.