One of the most publicly prominent elements of the current interest in math and science education has been the adage that everyone should learn to code. When arguing for universal coding literacy, promoters often frame the benefits of coding as directly practical — a higher paying job, entry into an important industry, etc. In his thoughtful essay, Basel Farag explains how the direct connection between learning to program and earning a profit is separated by a few question marks. As Farag puts it:
We live in an ultra-competitive world, with people turning to all sorts of methods to make ends meet. Selling coding as a ticket to economic salvation for the masses is dishonest.
But are there reasons to learn to code besides direct financial rewards? The first computer programmer, Ada Lovelace, suggests this one:
The Analytical Engine has no pretensions whatever to originate anything.… but it is likely to exert an indirect and reciprocal influence on science itself in another manner. For, in so distributing and combining the truths and the formulæ of analysis, that they may become most easily and rapidly amenable to the mechanical combinations of the engine, the relations and the nature of many subjects in that science are necessarily thrown into new lights, and more profoundly investigated. This is a decidedly indirect, and a somewhat speculative, consequence of such an invention. It is however pretty evident, on general principles, that in devising for mathematical truths a new form in which to record and throw themselves out for actual use, views are likely to be induced, which should again react on the more theoretical phase of the subject.
As Lovelace notes, the act of putting problems into code — in this case, into a form that Babbage’s Analytical Engine could process — would inevitably lead to new ways of thinking about those problems, mathematical or otherwise, and ultimately to new solutions and understandings of whatever science comes under this influence.
I don’t teach coding — I teach writing in multimedia environments — but, I make similar arguments for my students. The academic program in which I teach is for students who wish to have careers in professional writing or editing, and many of them are career-minded and intensely practical in their pursuits. For that reason, they sometimes have a hard time seeing how our work with video or the minutiae of HTML will benefit them in their careers as petroleum engineers or copy editors. Like Lovelace, I make the case that they are developing an ability to see the world not simply through the lens of text, but through other media as well, and the ability to translate their ideas through multiple media will help them to understand the problems they face in different ways, and to develop novel solutions to those problems.
Farag’s title — ”Please Don’t Learn to Code” — is perhaps a bit hyperbolic; like other clickbait, it doesn’t quite deliver on its premise. After warning readers that work as a developer is no easy thing, he also notes that, if the reader is willing to put up with the difficulties of a coding career, the benefits are more than monetary:
If you stick to it, you can not only change your life, but change your entire way of thinking.
If everyone learns to code, they won’t necessarily all become rich, but they might all begin to see the world in different, beneficial ways.
Banner image credit: Donnie Ray Jones