Future of Coding in the Age of AI

Vishal Goenka May 24, 2024 • 3 min read

One question comes up frequently in conversations with parents, educators, and even career counselors — Should students learn to code when AI can write it better and faster?

My response: YES, and it is more crucial than EVER before.

Jensen Huang, the visionary CEO of NVIDIA, recently said, "Nobody should learn how to code. The programming language of the future is human." This is a great aspirational goal that we might reach someday, but in the foreseeable future, a different reality is more likely.

First, let me pose the following questions to you:

  • Given that AI can also read and write legal documents, would you say law students shouldn't study how to read/write legal language?
  • Given that AI can talk with you about your symptoms, interpret readings from medical instruments, and even prescribe a treatment, would you say medical students shouldn't bother learning these skills?

AI will further widen the gap, not bridge it ...

My experience using AI tools for coding and that of my entire staff of engineers and educators has led me to the following conclusions:

AI will widen the gap between those who know the subject matter and those who don't.

In other words, your productivity will increase multifold if you are an expert programmer. But you need to learn how to program to use these tools effectively.

Of course, learning to code teaches other critical cognitive skills, such as decomposition, abstraction, generalization, algorithmic thinking, debugging, etc, collectively known as computational thinking, that no other subject does. Using AI to generate code doesn't obviate the need for students to learn these skills essential to solving computational problems, with or without AI.

The Premature Obituary of Programming

Daniel Yellin's article in the ACM, The Premature Obituary of Programming is an excellent account that I highly recommend. It helps understand why students should learn to program, even though AI tools can generate code better and faster. Here are some highlights:

  • First, specifying what to code is not easy. Natural language is too imprecise, unlike software, that needs to be quite specific. For any code of meaningful complexity, creating the correct code requires the specification to evolve through trial and error. Only those who can read code can make those adjustments and get the desired outcome.
  • Second, AI models need training data. Gen AI models can generate what they have been trained on. However, how they will adapt to ongoing evolution in a real-world context remains unclear.
  • The most dramatic changes in programming come from changes in underlying hardware and communications technologies. An AI model trained on Cobol written for mainframe computers won't start generating code for today's cloud computing architecture.
  • New programming frameworks—think of crypto, social networks, the Internet of Things (IoT), and smartphones... these did not exist 16 years ago. AI won't automatically generate code for future frameworks.
  • The real world is continuously changing, with disruptions in climate, healthcare, commerce, travel, finance, and entertainment affecting how we live. New software solutions are created to address this changing real world, and AI can only learn pieces of it, not the whole, while it is being developed.

Students who know programming will always be better poised to leverage AI to solve problems computationally than those who don't.

It is more important than EVER before to learn programming

AI has unleashed a fundamental shift. The barrier to learning anything, including programming, is much lower now than ever, thanks to Chatbots that can explain what only an expert could do before.

We live in a world where massive amounts of data are available in almost every field, and most problems are being solved computationally rather than using tools and techniques devised before the turn of the century. Whether you aspire to pursue law, journalism, marketing, medicine, or any other career that is distant from programming, students fluent in data analysis and programming will have a significant advantage.

On the flip side, students who don't learn these skills will have a mental block preventing them from trying to use these AI tools to solve novel problems that haven't already been made mainstream in off-the-shelf software. Fluency with computational techniques will significantly affect every student's career trajectory after language and math.

It is truer now that AI has democratized access to experts who never tire. However, as I have noted above, only students with a solid conceptual understanding of data analysis and coding can leverage these AI-enabled capabilities.