If you stepped in a middle school counselor’s office today, chances are he/she will be telling a kid he needs to take his coding class seriously. He would probably be listing all the virtues of coding and how it’s the only way to survive the impending onslaught of robots coming to take our jobs.
“In the future, many things are going to change,” he would say. “We will have self driving cars that will make drivers go find other jobs. Delivery drones will cut the continued existence of postal workers and dispatch riders. There’ll be no place for average. Only coding ninjas will survive in that age. You understand what I am saying?”
I don’t believe that counselor. Actually, the conversation around the imperative of learning to code is a continuous debate with either side having good points.
Whatever camp you belong to – even if you are not interested in the conversation – here are a couple of things you probably didn’t know about the science of coding:
It’s so damn hard
I have a background in arts and I don’t code. The closest I have come to coding was learning HTML in a third year web design and development class and I had since forgotten most of that because I haven’t used it since (I don’t like myself for that), but I do know coding is hard. HTML, the simplest of them even threw me once or twice. Don’t take my word for it though, listen to Kate Ray, the founder of Scroll Kit:
“Most programming doesn’t require a special brain, but it’s more frustrating and messier than anyone lets on. [No one tells] you about the tedium of getting your environment set up (which, trust me, even the nicest of your programmer friends don’t want to help you with, because that stuff is mad frustrating and nobody remembers how they did it).”
It’s also not so hard
Programming doesn’t require a special brain. Exactly what Kate said. And it’s true. A programmer friend of mine who taught herself to code (and who I will reference more in this article) told me that every complex program can be broken down into very simple pieces. “Every program is really just a combination of simple logic statements,” she said.
You know those movies where the hacker is punching in keys at 1000 words/minute? Yeah, totally unreal. Except you’re looking at the best of the best of the best, most programmers usually spend more time on Stack Overflow and examining other people’s code than he/she would let on. “A lot of programming skill, Kate says, is about developing a knack for asking the right questions on Google and knowing which code is best to copy-paste.” On another level, learning to code is not about about being an expert, but knowing enough to participate (more on that in the next sub-head).
It’s not the same as being a programmer
One of the compelling points for the camp arguing for coding to be added to the elementary school curriculum is that learning to code will soon be as basic as writing. Coding is the new writing, they say. They are mostly right. In the same way that “learning the alphabets” doesn’t mean “ learning to be a writer”, learning to code doesn’t mean learning to be a programmer. Everyone who codes won’t be a ninja, much like everyone who can write isn’t Stephen King or Chinua Achebe, but everyone will be able to string up enough lines of code to save his life if/when the need arises.
You’ll get lost often
I’ve already established that coding is hard. Sometimes you will have no idea what you are doing and the tutorials won’t make sense. Which is fine. Kate Ray advises that the Padawan keeps going right ahead. “Follow a tutorial step-by-step even if you don’t always understand what you’re doing. You’re getting a feel for how things are done in your new language/framework.”
“You have to enjoy being lost and trying to solve a problem,” says my self-taught friend, the one I told you about earlier.
There is no mastery, no final level
A writer gets to a point and each story he tells, and every line of poem he dreams up, has the critics saying; “a brilliant tale masterfully told.” He can retire, have kids and release another book 10 years later and will still evoke the same response from readers. For someone learning to code however, to take a break and come back in two months is to become a first generation iPhone in 2015. Horror. There is no mastery, because the language of the trade is always evolving, and quickly too.
Coding is also art
With coding, “there is always more than one way to do something.”