One does not simply learn to code. Because coding isn’t easy. Coding is hard. Everyone knows that. Anyone who’s scoured a stack trace — or git detached their head — can tell you that.
Unfortunately, there are a lot of marketers out there trying to cash in on the notion that “coding is easy!” Or that it will be, if you use their product.
When someone tells you that coding is easy, they are doing you a huge disservice. This can really only play out in one of three ways:
Person 1: “I tried to learn to code once. I had a hard time. Life got in the way, and I am no longer trying to learn to code.”
Marketer: “Coding is easy!”
Person 1: “What? Oh. Maybe coding is easy after all. Maybe I’m just dumb.”
Person 2: “I want to learn to code, but it sounds hard.”
Marketer: “Coding is easy!”
Person 2: “Really?”
Marketer: “Yes. Buy my course/program/e-book and you’ll be an elite coder in less than a month.”
Person 2, one month later: “I thought coding was supposed to be easy. Maybe I’m just dumb.”
Person 3: I have no interest in ever learning to code. I’m a successful manager. If I ever need something coded, I’ll just pay someone to code it for me.
Marketer: Coding is easy!
Person 3: Oh, OK. Figures. In that case, I guess I won’t pay those code monkeys very much, or hold their work in very high regard.
Brain surgery is easy
Saying “Coding is easy!” is like saying “Brain surgery is easy!” Or saying “Writing novels is easy!”
A brain surgeon at a dinner party says to novelist Margret Atwood: “I’ve always wanted to write. When I retire and have the time, I’m going to be a writer.”
Margret Atwood replies: “What a coincidence, because when I retire, I’m going to be a brain surgeon.”
And yet, marketers continue to say: “Coding is easy!”, “Coding isn’t that hard!”, or my personal favorite, “Coding is easy! It’s the <something that makes coding hard> that’s hard!”
And all that these marketers achieve in saying this is to make people feel dumb — sometimes taking their money in the process.
The curse of knowledge
Unfortunately, it’s not just marketers who say coding is easy. I meet experienced developers all the time who also say “coding is easy!”
Why would someone who’s gone through the thousands of hours it takes to get good at coding say that coding is easy? Because they’re suffering from a cognitive bias called the curse of knowledge. They cannot remember what it was like to not know how to code. And even if they can, they’ve probably long forgotten how hard coding was for them at first.
The curse of knowledge prevents many experienced developers from being able to empathize with beginners. And nowhere is this lack of empathy more apparent than everyone’s favorite Google result: the coding tutorial.
How many times have you actually been able to finish a random tutorial you found through Google, without getting derailed by some cryptic error or ambiguity?
And the worst thing about this process is when tutorial authors unconsciously pepper their instructions with words like “obviously” “easily” and most mocking of all: “simply.”
Nothing is more frustrating than being 30 minutes into a tutorial and getting stuck on a step that says “simply integrate with Salesforce’s API,” or “simply deploy to AWS.”
And when this happens, the voice of a thousand marketers echoes through your head: “Coding is easy!”
You’ll remember those experienced developers you met a few weeks ago who tried their best to encourage you by saying: “Coding is easy!”
You’ll even have flashbacks of all those bad Hollywood hacking scenes where they make coding look so easy.
Before you know it, you’ll suddenly hear the sound of your own voice screaming, feel your body rising to its feet and (╯°□°)╯︵ ┻━┻
But it’s OK. Take a deep breath. Coding isn’t easy. Coding is hard. Everyone knows that.
Still, you’ll yearn for those l33+ h@x0r skills. You’ll feel impelled to vanquish bugs with nothing but your wits — and a gratuitous number of green-on-black monitors.
So let’s chase that dragon. Let’s be that elite Hollywood programmer. If only for a moment, let’s feel what that’s like.
Here we go:
Step 1: Turn out the lights, pop your collar, put on some aviator sunglasses
Step 2: Guzzle an energy drink, crush the can, and chuck it over your shoulder
Step 3: Go here and bang on your keyboard as fast as humanly possible
Power fantasy fulfilled.
Do you feel better? Are you laughing at the absurdity of our collective construct of software development?
Now that we’ve gotten that out of our system, let’s talk about the most insidious word in the English language.
Nothing is ever simple
There’s a good chance that if you encounter a word like “simply” in a tutorial, that tutorial will assume a lot about your prior knowledge.
Maybe the author assumes that you’ve previously coded something similar and are just using their tutorial as a reference. Maybe the author wrote the tutorial with themselves in mind as their target audience.
Either way, there’s a good chance that the tutorial will not be designed for someone at your exact level of coding skills.
Hence the “rule of simply”:
Don’t use the word “simply” in your tutorials, and don’t use tutorials that use the word “simply.”
Learn it. Know it. Live it.
Unfortunately, twenty minutes into a desperate Googling session, you are unlikely to remember that you should search the tutorial page to see whether its author presumptively uses words like “simply.”
Well, we’ve got you covered. Albert Meija has created a Chrome extension that will detect the word “simply” in a tutorial and will pop up a notice that the tutorial isn’t designed for beginners.
This Chrome Extension serves as a proverbial canary in the coal mine, notifying you of the presence of the word “simply” — and thus likely assumptions about your prior knowledge — before you get too far into the tutorial.
Albert built this chrome extension in just a few hours, in response to a challenge I tweeted out. Here are some of the other entries from Free Code Camp campers, whose extensions do similar things:
Simply for Beginners?
Highlights all instances of the word simply and will send a notification letting you know it's not for beginners.chrome.google.comNot So Simple
Simple Chrome extension utilizing the "simply" rule. If a tutorial contains the word simply, it's probably not for…chrome.google.comnot-so-simply
Warns you if the page you are on contains the word 'simply'. Used to avoid programming tutorials that tend to not be so…chrome.google.com
We could certainly take these chrome extensions further. Maybe use Natural Language Processing to produce a more accurate assessment of the relative difficulty of a given tutorial, or its “presumptive index.”
But in the meantime, this simple extension may steer you clear of those ship-sinking “simply” icebergs out there in the chilly ocean that is learning to code.
Until we meet again — stay strong and don’t believe the hype. Learning to code is hard. Tune out the noise, stick with it, and profit.
I only write about programming and technology. If you follow me on Twitter I won’t waste your time. ?