I'm sitting with a friend who is an accomplished musician. Record deals, multiple albums, and you've probably heard her songs on a TV show or commercial or two. She tells me that she doesn't want to learn music theory because she's afraid music would lose its magic. There's a mystical mystery about how she makes music and she's afraid she'll ruin that special quality if she has to figure out how she does it. It won't flow the same.
My response was something that I've believed my whole life: "Magic just hides something's true beauty. It's a con. A trick that makes you love the magic rather than the real thing. Once you actually learn how it really works, sure, the magic goes away, but then you get to fall in love with the beauty of the real thing. Real things are always simpler and more beautiful than the magic hiding them."
Or something like that. I probably actually sounded a lot less cool than that, but that was the idea. I've found that magic just obfuscates and blurs what I'm really seeing. Whether that magic is an accident of my perception of reality--or an actual sleight of hand by someone else--doesn't matter. What does matter is once I strip the magic away, and find the real simple principles hidden by the wizard, I see the real thing is better.
Of course sometimes I strip the magic away and find that the real thing is an ugly turd hiding in a golden box. A lot of programming languages and technology are like this. There's all this bluster and flourish pushing a magical view of their benefits. Then I dig a little and this magic simply hides a terrible design, poor implementation, and random warts. It seems everyone in technology aspires to nothing more than creating enough of a code mannequin to hold up an invisible emperor's gown.
One of the reasons people resent my opinions on technology is I have an ability to crush their fantastical magical views of technology. It's hard to be an Apple fan when there's a guy pointing out that they frequently allow developers to invade their customer's privacy, stole wages from employees, and make shitty hardware that crashes and reboots if you don't log in fast enough. You can't be enamored with Python if someone points out that its APIs are constantly asymmetrical and that Python 3 has a shitty UTF-8 strings implementation.
My mission in life has been to illuminate magic to expose the ugliness or beauty it hides because I believe magic enslaves people to others. With magic you can convince them of almost anything, and even change the magic and they'll keep following the wizard's edicts. Stripping the magic away gives people the freedom to choose what their reality will be, rather than rely on someone else to define it for them.
A key element of this mission is education. I proved with my books that there really is no magic to learning to code. The people who could do it weren't special geniuses. Almost anyone could learn to do it given enough time and the right learning material. Once it was clear that programmers aren't special, it freed others from the magical aura surrounding programming and opened the practice up to a much wider range of people.
Education then becomes the practice of breaking magic to expose reality. I study a topic and figure out how people are really doing it. I find all the tricks they use, strip away the things that are just bluster and showmanship, find the lies they use to puff up their personas, and then teach the simplest real version of the topic. This then opens the topic to a much wider range of people who can now enjoy it and improve their own lives.
Many times the practitioners aren't purposefully trying to hide what they do because they don't even know how they do it. Most practitioners simply cargo cult a set of random practices they're sure are the secret sauce. Usually these secret practices are nothing more than extraneous rituals getting in the way of the real task at hand. This educational acetone sometimes embarrasses these practitioners since nobody wants to be seen as believing in pointless rituals and magic. That's fine, but really they should be happy to find another path to what they love. One that's not full of obfuscation and rituals that only serve to enslave them to a limited palette of skills.
More from Zed A. Shaw
The Beggar Barons
The rise of the trillionaire beggars.
Sometimes, It's Fun to Die
The survival crafting video game is my pandemic theme song.
The Most Zed Story About a Knife
A microcosm story that more completely explains who I am than anything else you'll read.
Authoritarianism of Code
An essay on the pervasive internalized authoritarianism found in the programming profession.