Learn. To. Code.

It’s an insult.

It’s meant to belittle those who are already suffering. It is kicking people when they’re already down.

It’s simplistic. It doesn’t translate to real-world situations. It ignores larger issues. It’s a band-aid.

It’s evil! It’s the most morally bankrupt thing you can say. Anyone who embraces it should be cancelled immediately.

It is all these things. And the reason it is all of them is the same reason these same accusations get leveled against the concept of truth in general.

Truth is hated because it is true.

And this particular truth is no different.

The time has come for everyone—rich man, poor man, beggar man, thief, doctor, lawyer, merchant, chief—to learn to code.

Or Die. Dying is Always an Option.

Imagine living in a world where magic is real.

A common trope in fantasy fiction. One that—as a fantasy author—I’m all too familiar with.

Yet so many times, in fantasy fiction, we are given a world where magic is both real and openly practiced, yet some people, for unelaborated reasons, choose not to use it.

“Hey guys, check out my fantasy world where anyone can become a wizard but some people still decide to become shoe salesmen!”

So, once again, imagine living in a world where magic is real, but you have chosen not to learn how to do it.

Now, I’m sure you have your reasons. Maybe magic is seen as a difficult career path, bringing with it many occupational hazards.

Or perhaps magic is so complicated that it takes a superior intellect to master it.

Or maybe magic is treated as a kind of unofficial social taboo. “Only nerds are interested in it” is the popular refrain.

Perhaps it requires long hours of study and a level of commitment that not everyone is prepared to make.

But, after listening to all those reasonable arguments for why someone would pass up the opportunity to learn real magic, are you—the person trapped in a magicless world—convinced? Has the threat of being called a nerd, or the possibility of long hours of study, dissuaded you from the idea that you would like to have magic powers?

To the readers of fantasy fiction, the answer is clear: magic is the reason we wish we could live in these worlds. It’s what keeps us reading. And, regardless of any drawbacks the magic may have, we’d rather have it than not.

Which is why intelligent authors do create drawbacks for their system of magic, or give some other justification why some people living in a magical world still become tailors and bakers and schoolmarms. Yet in too many works of fantasy fiction, this step is skipped. We are given, as a protagonist, a bright-eyed idealist who sets out to learn the ways of magic, despite the fact that most people are content working a 9-to-5 job that doesn’t give them arcane control of the forces of nature and reality.

And when that same world also has evil magic users—humans or monsters who can move into the village of the happy people and instantly subjugate it with their superior control of the supernatural—one wonders why everyone doesn’t at least learn the basics of the magical arts. Enough to protect themselves from magical dangers, at least.

Surely, a situation where people intentionally deprive themselves of the knowledge that lets them navigate their own world is unrealistic, right? People would never intentionally make themselves so vulnerable.

Then why is it happening right now in the real world?

Why Don’t You Know How Your Phone Works?

Code is as fundamental to the current world of men as the forces of gravity and magnetism, or air and earth and fire and water. People who demonstrate gifted control of computers are called “wizards” without irony. Such people have created a world where you can conjure a pizza into your own hands—or the hands of someone on the other side of the country—with the click of a button. You can lock doors from the opposite end of the planet. An astronaut halfway to the moon can change the volume on the television his family is watching at home.

Yet you can’t be bothered to know how any of it works, much less how to bend it to your advantage.

People who code have a devastating advantage over people who cannot. So much so that knowledge of computer programming is one of the chief drivers of inequality in today’s world. Those who can’t do it are worth less to those who keep the world running, and the ones who can do it—particularly the ones who can do it well—command greater control of the world they live in.

That doesn’t make it any easier to hear the words “learn to code” after losing a job or being replaced by an automated system. That still hurts. But taking offense to the idea doesn’t help, either. You live in a world made of code. Being told to learn how to live in that world is the most thoughtless, yet also the most benevolent, thing a third party can do for you.

How Coding has Helped Me

I am an author. I write books, and I sell the books that I write.

You might think someone in my position has no use for the knowledge of how to write code. Novels, after all, are nothing like the procedural, repetitive, algorithmic stories that computers use to guide their actions.

And maybe you’re right. I have argued, in the past, that learning the structure of computer code helps a writer to understand the structure of story. But suppose, for the sake of argument, that I was wrong. Let’s start from the perspective that writing stories is strictly a creative act and that coding is strictly a mechanical one.

In such a universe, how could learning to code help me as an author? Why did I bother to get a bachelor’s degree in computer science?

Well, let’s not forget the second thing an author does: sell his books.

And when it comes to selling anything, a knowledge of coding is indispensable. Perhaps you’ve already heard about the application I made for controlling Amazon ads?

Thanks to a little bit of coding, I was able to control how my ads are served, with greater precision than Amazon allows for its rank-and-file customers.

Using similar principles, it is possible to create apps that automate, say, social media. Right now I am working on a program that allows me to simultaneously post on Twitter, Facebook, and Instagram. It also allows me to schedule posts ahead of time, so that I can automate a regular stream of links to my blog or my book’s sales page, without me having to think about it.

Such coding principles can also be used to create applications which, for example, monitor shipping schedules or manage a marketing effort. If you don’t write your own software, you end up paying for someone else’s. Yet even then, having an understanding of how that software works behind the scenes is an enormous benefit. I can’t count the number of times I’ve anticipated situations where a piece of commercial failed or had difficulty, because on an intuitive level I understand what software is and isn’t capable of.

It’s the kind of thing where you’re shooting yourself in the foot if you leave it up to other people.

It’s Never Been Easier

And the most amazing thing about learning to code is that you can do it for free, on your own schedule. You don’t need to get a university degree, like I did. The internet is bursting with tutorials that teach every kind of coding. Few charge for this instruction, and the ones that do charge usually aren’t worth the money. The free ones are generally the best ones!

There are no grades. No homework. No tests. You learn at your own pace and grow at the speed you want. You can even tailor your own assignments to fit your current needs. You want to create a custom online storefront? That can be your assignment. You want to create an app that keeps track of who’s talking about you online? Nothing’s stopping you. And with a little bit of persistence, you can build whatever you need at the moment.

That is why I say unto you, “Learn to code”. The skill of coding is as essential as the skill of reading. You don’t have to be a child in school to start learning it (though it should be taught in schools), and there is not even the smallest barrier to entry.

I can’t promise that the world will still need shoe salesmen or schoolmarms or even writers in the future. There may come a day when companies don’t need to hire coders, too. But if you know how to code your own stuff, then you won’t need those companies, either. Knowing how to code is knowing how to make your own tools—to give yourself “the means of production”. The parts of your own life that you wish to automate might not be the same as the parts of my life that I want to automate. Your software may be tailor made to you alone—but that’s the best kind.

Once you finish that first project which solves a major problem specific to you, you’ll understand. Coding is not just about making commercial software you can sell. It’s about taking control of your world.

Take the leap. You don’t know what you’re missing.