By now you have probably heard about the recent Atlantic article: “So Much for Learn to Code.”
It’s behind a paywall, so I’ll quickly summarize it beyond the somewhat clickbait headline. The author argues that Computer Science is no longer the “safe” major it once was. This is thanks to the rapid rise of AI tools like ChatGPT and GitHub Copilot (a “souped up Clippy,” as they call it).
The author notes that AI is already impacting university CS classes, as students are able to complete more and more of the basic coursework with AI tools. Meanwhile CS professors are forced to adapt to the new normal by pivoting to supervised, in-class assignments.
The author stops short of saying that learning to code will become obsolete. But they acknowledge that the software industry will transform dramatically as AI becomes increasingly proficient at complex programming tasks — with the potential to displace people who code for their careers.
Here’s the thing: they are 100% right.
In fact, the article speaks to an essential truth about learning to code.
The reality is that becoming a successful developer has always been about more than just knowing how to code. It’s about problem-solving, pattern recognition, curiosity, ingenuity, and a whole lot more.
Of course, programmers must learn to leverage AI in order to work smarter and more efficiently. I would even argue that people who fail to adopt and incorporate AI into their workflow WILL become obsolete. The author would probably agree.
And yes, Computer Science education must evolve accordingly to adequately prepare students for success. The world needs more than just people who can code. We need problem-solvers, collaborators, and creators.
So today I want to do three things:
Break down the article in detail
Unpack common assumptions about what it really means to “learn to code”
Make some predictions about the future of software development and CS education… and talk about what you can do to stay ahead of the curve
Let’s dive in!
Our new Learn to Code Starter Pack is an affordable bundle of our beginner resources, created specifically for new learners to help them build the fundamentals that they would learn in a bootcamp or university program. It’s designed to set you up for long-term success in the industry — no matter what advancements in AI will bring.
Let’s unpack the article’s core arguments beyond the buzzy title.
The author begins the article on a more personal note. They reflect on their own experience choosing a university major, highlighting the pragmatic advice shared by family members who doubted the value of majoring in English due to financial concerns. This is contrasted with the perceived safety, career stability, and lucrative job prospects associated with a Computer Science degree (particularly in the past 30 years or so). At Google, for example, an entry-level software engineer can reportedly earn $184,000.
However, the author calls into question this perceived safety, noting that advances in generative AI have already begun to disrupt the traditional notion that learning to code is a guaranteed path to a secure and lucrative career.
The article notes that in just a few short months, AI tools like ChatGPT have already reshaped how Computer Science is taught. Students can now complete a substantial part of their basic coursework using AI tools like ChatGPT. This has prompted computer science instructors to reevaluate their teaching methods, focusing instead on supervised assignments, in which students can’t rely exclusively on AI.
Timothy Richards, a CS professor at the University of Massachusetts at Amherst, is among those educators who have adapted to this new reality. Richards now instructs his introductory programming students to use AI as they would a calculator, with the requirement that they disclose the precise prompts they input into the machine and explain their reasoning. This way, students are still aware of the step by step processes involved in programming, and treat AI as an aid rather than a solution.
The author continues noting that GitHub Copilot was starting to transform the industry prior to ChatGPT by streamlining the routine aspects of coding. In a study, developers equipped with Copilot accomplished coding tasks 56 percent faster than those working independently. While tools like Copilot haven’t replaced the need for human coders, they demonstrate the growing synergy between AI and developers.
Matt Welsh, a former Harvard CS professor and entrepreneur, hypothesizes that automation in the software development industry may reduce the barrier to entry for more individuals to obtain jobs in software development. While this could lead to increased demand for highly skilled developers, it may also alter the industry's economic landscape, potentially resulting in lower salaries and reduced job security.
One such avenue is Prompt Engineering, a technique that involves feeding natural language phrases to AI models to generate useful outputs. The author makes the point that this practice can be more accessible to those without coding expertise, such as humanities majors, enabling them to actively participate in fields where coding skills were traditionally essential.
This point emphasizes the key message of the article: as AI technology becomes more advanced, programmers will inevitably need to lean on logic and creative thinking rather than mere technical know-how.
The author suggests that the focus of education should shift from simply "learning to code" to developing conceptual thinking and problem-solving skills, emphasizing that creativity and ingenuity will be critical in the AI era.
As they write, “Those who are able to think more entrepreneurially – the tinkerers and the question-askers – will be the ones who tend to be almost immune to automation in the workforce.”
The article closes by referencing Moravec's paradox, the concept that tasks that are relatively easy for humans to perform are often incredibly challenging for machines (and vice versa). Therefore we should continue to require human-driven curiosity and creativity in an AI-dominated world.
Though it’s hard to predict exactly how AI will affect the job market in the coming years, we can be certain that AI won’t replace the fundamental problem solving and logic skills required to be a successful developer. Meanwhile, the demand for talented developers won’t slow anytime soon.
On a similar note, the better at programming you are, the better you will be at using AI for programming. This includes your ability to ask the right questions, then correctly interpret and apply the responses.
An obvious parallel here is the industrial revolution. The rise of automation through machines that could efficiently manage work accelerated our society in ways we couldn’t have dreamed — leading to more exciting challenges and problems to solve.
AI integration into the workflow should not diminish the significance of learning to code; rather, it should motivate an evolution in how we teach and think about computer science as an academic and professional pursuit.
Instead of being preoccupied with the nuts and bolts of a specific programming language, we should be focusing on the underlying problem solving and logic skills that underpin every programming language. (Not only is this the most effective way to learn to code for long-term retention, it also sets you up to learn any programming language or technology in the future).
Remember that the role of a developer encompasses more than just programming proficiency; it entails problem-solving, creativity, adaptability, and ingenuity.
So, with all of this in mind, what does the future of software development have in store?
The writing is on the wall for current and aspiring developers:
Failing to integrate AI into our workflow (and staying up-to-date on new tools) will inevitably lead to professional stagnation.
Our education system must adapt too, taking care to better equip students with the skills they need to leverage AI effectively — without it becoming a crutch. As the CS professor from UMass noted, we should consider using AI in the classroom in a similar way to how a math student would use a calculator.
But even more important than merely adapting to AI, Computer Science education must proactively support and encourage the foundational problem solving and logic abilities shared by all successful developers.
I suspect that this will remain true as developers can focus on more complex, higher level problems. In this sense, the next generation of tech entrepreneurs won’t be led by “coders” but rather by problem solvers. These “tinkerers” and “question askers” treat coding as a tool in one’s toolbelt rather than the end in and of itself.
(It should be noted that most senior engineers I know today do very little coding in their day-to-day life. Instead, they are designing and overseeing software architecture at a higher level, as well as mentoring junior developers).
So will it become obsolete to learn to code? Not anytime soon.
Will the Computer Science major as we know it change? Absolutely – I hope for the better.
Developers who are curious, ingenious problem-solvers first and “coders” second will lead the way. You could argue that nothing really changes.
Above all else, it’s an exciting opportunity for educators to nurture and champion these essential qualities, which, from my perspective, make software development a thrilling and rewarding journey. (We design our Learn to Code learning resources at Educative with exactly this goal in mind).
With this renewed focus on creative problem-solving and ingenuity, I anticipate a bright future for the field of software development. If you are ready to begin your coding journey, there’s a lot to get excited about.
Happy learning!
Free Resources