Super-power

Programming is certainly a super-power, but it doesn’t require a superhero to do it. There’s an important distinction between the power code has to change the world and the power a coder has to write code. Let me explain.

Two years ago, I ordered a water with ice on a cross-country flight. When I had finished the water, I began to do the unthinkable: chew the ice cubes. Two days later, the resulting heat sensitivity in one of my teeth was so intense I had to get it checked out. Given that I was out of town and away from home, I wasn’t sure what dentist to use but trusted Google reviews enough to get myself in the door at one. As the x-rays emerged, I stared in confusion at these grayscale photos of my teeth–what could it possibly mean? There were dark spots and light spots, thin lines and thick lines. As hard as I tried, I couldn’t see which tooth was the problem one or why that might be, but the dentist didn’t bat an eye. He identified the deep roots which were touching the nerve and pointed out subtleties on the display I submitted myself to nodding to, despite not actually seeing what he saw. That identification was necessary to fixing the problem. Three days later I could eat anything I wanted, but of course I stayed away from chewing ice cubes.

Was that dentist a superhero, a magician? The results certainly were fantastic and I couldn’t quite explain to people what had been wrong and what had been done to fix it. However, from his perspective, it was simply another standard operation. He had spent time learning the necessary skills to understand the intricacies of the mouth and how to operate tools to repair it. This is not to say “anyone can be a dentist,” but that anyone can understand that dentistry is a skill that is acquired, not innate. Similarly, programming is just that: a learned skill. Even the greatest coders once wrote “Hello world” or equivalent programs.

Of course, code does have this super-power-like potential. A couple lines of code can affect millions, even billions of users. However, I’m weary of referring to programming as a super-power since it’s the scale of the infrastructure that gives it potential, not necessarily the person writing the scripts.

In his Wall Street Journal opinion, Why Software Is Eating the World, Marc Andreessen details many of the industries that have been transformed by software–perhaps even “eaten up” by it. It’s a little bit harrowing to see software portrayed in this perspective. The things we do with code today are so much more expansive and life-altering than those we did with it 10 years ago. It is the infrastructure and the application that gives code its potential, not the coders themselves. In a sense, I’m arguing that coders are expendable–at a certain level, anyone who can code can accomplish the same task. It’s then about the context of the code–what information the code has access to, the computer power it has access to, and the goal of the code–that actually represents the super-power.