Programming is Magic and I am a Magician

We programmers appear as one thing to those shrouded from the mysteries of writing code and present as another entirely to those engulfed in technical prowess. We are magicians to the uncanny. We are thinkers to the privileged. We can recreate thought outside the confines of our mind and engineer pragmatic solutions as if by sheer prestidigitation. A few keystrokes and we can appear to move mountains.

Yet not all programming is what it appears. Much of what is accomplished through code is inefficient, unwieldy, and utterly chaotic when scrutinized with pellucid sight. But effectiveness can be overbearing to efficiency when it comes to pragmatism. Because we are more affected by results than we are by mechanics or process. When you watch Google’s DeepMind play the world Go champion and beat him you are witnessing what appears to be indubitably greater intelligence at work. Though when you realize that DeepMind requires more energy to think its way through a single Move than a human will require in 10 life times you are pressed to reconsider the mastery of this machinery. Our brains use less electricity than it takes to power the average lightbulb. The electricity required for DeepMind to make a single move in Go is enough to power several thousand modern homes. One of these is a highly inefficient colossus of wizardry and the other is a highly efficient diminutive augur.

Most people believe that programming is about understanding machinery. I assure you it’s not. Anyone that thinks this is sorely misled. Programming is actually about understanding how you think. Because it is how you think that reflects on the process of attaining results through machinery. It is how you think that expresses process to a cold lifeless hunk of metal, which only knows what it’s told. Our ability to explore epistemological constructs and delve into the aptitudes of reason is what sets us apart from these machines. A machine never tires and is ever predictable. A human, however, is easily fatigued and highly unpredictable. So the two can complement each other in unusual ways.

This is why I love writing code. I admire the process of having to learn how to think in order to set thought free into the wild and watch it interact. I relish the vicissitudes of reach that technology has to offer. I am beholden to creation as I witness and become a part of its processes. I do not write code because I am smart. I am smart because I write code. Writing code has taught me how to become more creative, more impactful, and more curious than ever before.

So become a magician like me! Take a step towards learning how to program and I assure you — even if you don’t become great at it — it will teach you something new.