Do You Still Need to Learn the Fundamentals in the Age of AI Coding?
Over the last couple of years, a particular doubt keeps showing up.
If AI can already write functions, autocomplete code and fix bugs — often faster and cleaner than a human — is there still a point in studying data structures, algorithms, operating systems, and the rest of the so-called fundamentals?
The doubt is not unreasonable. The most seductive feeling AI gives you is that all the hard climbs you used to have to make on your own can now be quietly walked around. Don’t know how to write something? Ask. Don’t understand it? Ask again. Stuck for a moment? Ask one more time. The answer arrives quickly, the code runs, the page moves, the error seems to be handled. So it’s easy to keep sliding forward and start asking yourself: if the answer comes this fast, do all those slow, painful steps in the middle still matter?
That is exactly where the trap is.
Getting an answer and being able to judge an answer have never been the same thing.
The deeper value of fundamentals was never that you can hand-write a linked list, or recite some sorting algorithm in an interview. It runs deeper than that. They slowly grow into a kind of judgment: what is reasonable, what is dangerous, what is just barely working today, what will actually hold up tomorrow, what looks elegant on the surface, and what is quietly accumulating cost behind the scenes.
Take writing as an analogy. Sure, you can find someone who writes well to write for you, or have a system spit out an article that looks complete, fluent and perfectly serviceable. But if you yourself can’t read, don’t know how a piece is structured, can’t tell why a sentence holds together, can’t see why a paragraph went hollow, soft, or quietly swapped one concept for another — then you have no real way of judging whether it is any good. You could submit it and get a perfect score, and still have no idea why.
Programming is the same. AI can produce a lot for you, but data structures, algorithms and systems fundamentals are essentially the “literacy” layer underneath. They don’t always show up directly in the few dozen lines of code in front of you, but they decide whether you can see the cost behind an implementation, and whether you can tell where a design is actually breaking — in complexity, state management, resource constraints, or the abstraction itself. (To be clear: studying data structures doesn’t automatically give you those instincts. But those instincts are usually grown out of fundamentals, one layer at a time.)
And the harder part isn’t even “should I still learn fundamentals?” by itself.
It’s that AI, like almost every successful tool of this era, is pushing people in the same direction: less friction, faster feedback, less waiting. Ask a question and an answer appears. Describe something and an implementation appears. Spend enough time inside that loop, and you slowly lose tolerance for any kind of learning that doesn’t pay back immediately.
The trouble is, the fundamentals that matter mostly aren’t the kind that pay back immediately.
Studying data structures is usually dry. Operating systems, networking, compilers — most of it doesn’t produce anything visible right away. You have to go back over the same ideas, get stuck, sit there for a long time in a state where you sort of get it but haven’t really understood it yet. That process was never light. And once someone is used to getting answers fast, the slowness, discomfort and uncertainty of real thinking start to feel unbearably heavy. It’s not that people get less smart. It’s that they become less and less willing to sit inside not-yet-understood.
That is the part to be careful about.
The ability to deal with hard problems is never picked up cheaply. If someone gets used to shallow feedback, rough understanding and quick closure too early, then later, when they hit a problem that genuinely requires patience, derivation, and staying with it for a long time, they’ll instinctively want to skip past it and grab some “good enough” answer. But a lot of important problems can’t be solved with “good enough.”
These days you often hear: don’t bother memorizing all those details, just understand the principles. There’s nothing wrong with that line, but it’s easy to bend it the wrong way — as if knowing the principles means you no longer need to step into the difficult specifics. The truth is the other way around. Real understanding is usually grown out of working through the specifics.
Remembering and understanding are not the same thing.
The first one knows the conclusion. The second knows why it holds, and where it breaks. As the old saying goes, “people teaching people doesn’t really stick; reality teaching people sticks.” If you don’t actually run into the pain points, the hard parts, and the long stretches of thinking that go nowhere, you won’t really understand the principles, and most of the time you won’t even remember them.
So back to the original question: in the age of AI coding, is it still worth learning data structures and the rest of the fundamentals?
My answer is still: yes, learn them.
Not because you’ll always need to handcraft every line of code, and not because the old way of learning has to be preserved exactly as it was. The reason is simpler. If those fundamentals aren’t in your head, what you’ll get out of AI is just “a result that looks impressive.” You can call it, use it, even depend on it — but you’ll have a hard time really judging it, doubting it, or correcting it.
And more importantly, what you preserve by learning these things isn’t just a body of knowledge.
What you preserve is a capacity. A capacity to keep thinking when the feedback isn’t immediate. A capacity to stay in the details when there’s no quick reward. A capacity to hold a problem yourself for a while, instead of immediately handing it off, just because you can’t quite see the shape of it yet. AI can do the work for you. Don’t let it do the thinking for you.
I’ve been going back and forth on these questions for a while, and I’ve been collecting some of it into a small open-source book on AI programming, kept on GitHub and updated bit by bit. If any of this resonates with you, or if you happen to be in the middle of the same transition, you might find it worth a look: AI-programming-book