We Should Still Teach Kids to Code
As a person whose day job revolves around coding education, LLMs certainly give me pause, if not a bit of existential dread. Is there a point to teaching kids to code when an increasing fraction of the code we write can be generated by a language model?
For the purposes of this post, letâs work under the hypothesis that GPT-5, GPT-6, and so on actually lead to a drastic reduction in the demand for professional programmers. Letâs assume that with these tools, anyone with an internet connection can chat their way into a functional program that meets their needs. Is this situation likely? I have no way to guess, but from my understanding this is the primary source of dread that todayâs AI bubble revolution is causing.
So, if the idea of âlearn to code, get a jobâ no longer holds true, why teach coding at all? Besides some practical considerations of âwhat happens when thereâs a bugâ, âkeep a human in the loopâ, there are good reasons to code that arenât practical/material/useful. My contention is that GPT-5-domination or not, these are already the primary reasons we should be teaching kids to code.
Coding as an Instrument
Most students learning to play the guitar, xylophone, or triangle arenât doing so with the expectation that theyâll end up in the New York Philharmonic. There are plenty of abstract cognitive benefits that studies have found, but 9/10 students should tell you that the real reason they go to music lessons is because playing music is fun.
Learning the guitar/xylophone/triangle isnât easy. Reading music, remembering fingerings, and developing a sense of rhythm all take lots of dedicated practice. Thereâs a steep learning curve, and youâll likely sound bad for years. That being said, things are fun along the way, and improving steadily is exciting in its own right.
Learning to code isnât easy either, but the learning curve isnât quite the same as the guitar. With a few hours of exposition and the acquisition of a few simple skills (calling functions, using variables, loops, etc.), an entire computational universe opens up to the learner. With the right curriculum and environment, the student can quickly use these skills to make programs that express their creativity.
I Did That?
The greatest joy in programming is the feeling of surprise when the code you wrote exceeds your expectations: âThis worked?â âI did that?â. If a new programmer is really on the right track, the immediate followup to âI did that?â is âWell wait till you see what I do nextâ. One can very quickly, out of seemingly nowhere, discover a large jump in their capabilities. The ensuing sense of empowerment seems to universally lead to a sense of joy, pride, and satisfaction thatâs hard to replicate elsewhere.
Importantly for our discussion here, thoughts of career opportunity and monetary reward are absent from the most exciting parts of the learning experience. Thatâs not to say that career opportunities and monetary reward arenât important, but those arenât the only reasons itâs worthwhile to try programming. When encouraging students to learn to code, letâs focus on the intrinsic joy theyâll discover on their journey, as that joy isnât going anywhere.