We seem to be passing through a period of heavy stupidity with respect to “coding”. To wit:
- On Wednesday our Minister of Innovation, Navdeep Bains, took the stage at the Public Policy Forum’s Growth Summit and mused about the importance of coding, why it should be taught in schools, and how it is “as important as reading and writing”.
- On Thursday , Melissa Sariffodeen, the co-founder and CEO of something called “Ladies Learning Code” managed to get an op-ed published in the Globe, saying as how “in the coming years, it will be difficult to find a single professional field or vocation untouched by increasingly sophisticated technology”, Canada needs to teach 10 million people (that is, slightly more than half the labour force) to code or “our ability to prosper socially and economically will undoubtedly be compromised”.
This is all as dumb as a bag of hammers. We need to stop this nonsense right now.
The ubiquity of a given technology does not mean that everyone needs to be experts in its nuts and bolts. Pretty much no job is untouched by, say, electricity, or indoor plumbing. Yet the economy works fine without 10 million people knowing how to do preventive maintenance on electrical wiring or install a toilet. Nearly all office jobs involve coming into contact with a ballpoint pen at some point, yet we all remain blissfully unaware of what kinds of tungsten carbide alloys make ink flow more smoothly. We all use refrigerators, but almost none of us understand the vapor-compression cycle. And that’s a good thing. Ever since the stone age, we make have made economic progress through specialization. New technologies become ubiquitous precisely BECAUSE they become so simple you don’t need to think about them a lot.
Coding is a valuable skill – for maybe 2% of the labour force. What the rest of us need is digital literacy and proficiency. Being able to write software is not the issue: rather, it is the ability to apply and use software productively that is the issue. Ten million people who understand how to input data into software correctly, 10 million who can use and analyze the data software provides us: *that* is something we should shoot for. It would have enormous effects on productivity and health (if you doubt the latter, spend some time talking to hospital administrators and their frustration with newly-trained medical staff who can work smart phone perfectly well but can’t use fill in Microsoft Access forms). But ten million coders? Mostly, that just pushes down wages in the tech sector.
Now, the Globe op-ed by a tech-sector entrepreneur probably looking for some government grants to expand her tech training business I can deal with. Sariffodeen, as someone who teaches coding, is mostly talking her own book. But Minister Bains? That’s much more serious. OK, we can all be thankful that as a federal minister he has no actual say over anything involving an actual education system. Saying coding is “as important as reading and writing” is fatuous nonsense. It’s the kind of thing you say when your fondest wish in life is to be admired by tech executives. Reading and writing are foundational skills for literally anything in life. Coding is a way for specialized experts to make software so the rest of us don’t have to.
Should we have more opportunities to learn how to code? Sure. Should we aim for much deeper knowledge ability to manipulate and use data/information? Golly, yes. Teach 10M people to code? Treat coding as equivalent to reading and writing? Get a grip. No serious person should utter those words.
One of your better ones.
Your point is definitely taken that a very small portion of the population needs to understand this… It’s not as important as reading/writing.
There’s a slight distinction to make in your analogy, however. Fridges, pens, and toilets are as near intuitive as a product gets. They work fine on their own, they serve a narrow function, and the user doesn’t need to improve them. Not much software is quite that simple.
With better understanding of software comes greater potential uses for it. While I don’t need to, I could probably automatize a significant amount of my work in gathering data and analysis. A lot of people probably could use coding to increase their productivity. The exposure to coding will help them to identify the problems coding will solve, maybe even introduce them to something they love.
So long as programs are still “deeper” than fridges in their use, it could be worthwhile for a significant number of people to become familiar with the opportunity coding offers. In my experience, coding with something like Matlab would have been an extremely useful way to explore math from a younger age.
Hell, if nothing else, its exposure and good thought training. Software does eventually develop to the point that it’s as simple a user interface as a toaster in many cases, but it’s not there yet on many fronts, and there’s still value to the ability to customize.
Spot on. At most, perhaps integrate some basic awareness of coding at the secondary school level while also providing a few more opportunities for those who want to go into it, just like we had industrial arts courses and whatever “home ec” is now called. Amplifying the arguably drudge-work of coding to an “essential skill” like reading or writing is pure folly. All power and respect to those who are good at coding, just as one can have the same for plumbers, electricians, and HVAC techs. Coding is largely a species of engineering. Also, let’s also keep in mind that some of the professions that require building websites and the like may already come with pre-installed shortcuts so that one can use ploppables like inserting images and text without having to jigger with code unless one really needs the design element to do something beyond the customary things we want it to do. Even inserting special HTML stuff can easily be found online, using a cut and paste, and voila – no advanced coding involved. Ditto for existing software development kits (SDKs) that can be fairly plug and play.
In this case, the government is replaying the old techno-optimism of the past, fetishizing the nuts and bolts in a way to grant some kind of mystical aura around a specialized techno-language. But code – as a language that relies on a series of well-laid out commands – is really a process thing, and a lot of it still relies to some degree on propositional logic. Coding for programs enables other things to be done, and is thus important, but the government should also pay attention to what those programs can be used for. We can design better hammers all day long, but if we’re not appreciating how they might be used to drive nails or break rocks better, then the effort seems a little futile. Bell Labs did all sorts of kooky and interesting things, as did the computer engineers who were getting DARPA funds, but the real utility was in how these new developments were applied. The same can be said in the history of the development of GPS systems.
As a point of historical interest, the history of software programming was initially largely represented by women coders. In fact, ads and articles were placed in women’s magazines singing the virtues of programming for women. That eventually changed as the requirements became unduly inflated for this kind of work, and associations were formed that excluded or discouraged women from what was once deemed merely routine labour. Add in all that malarkey that “women aren’t as good at math,” and you get by extension that coding was far too technical and prestigious an occupation to admit women. Women in computer science programs began to decline just around the time when the personal computer was being popularized.
As another historical point, none of the developments in hardware or software resulted in substantial economic benefit on their own. It is development PLUS application. Both are important, and so focus should not privilege one over the other. Would that not be a suitable definition for innovation?
Dear Alex,
I am an avid reader of your blog and find myself in agreement with you most of the time. But your entry on “Stuff and Nonsense About Coding” seemed so off the mark and so peremptory that I thought I should respond. First of all, I am a philosophy major (my background has nothing to do with technology) but I am technologically inclined and used to code for fun. As a university administrator in a liberal arts institution, I am considering including coding in our curriculum and promoting it heavily as an essential skill of the 21st century.
And yes, I believe it is as important as reading and writing (or almost…). This does not mean that you have to be an expert in coding (most of your argument revolves around this point). It suffices to know how to build an algorithm, having notions of relational databases and understanding computer and internet infrastructure. We all want people to know how to write, but that doesn’t mean we all want them to be able to write a novel.
You say that we need digital literacy and proficiency. I do not believe that someone who does not know how to code can be digitally literate. Inputting data in software correctly is not being digitally literate. It’s like saying that someone who can write her autograph on a form has writing skills. I would argue that knowing how to use computer tools, i.e. applications (Excel, Word, PowerPoint) and how to surf the Internet, is also not a sign of being digitally literate. It’s like saying you understand the world of construction because you can use a hammer, a saw and a screwdriver. What happens when we change the tool? When one application is changed for another? Then one becomes illiterate? Literacy is not something you lose after gaining it. Being digitally literate should imply that you have an inkling of how these applications are structured and how they function. It’s like the difference between giving directions by saying “turn right at the light, right again at landmark X and take a left two kilometers further” – and showing someone a map. If there’s construction after the light, you’ll still know how to get to your goal if you have a map. (BTW, the skill you refer to, i.e. “analyze the data” has little to do with digital literacy, as it matters little where the data comes from; what you are referring to is probably more about analytical skills, information literacy, numeracy and problem solving, which are also essential skills).
As a university administrator, I often have to deal with the IT team to build new software or adapt existing applications. I speak their language and can engage with them to advance individual projects. I can pick out the BS and call them out on it. I can ask an explanation when I’m told something can’t or shouldn’t be done. I can propose other routes. In the end, I can get the most out of our IT team because I’m digitally literate. That doesn’t mean that I could do their work and start coding again (these days are over), but because I have done it in the past, I now understand. People with digital literacy understand the possibilities and the limits of the tools they use in different contexts.
This also explains why the most digitally literate people are in my opinion those who grew up in the 80’s. In those days, when you had a computer (remember the Texas Instrument TI-16 or the Commodore 64?), you didn’t have the software that comes with it today. You had to know DOS coding and you had to create your own application if you wanted to do anything with your computer (my first project at 12 was to program a Pac Man in Basic). Many of the millennials are not digitally literate in spite of the widespread belief that they are “digital natives”. Sure, they can use this or that piece of software (especially in social media), but their knowledge is skin deep (they don’t understand what’s happening under the hood) and teachers end up deploring their lack of computing skills in class.
I believe this is the level of knowledge of coding that is envisaged by politicians and by those generally advocating for the importance of coding. The expertise argument is in my opinion a red herring.
Hope you find some of these ideas useful. Looking forward to you next blog.
Best regards,
Donald Ipperciel
I generally agree with this assessment, with one caveat: if more young students are exposed to basic coding earlier, it may demystify the tech processes and careers that could follow from further engagement with programming. While an informed and capable society — based on the foundations of literacy and numeracy — is our grand goal, we can also see that more specialists are needed in the growing software industry. With current and forecasted gaps in staffing in the sector, especially in the under-representation of women, encouraging people to consider code earlier is worthwhile. The inherent logic and problem-solving skills that underpin coding are also of much broader significance.
I just got a “push-poll” from Liberal pollster Ekos
” Dear member of the Probit research panel,
As a member of our panel, we would like to invite you to complete a 20 minute survey regarding the attitudes and opinions of Canadians towards electoral reform, citizen engagement and innovation in Canada. To participate, please click the button below.”
EKOS Research Associates
359 Kent Street, Suite 102
Ottawa, ON, K2P 0R6
Phone : 866.211.8881
Email : online@ekos.com
Facebook Twitter
It was full of nonsense questions with answers that were the same thing, e.g. Do you want more coding tought, yes, much more, no/noanswer. Would you like to important more skilled workers in technology. etc.
I doubt that they care what people said. It is a POLL and therefore must be true.
I could see that they were pushing for certain positive answers, as with the Liberals there is only one true way, and no quibbles or multiple facets of an issue.
Agreed, few people need to know how to code as has been well said by the commenters before me. I say that after coding for 25 years and teaching people how to code for the last 15.
The clarion call for coding skills represents a desire for mastery over the overwhelming change brought on by the information/communication technology revolution. We think Internet and computers but it started with Gutenberg. In the 15th century, reading became the must-have skill to take advantage of the new technology. It is doubtful that people were clamoring for printing or bindery expertise in order to make best use of books.
I take issue with our learned friend, Donald Ipperciel, who says his background has nothing to do with technology because he is a philosophy major. His skills with logic and reasoning are perhaps the highest form of technology. Through my students, I’ve found that being adept with inductive and deductive reasoning–and knowing the difference–is a key predicate to coding skills. Today, coding is a proxy for a certain type of thinking skill and the lack of thinking skills has been an age-old lament. To wit, “Should we aim for much deeper knowledge ability to manipulate and use data/information? Golly, yes.”