Code is strangely similar to magic

Ian Schumann
Nov 20, 2017 · 2 min read

I started seriously studying JavaScript in October 2017, around the same time I started considering a career change.

Owls: the original functional programming geeks

As I get further into this, I want to take notice of things along the way, and specifically how my mindset changes. This is a good thing to do, because one’s interior world is likely to change, and then one can forget how that world used to be. This creates an easy opportunity for misunderstanding, judgment, and other bad times between people whose interior worlds look different.

In other words, I’m taking note of the way this journey changes my interior world because I don’t want to be a dick.

So one of the first things I’ve noticed is: code bears a strange resemblance to how we classically conceive of magic.

Let’s consider the ways that this is true:

  • Magic is not done by just anyone. In order to invoke some magic you have to use arcane, exotic, or ancient languages, which are not known or understood by common folks.
  • The execution of your magic is easy to mess up — quite a lot depends on mastery of the arcane language’s word order and accent, various preparatory rites, and so on. Attention to detail counts, else you’ll turn somebody into a newt.
  • If your spell is phrased and performed correctly, then some unseen intelligence will understand your intent and execute it with blinding, inhuman speed and efficacy.

So … that’s all pretty cool.

For the beginning developer, all of this “magic” conspires to create a feeling of punctuated, electric brilliance for the beginning developer*.

*Which I am, at the time of this writing.

The first time your for loop works, the first time your recursive function does something intelligible, the first time your program responds to user interaction correctly … you feel like a goddamn magician.

This feeling begins to explain why:

  1. … people can get really into code [because ‘electric brilliance’ is full of dopamine].
  2. … seasoned developers can become arrogant [because habitual success as a true-to-life WIZARD can really get to your head].

So, as I begin this journey, my overall intent seems to reveal itself: embrace the magic and keep it going; remember not to become a condescending wizard.

[Photo by Doug Swinson on Unsplash]


Originally published at ianschu.com on November 20, 2017.

Ian Schumann

Written by

http://www.ianschu.com | https://github.com/ian-schu

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade