Is Learning to Code Still Worth It in the Age of AI?
Source: Dev.to
Introduction
I’ll be honest, I had a moment of doubt recently. I’m in my last year and a half of university, majoring in AI, and the more I look at what’s happening in the tech world, the more a quiet question kept nagging at me: Is any of this still worth it?
Every semester, I sit through classes on C++, Java, and Python — OOP concepts, data structures, and design patterns. Meanwhile, I watch people on social media generate entire working applications just by typing a sentence into ChatGPT. “Vibe coding,” they call it. And it actually works. So naturally, I started wondering: if AI can write the code, why am I spending hundreds of hours learning to write it myself?
I needed an answer from someone who actually knew, not an AI, and not a random post online. I needed a real person with real experience. That’s when I thought of my old professor: a computer‑science professor and department chair, someone who has watched this field evolve for decades.
So I sent him an email.
What I Asked
I shared with him what ChatGPT had told me — that programming isn’t going anywhere, that AI will just assist developers and make them more efficient, that human creativity and problem‑solving will always be needed. It sounded reasonable. But I wanted to know what he thought.
Does programming still matter? Will it still matter when I graduate?
His reply was longer than I expected. And it completely reframed how I was thinking about the whole thing.
The History Lesson I Didn’t Know I Needed
Instead of giving me a straight yes or no, my professor walked me through the entire history of programming, told through one simple task: adding a series of numbers. Each era, the same problem, a totally different world.
| Stage | Language / Paradigm | Example |
|---|---|---|
| 1 | Pure Binary | 0001 0001 0010 |
| 2 | Assembly | ADD R1, R2 ; R1 = R1 + R2 |
| 3 | Fortran (first high‑level) | DO 10 I = 1, 10 |
| 4 | Ada (second‑generation high‑level) | FOR I IN 1 .. 10 LOOP |
| 5 | Java (object‑oriented) | for (int i = 1; i |
Vibe programming allows the programmer to think at the level of ideas and design, rather than focusing on the mechanics of writing code.
That sounds like pure freedom. And in some ways, it is.
But then he added the part I wasn’t expecting:
It is essential that the person writing the prompt actually understands the code that gets produced.
Why? Because software doesn’t just get written once and live forever. It has a lifecycle, and every phase of that lifecycle requires real understanding:
- Design – choosing the right architecture.
- Implementation – writing or generating code.
- Testing – verifying behavior.
- Maintenance – updating, patching, extending, and fixing.
That last one—maintenance—is the most important. Real software gets updated continuously across many versions. If you don’t understand what the AI generated, you cannot maintain it, debug it, or evolve it with confidence.
He put it simply: AI eliminated some jobs that already existed—machine coders, assembly programmers. But it also created new ones: prompt engineers, vibe programmers. The field didn’t shrink; it shifted.
The Calculator Analogy
This is the part that really settled the question for me. Think about what happened when calculators arrived.
- Nobody said “math is dead.”
- Nobody stopped teaching arithmetic in schools.
What happened instead was that the floor of what you could accomplish rose dramatically, but the ceiling only moved for the people who actually understood what was happening underneath.
A calculator in the hands of someone who doesn’t understand math is just a machine that produces numbers. In the hands of someone who does, it’s a tool that amplifies everything they’re capable of.
AI and code generation are the same. The tools get more powerful, but the person operating them still needs to understand what they’re doing—otherwise they’re just producing output they can’t explain, verify, or fix.
What I’m Taking Away From This
I came into that email thread feeling like my curriculum might be obsolete before I even graduated. I came out of it feeling as if I finally understood why my curriculum exists.
Learning C++, Java, and Python isn’t about memorizing syntax that an AI can generate in seconds.
It’s about building a mental model of how software actually works—how memory is managed, how objects interact, and how algorithms perform at scale. That mental model lets me:
- read AI‑generated code critically,
- catch mistakes,
- ask better questions, and
- ultimately build better things.
The programmers who will struggle in an AI‑driven world aren’t the ones who learned to code. They’re the ones who learned to copy‑paste without understanding. AI doesn’t change that equation—it just raises the stakes.
So yes, it’s still worth it.
Not despite AI, but especially because of it.