010 Coding Collective

010 Coding Collective

Expertise erosion: are we unlearning how to program because of AI?

New developers copy-paste error messages into ChatGPT. They no longer learn how things work. What does that mean for the future of software development?

AI LLMs Software Development Education Career Development Technical Skills

You don't know what you don't know

If the AI always gives the answer, you never develop the skills to solve problems yourself.

Pattern recognition requires experience

You can only see what's going wrong if you understand the underlying systems. You don't learn that from AI.

In a few years

We'll have a generation of developers who don't know what they don't know, who get stuck as soon as the AI can't figure it out.

The foundation that’s disappearing

In the old days, when you started programming, you had to learn the basics. How does a network work? How does a database work? What is a pointer? That foundation is broad. And that breadth gives you the advantage that you recognize patterns.

That foundation is very broad. And that gives me the advantage that I very often see things. Then something happens, oh, then I think: oh yes, then you have to look here and here. Because I’ve seen those patterns, maybe not literally, but you’ve seen something comparable at some point.

If you understand the underlying systems, you know where to look when something goes wrong. You’ve developed intuition about how things work. You build that intuition through experience, through making mistakes, through investigating things.

The new workflow

What do you see now? People who code with AI have a different workflow. Something doesn’t work. What do you do? You go to ChatGPT or Claude. You copy-paste the error message. You ask: give me a solution.

They don’t develop that knowledge anymore either. Nowadays, what do you do? You go to ChatGPT or Claude Code. It says: oh, this doesn’t work. You copy-paste the error message again. Give me a solution.

The problem: you don’t learn anything. You have no idea why it didn’t work. You have no idea why the solution works. You’ve only learned that if you put the error message in the AI, something comes out.

The moment the AI can’t figure it out

This is the problem many developers have. If you’re vibe coding a lot, you get to the moment where the AI actually can’t figure it out. Or the AI pretends it can figure it out, but it doesn’t work.

That’s the moment, that’s probably also the problem many developers have. If you’re vibe coding a lot, you get to the moment where it actually can’t figure it out. And then you have to solve the problem. And if you can’t solve it then, you’re actually not a programmer.

And then you have to solve it yourself. But you never learned how to solve problems. You never learned how to investigate why something doesn’t work. You only learned how to write prompts.

You don’t know what you don’t know

The fundamental problem with AI-assisted coding is that you don’t know what you don’t know. The AI gives a solution. That solution looks good. But is it the right solution? Are there better ways? What are the trade-offs?

You don’t know what you don’t know. So everything AI doesn’t say, you also want as if it doesn’t exist.

If the AI doesn’t mention something, you think it’s not relevant. But the AI also doesn’t know what it doesn’t know. It gives answers based on patterns in its training data. If your problem is just different, it goes wrong.

The shifting of responsibility

There’s another problem. You shift the responsibility from yourself to the AI.

It’s not just shifting responsibility, you shift the responsibility from the person, the developer, who is accountable because they’ve seen it, to OpenAI.

A developer who writes code is accountable for it. They’ve seen it. They’ve thought about the choices. They can explain why it’s like that. A vibe coder can’t. They can only say: the AI did it that way.

The training data limitation

AI is good at things that happen often. If thousands of people before you have had the same problem, the AI solves it perfectly. But as soon as you’re doing something unique, it becomes difficult.

If you’re building a very simple website with a very simple backend with a few REST endpoints in Python, there are of course a hundred thousand different examples of that. It builds something pretty decent. But if you have to do something specific, where there aren’t as many examples, you see that you very often have to steer yourself.

This is the paradox: AI is best at things that aren’t interesting. Standard problems, standard solutions. The interesting things, the unique problems, that’s where it fails.

In a few years

I think in a few years we’ll have a lot of those kinds of people. Why? Because they haven’t learned to literally investigate things anymore, and things why.

We’ll have a generation of developers who:

  • Don’t know how underlying systems work
  • Can’t troubleshoot when the AI fails
  • Can’t judge whether a solution is good
  • Don’t know what they don’t know

The quality standard is shifting

There’s another trend that reinforces this. The standard for what’s “good enough” is shifting.

I also think that the level of quality is becoming less and less important. In the sense that we’re moving more and more towards as long as it works.

As long as it works. That’s the new standard. Not: is it maintainable? Is it secure? Is it scalable? But: does it do what it should do when you press the button?

What remains important?

1

Understanding of fundamentals

Networks, databases, security. The foundation you need to recognize problems.

2

Problem-solving ability

Being able to figure out why something doesn't work. Copying the error message is the start; understanding what sits underneath is the work.

3

Critical thinking

Being able to judge whether a solution is good. Having an opinion about architecture and trade-offs.

4

Knowing when you need help

Recognizing that you don't know something. Not pretending you understand.

The skills that make the difference

The skills that make the difference are no longer the technical details. The AI can do those. The skills that make the difference are:

1

Domain knowledge

Knowing what the problem is that you're solving. Understanding what users need.

2

Communication

Being able to explain what you're building and why. Bringing stakeholders along.

3

Quality assessment

Being able to see if something is good. Working and working well are two different things.

4

Systems thinking

Understanding how everything fits together. Seeing what choice now has what consequence later.

Conclusion

AI changes what it means to be a developer. But it doesn’t replace the need for expertise. It only shifts what that expertise is about.

The question is: do new developers still develop that expertise? Or do they lean so hard on AI that they never learn what they actually should know?

Need help from experienced developers?

Our team has 15+ years of experience. We know what AI doesn’t know. We help you make the right choices.

Let's discuss your project

From AI prototypes that need to be production-ready to strategic advice, code audits, or ongoing development support. We're happy to think along about the best approach, no strings attached.

010 Coding Collective free consultation
free

Free Consultation

In 1.5 hours we discuss your project, challenges and goals. Honest advice from senior developers, no sales pitch.

1.5 hours with senior developer(s)
Analysis of your current situation
Written summary afterwards
Concrete next steps