A few weeks ago, I was chatting with a friend from high school as he pondered a career change, and when I floated the idea of pivoting to data science, he responded with a question I’ve been hearing more and more the last few months: “How is this not the kind of thing that is first on the chopping block to get replaced by ChatGPT?” In the wake of new AI chatbot releases by Google and others, Farhad Manjoo, the New York Times’s tech reporter, cited titans of tech declaring “the end of programming” as “AI programmers are quickly getting smart enough to rival human coders.”
If this were true, it would have big implications for K–12 education, as many states now require high school students to learn coding before they can graduate, and a host of organizations encourage students to build coding skills. Is this all a waste of time and energy now that chatbots can code?
To understand the implications of AI for the future of coding, I talked with coders across several fields, none of whom believed that AI would decrease the value of these skills. The notion that coding will soon be obsolete seems to be an overreaction to the legitimately incredible (and sometimes alarming) capabilities of these new AI programs, and coding jobs appear to be much less immediately threatened than many others. Instead, all of the coders I talked to believed that these skills would only become more valuable in the future. As Rochester, New York–based software developer Justin Reeves put it, “the increasing application of AI tooling is more likely to be a boon for CS [computer science] demand.”
The last few months of exposure to the powers of generative AI should give us all pause in making predictions about what human skills will (and won’t) command high pay in the future. Be it poetry, images, recipes, coding, or frighteningly authentic counterfeit songs, 2023 has been the year that generative AI began astonishing everyone with its capabilities. Because these AI abilities will only grow, with effects that may lead to considerable social and economic change, it may be impossible to accurately forecast what types of skills young people should invest in.
Despite such uncertainties, we cannot avoid making some forecasts, and my conversations with professional coders surfaced several reasons to doubt that the increasing sophistication of AI implies that students should stop learning to code.
First off, it should go without saying that just because computers are better than humans at something does not mean students should not learn it. Math education is an obvious example. For decades, computers—and even many pocket calculators—have been better than humans at every single skill students develop in the K–12 math curriculum, yet no one seriously suggests we stop teaching math.
There is also nothing new about having alternatives to coding. Chatbots that can write code are a welcome new technology, but as long as personal computers have existed, there have been parallel ways of interacting with computers, some code-based and others that are more user-friendly. Coding is, in fact, nothing more than one method of giving a computer a customizable and precise set of instructions. Coders develop their skills because it is sometimes quite useful to interact with computers with the clarity, functionality, specificity, and replicability of code.
Consider Microsoft Word. You might not realize it, but that program—like a great many of the software applications you use every day—can be used to “code.” When experienced users want Word to do something there is no pre-set button for, such as automating a repetitive task, they can create little programs called “macros” that are written using the Visual Basic for Applications (VBA) language. Certainly AI might make that kind of coding obsolete, but then again there have long been other ways to create macros within Word (or other Office applications) without coding anyway. Even before the new wave of generative AI, Udemy was offering a data science course “without coding.”
So if there are already many ways to do so much programming-type work without actually coding, why does anyone still do it? There are many reasons, and it is hard to see how AI will alter their basic logic. For example, microeconomists like to use scripts (i.e., documents of code), rather than just pointing and clicking, because it makes their work more reviewable and replicable. It also makes their work more precise. Presumably, an analyst could instruct a sophisticated AI program to perform a series of various tasks, but often there are multiple ways to do something, and without an understanding of the underlying code, the analyst would not be able to figure out what happened, or whether it could be improved. As Seattle-based data scientist Devesh Tiwari told me, “It is great to have powerful tools that generate useful output, but we feel much better about them if we know what they are doing inside the black-box,” which coding helps with.
More broadly, being able to code enables humans to interact with computers in their own highly analytic languages. As computers grow in importance due to AI, humans will presumably need to interact with them even more, and sometimes that will include using code. Tyler Moore, the Tandy Professor of Cyber Security at the University of Tulsa, explained to me how coding skills give students “a better grasp of what computer programs can and cannot do,” which is increasingly important now “that so much of our world takes place digitally.”
Another reason to doubt that students should quit learning to code is that, whatever uncertainties exist around the future of coding, it is hard to see why those skills would be more affected by AI than anything else. With chatbots that can write humorous poetry, conduct sophisticated mathematical calculations from a written input (with plugins), and write a recipe from a picture of the inside of your fridge, it is difficult to see what kinds of white-collar “information” jobs will not be affected. Just because Chat GPT-4 can write a sonnet does not mean we are going to stop having students practice creative writing.
For the moment, coding skills have not lost any of their importance. Indeed, AI is driving growth in new fields such as machine learning engineering. As for more traditional coding skills, the current AI chatbots are not very good yet. When I have solicited coding help from Chat GPT-4 (at present, the most updated version of OpenAI’s chatbot), it has often been useful, but it has almost never been error-free. Without significant coding skills, someone hoping to make a webpage or scrape data from the web using an AI chatbot to write their code will no doubt give up from frustration in short order. If you cannot see inside the black box, you will not be able to guide or correct the chatbots’ work. Some of that may shift over the next few years as the technology improves, but whether the development of AI will make coding more or less valuable is far from clear. For example, it is easy to imagine that, over time, AI will make coding both easier to learn and even more valuable. Moore argues that “The jobs of the future will rely on AI, and coding will continue to be necessary to develop AI-based solutions to problems.”
Tiwari, the data scientist, underscored the importance of preserving K–12 coding standards by pointing out that “college students who excel in computational and quantitative fields encountered those concepts well before entering college.” That means that rather than scale back coding requirements, reformers should be thinking about how to fine-tune them, perhaps in tandem with math education, which itself is due for some reform. Teaching coding and math together—which is how actual mathematicians do their jobs—would be one reform that could improve student outcomes while streamlining some requirements. The non-profit curriculum provider Bootstrap has a creative approach that many schools could already choose to adopt: Middle and high school students take integrated courses that merge traditional math concepts with coding and data science skills.
Just as the emergence of computers didn’t end math education, the emergence of AI that can code doesn’t mean those skills are obsolete. At least for students hoping to work in STEM fields, learning to code will probably need to be part of the curriculum for many years, and it is possible that coding skills will become even more important as AI becomes a larger presence in our lives.