Blog by Sumana Harihareswara, Changeset founder
Tropes, and Missing Stories, in Art about Programming
Hi, reader. I wrote this in 2019 and it's now more than five years old. So it may be very out of date; the world, and I, have changed a lot since I wrote it! I'm keeping this up for historical archive purposes, but the me of today may 100% disagree with what I said then. I rarely edit posts after publishing them, but if I do, I usually leave a note in italics to mark the edit and the reason. If this post is particularly offensive or breaches someone's privacy, please contact me.
"The Art of Python", the one-night arts festival about your experience of programming, is still open for proposals, till February 28th.
What experiences do we want to explore? We want variety -- because there are so many experiences we don't usually see! I hope we get a range of tones -- humor, awe, melancholy, anger, joy, and so on. And I'm curious about ones we often don't discuss factually in public, because they're embarrassing or because we have non-disclosure agreements.
But also: there are so many missing stories -- even when movies, shows, books, plays, songs, etc. include programmers/programming, I so rarely find that they speak to the joys and sorrows of our experiences.
I listed, as inspirations, some of the ones that get it right, and asked for prior art. But -- admitting that I'm nearly entirely limited to English-language media -- I'm taking a moment here to reflect more deeply on what we usually get, and don't, in mass-media art about programming.
Movies and TV shows: There are a ton of movies that get the Internet hilariously wrong, and movies/shows "about programmers" are often much more about spies or tycoons. We tell a lot of dramatic stories about penetrative hacking and hockey-stick startups, and then a few workplace comedies like Dweebs, The IT Crowd, and Silicon Valley. I never saw Code Monkeys, which may have resonated more.
Halt and Catch Fire, which I enjoyed, is the only TV show I know of that is realistic about programming and its social and economic context. An important relationship starts, and is repaired, when people help each other recover from data loss. People who think that just making good hardware/code is enough for a good career find that, unless you pay attention to intrapersonal, interpersonal, organizational, economic, and social issues, you might still be able to make a living, but your work is far more likely to go into the trashbin where no one will ever use it. And: so many office/work shows are basically about people who do the same jobs for a super long time. Halt and Catch Fire reflects the reality of how you run into the same people over and over in different companies and jobs and configurations, teammate, boss, investor, competitor, family, conference co-panellist, and you bring your past to it but you can also grow, especially thanks to the healing power of making stuff together.
Written fiction: I know of no novel-about-programming as magnificent as Ellen Ullman's amazing 2003 debugging detective novel The Bug. One of its point-of-view characters is already a programmer when the story starts, and The Bug helps us understand Ethan's bug-hunting fugues, obsession, anxiety, and volatile bounces between certainty and insecurity:
Step, step, step.Some part of him knew that he should get away from the debugger. He should get away from the machine, stop and think on a yellow pad, a whiteboard. He wasn't making headway like this. He kept beating against the same certainties--here, else here, else here. Writing and sketching might break his thinking patterns, force him into other channels. But there was something seductive about the debugger: the way it answered him, tirelessly, consistently. Such a tight loop: Step, he said. Line of code, it answered. Step, line of code; step, line of code. It was like the compulsion of playing solitaire: simple, repetitive, working toward a goal that was sure to be attained in just one more hand, just one more, and then one more again.
And so the paradox: The more the debugger remained the tireless binary companion it was designed to be--answering, answering, answering without hesitation or effort late into the night--the more exhausted and hesitant the human, Ethan Levin, found himself to be. He was sinking to the debugger's level. Thinking like it. Asking only the questions it could answer. All the while he suffered what the debugger did not have to endure: the pains of the body, the tingling wrists and fingers, the stiffness in the neck, the aching back, the numb legs. And worse, the messy wet chemistry of the emotions, the waves of anxiety that washed across him, and then, without warning, the sudden electric spikes of panic.
The other is Berta, an academic-turned-tester-turned-programmer who looks back on the mystery -- and on her journey towards greater engineering skill -- with the wisdom of decades in the industry.
There might have been a hundred better ways to talk to a computer, but Ethan Levin had copied the Mac, which had copied the Xerox Star, which was later copied by Microsoft Windows. Who knew our mistakes would prove so durable? ....And that was it: a tester found a bug, a programmer ignored a tester, a bug report went to the top of a pile on a programmer's messy desk -- nothing could have been more normal than what had just happened.
The Bug is Ullman's attempt to write "a historical, technical, Gothic mystery" about the debugging process, and I think it's terrific, and not nearly enough people in our industry have read it, and I urge you to do your bit to change that.
Music: MC Frontalot and Dilbert and Jonathan Coulton used to mean a lot to me. I am literally in the documentary about Frontalot. On reflection, a lot of Dilbert is generally about corporate office work, and a bit of it (such as "I'm gonna write me a new minivan!") is particularly tech-specific. Frontalot and Coulton sing a lot about being nerds, but somewhat less about being nerds who make technology. (Some of Coulton's work that's applicable: "Code Monkey" of course, and "A Laptop Like You", "Robots.txt", and "The Future Soon" -- often ruefully discussing alienation and the way we sublimate our anxieties into our making.)
And Barcelona still holds up in depicting the way that computers can feel like friends, how we make software that feels like a companion, how we make friends across networks and then use those same networks to get back at them ("I Have The Password To Your Shell Account"), how dreary the troubleshooting treadmill feels ("Bugs Bugs Bugs"). Paul Morris talked with me about how some of Radiohead's work gets at the narrowing-field-of-vision experience of being deep in a debugging session, with the long droney periods punctuated by surprises.
Comics: And there's a whole huge conversation I probably need to find about programmer narratives as told in webcomics over the past 20 years. Randall Munroe's tagline for xkcd is "A webcomic of romance, sarcasm, math, and language." and that attention to emotion ("romance") is part of the secret of its success. Ryan North's progression from Dinosaur Comics to Marvel's The Unbeatable Squirrel Girl -- which is partially about studying CS and using programming to solve problems -- succeeds at illuminating programmer experiences in ways that literature researchers have probably studied!
Stand-up comedy: I think the only major stand-up comic who ever talks about anything close to programming is Brian Malow, who jokes much more about physical and biological sciences.
What I want: We put several ideas in this part of the play creation guide. But also, I'd love art about, for instance:
I asked Siderea, a programmer-turned-psychotherapist whose essays I enjoy, what stories art about programming often misses, and what experiences she'd like to see reflected in art:
I would like to see art about programmers dealing with the things that can suck about being a programmer:So please take a look at "The Art of Python", the one-night arts festival about your experience of programming, and consider proposing your art before February 28th. (And you can submit performance-style art to !!Con by March 3rd.)
- Programmers dealing with unreasonable, deceitful, and manipulative management, in the ways which are specific to "overtime exempt" programmers (i.e. if you are not willing to work 120-hour weeks, you aren't really a team player)
- Programmers who are minorities dealing with broism
- Programmers realizing that what they're working on is immoral or illegal, and deciding what to do about it; programmers not realizing the moral/legal implications of what they're working on until too late
- Programmers dealing with difficulties without help because non-programmers don't even understand what the programmer is trying to say
- Programmers dealing with the stresses of writing life-impacting code (e.g. embedded systems in vehicles, medication administration systems, etc.), especially in the situation of being without managerial support for adequate QA.
- I would add something about work assignments and junior or unpopular people getting tasked to do awful or impossible tasks. Coding equivalents of Augean Stables. "Oh, we don't really have a role for you any more, so, uh, why don't you refactor this core business system for the web written in C with FORTRAN plug-ins by the most disgruntled employee we ever had."
- Ooh, here's a thing: I'd like to see art about programmers not working in software development companies. In particular, about the (sometimes disturbing) things programmers learn about other industries when they take jobs, e.g. at insurance companies, in health care systems, with the government, in the space program, etc.
And if you blog somewhere about what tropes you see in art about making technology, let me know and maybe I'll add those links to this post!