Yes, learn to code

Please don’t learn to code got me thinking. There are a lot of articles out there that exhort everyone to learn to code, and a few articles suggesting that maybe you shouldn’t learn to code. And yet, there’s a whiff of defensiveness to the “don’t learn to code” crowd.

But, there’s no need to worry. Learning to code doesn’t make you a developer, as the author says. Developers aren’t coders (we dislike that word, nor are we programmers). Being a developer doesn’t make you an engineer, which doesn’t make you a physicist, which doesn’t make you a mathematician, and so on.

Teach kids to code

Confession: I teach kids to code. It happened to me like it happened to many other technologists. I have kids, they play Minecraft. There was a flood of demand, driven by the boom in tech, by visionary social entrepreneurs, and by the press.

It is hilarious watching kids coding. They don’t care, they are rude, they write Scratch programs with silly jokes and pictures of their friends. They build elaborate websites dedicated to some arcane corner of Minecraft. It’s clear that they aren’t coding to get a job. They are just doing it for fun, to build something of their own, for the job of creating and to communicate.

So, here I am, 3 years later, with a burgeoning empire of coding clubs around San Francisco.

I suppose that this feels like a conspiracy, pushed on you by the boundless enthusiasm of Hadi Partovi’s code.org, fueled Mark Zuckerberg’s fortune and flogged by a village of coding bootcamps, trying to turn us into a bunch of pasty drones cranking out python and rails code for the sake of the economy.

And yet - the analogies fall apart (all analogies do). Coding is not plumbing. It is not reading, or math. It is not even programming or software engineering.

So, the interesting question to me is not “should you learn to code” but “why does everyone want to learn to code”?

What does coding even mean anymore?

The word “coding” has been stolen from software developers. We developers don’t like it when you steal our words. We trade in words. We turn words into code, and code into work. Words are sacred to us and we get really upset when words are used in ways we don’t intend.

I’ve taught thousands of kids to code at this point. It really is a phenomenon. Kids want to learn, teachers want to learn, parents want to learn, grandparents want to learn. Everyone wants to learn.

I learned to code when i was a kid, on my Commodore 64. It’s not the same. There were a few of us, obsessed with video games and computers, now it’s everyone. That’s the difference.

Coding :: !Coding

Python? Easy, coding.

C++? Sure (really? in 2016?)

HTML. That’s not coding, is it? It’s just markup! No, it’s coding now.

What about creating a Google Doc? No, not coding.

What if i connected my Google doc to an IFTTT so it can spit out a tweet? Coding!

Excel. Not coding.

Wait, formulas? Sure, that’s coding.

Playing Minecraft? Not coding!

Command Blocks? Coding!

Chatting on Slack? Not coding.

Using slack commands? Coding!

You get the idea. Coding is a big #808080 area.

Coding is a glyph

Coding doesn’t mean what it used to mean. It represents a kind of rebellion, now. People want to control their stuff. Coding is a digital way to influence the world. Coding used to be an exclusive group that communicated in a secret language Now, lots more people want into the club.

It’s no surprise, lots of people in that club got fabulously wealthy. Access to the code club brings a whole new set of possibilities and opportunities. If we accept this new looser definition of what coding is, and what it means, then learning to code isn’t about engineering anymore, it’s about society.

People aren’t learning to code to fix your database, or to build an iOS app.

The message

In addition to career opportunities, coding teaches problem solving and forces you to learn core subjects like Math or Physics.

Most importantly, coding introduces a powerful new way of communicating digitally.

As long as we are human, communication is one of the most important things we can do.


Spritesheet from geminidrake on DeviantArt

Find a problem or mistake? File a bug or better yet, submit a pull request