But programming has not. And let me dive right into it.
Fifteen years ago when people suggested I should become a programmer because of my introverted and shy personality, analytical mind and complete lack of social life, I laughed and shamelessly flipped them off. But I was a teenager, and in my teenage mind a programmer lived forever with their parents, in the basement, with pimples and large ugly glasses, has never had a girlfriend but plenty of wet dreams about princess Leia. Repeatedly. And that image did not sit well with me. Plus, I actually had a girlfriend, and a hot one at that.
Forward six years, and I was in Budapest airport casually reading a book about HTML…
Add another 6 years and I landed my first full-stack web developer job at a Northern Irish startup. Yes, I took my time, I guess. But how much time? I don’t quite know to be honest. But it was a lot. Was it the mythical 10.000 hours? No. If I would have to make a rough estimation, I would say, to date I have “coded” about 8000 hours. Technically, according to the 10.000 hour rule, in 2000 hours worth of “coding”, I shall be an expert in my field.
Or will I?
Well, what I am trying to say is that there is no field, therefore becoming an expert in it, becomes unattainable. Coding is not a field. Computer Science is, but that’s an entirely different slice of cheese.
Coding is what presidents, educators, parents and employers and companies herd the young generations into, like cattle onto the holy grail of golden fields of opportunity.
The promise is a dream, the propaganda is well-crafted and simple-worded, heck it’s not even worded any more, it’s dumbed down to simple images for them lovely wee “rugrats” who definitely must learn logical thinking before learning how to feed themselves — please note the sarcasm.
Just 15 years later, coding has become the “pop-culturized” version of programming and what everybody now hopes will be the future army of coders upon which we shall build our AI controlled home, traffic, retail, entertainment, medical, industrial, sexual, illusional and delusional revolution, will turn out to be an absolute shit-show — and there truly is no better word for that. And all this, because programming is being sold as “coding” and “coding” is supposedly easy. Couldn’t be further away from the truth…
So here’s the fine-print. The “factualised” myth that anyone can learn a programming language in mere hours is only true up to a point and that point happens to be very early on in the learning process. Indeed, a and any programming language can be learnt in a single day. In fact if one’s goal is to become a programming polyglot in a month (while having a job), 8–10 languages can be learnt by studying during the weekends. But here’s the catch. Every programming language has its libraries and, its syntactic sugar and personality, and none of that can really be learnt quickly or easily or in a weekend. In fact, in the real world, every programming language becomes the least of your problems.
Just because you speak English, it doesn’t mean you’re good at writing novels, or even short stories. Same goes for coding.
Just because you’ve learnt the language, does not mean you know how to program. Add to that the myriad of frameworks, plugins, libraries, pre-processors, post-processors, coding standards, industry standards, TDD, BDD, content management systems, file versioning, CI, deployment and release management, debugging, ticketing, waterfall, agile, scrum and their combination thereof… and I am not even sure I’ve touched on everything. The point is, being a “coder” involves more or less all of the above. And programming itself is just a tiny tiny part of it. A crucial part, but nevertheless, tiny.
Yet programming is still continuously being dumbed-down …
Apple launched Playgrounds, MIT launched Scratch, Lego is launching Boost, all in an attempt to sell “coding” to younger and younger age-groups as if that will fill the quota of millions of new programmers by 202x.
The message is pretty much “don’t worry about the code, take these virtual puzzle pieces and off you go, you can program”. If only that were true. Here’s the thing about programming. It’s text-based. Has been, and will be for many more years to come. Kids who play with Lego Boost, Playgrounds or Scratch won’t be better programmers by the age of 22 than those who started learning programming at 16 and did it in an actual programming language. In fact, why should they be? I would not expect my child to be a bread-earning individual until the age of 22. Learn “coding” for 6 years, and I guarantee she/he will land a job in no-time.
GUI has also nothing to do with the real programming world, and logical thinking can be transferred to a kid in many other ways. When was the last time you saw a kid do a 1000 piece puzzle on the dining-room table? Exactly…
Kids are by default very logical human beings, in fact that’s how they learn how the world works.
They learn the value of the if-else-statement the first day they’re born. “If I cry, mum will make it stop, else I keep crying until dad shows up (who will probably make everything 10 times worse, but heck, I’m gonna t(c)ry anyway…).” Kids are very logical, hence their often brutal sincerity. You call it innocence, they call it a black-and-white world. There are no multiple switch statements yet. There are no shades of grey. That comes later. Both literally and literarily (in 3 volumes no less…). ;) Bottom line, they are more than equipped with logical thinking, but put them in front of the TV, or hand them a tablet for 6 hours a day, and all that is going to become a pile of corrupted values as often there is very little thinking involved.
“Coding” is not a musical art, a piano or a violin that a child might need to develop muscle-memory for. It’s engineering.
What programming requires is analytical thinking, problem-solving attitude, stamina for failed attempts at coming up with the right solution, passion for technology, pride in your own code, but maturely accepting someone else’s improvements and observations, and a sense of responsibility for any code you write or contribute to.
Correct me if I am wrong, but none of these traits are easy to cultivate and develop. Certainly not at the age of 5! Yet, nobody seems to sell “coding” as it really is — a fun but difficult journey of discovery, success and failure and all that “da capo”, all year, every year.
Just because “coding” sounds cool, it does not mean it’s not the same ole’ hard-core programming. If anything, it’s even more so today than 15 years ago. Except we now all wear skinny jeans, walk around with even skinnier laptops, moved out of the basement and with all the “fill the gender-gap” hype, we might even end up with decent looking girlfriends.
P.S. Some things don’t change. The ugly glasses stayed. But they’re trendy now, so it’s all good. ;)