The question “Will coding be taken over entirely by AI?” has been asked to death already, and people keep trying to answer it. I’m not sure there’s anything truly new to say, but I want to share my own observations.
The early narrative was that companies would need fewer seniors, and juniors together with AI could produce quality code. At least that’s what I kept seeing. But now, partly because AI hasn’t quite lived up to the hype, it looks like what companies actually need is not junior + AI, but senior + AI.
Why?
Let’s look at where AI is good and where it falls short in coding.
Where it helps:
- Cranking out boilerplate and scaffolding
- Automating repetitive routines
- Trying out different implementations
- Validating things quickly thanks to fast iteration …
The question “Will coding be taken over entirely by AI?” has been asked to death already, and people keep trying to answer it. I’m not sure there’s anything truly new to say, but I want to share my own observations.
The early narrative was that companies would need fewer seniors, and juniors together with AI could produce quality code. At least that’s what I kept seeing. But now, partly because AI hasn’t quite lived up to the hype, it looks like what companies actually need is not junior + AI, but senior + AI.
Why?
Let’s look at where AI is good and where it falls short in coding.
Where it helps:
- Cranking out boilerplate and scaffolding
- Automating repetitive routines
- Trying out different implementations
- Validating things quickly thanks to fast iteration
- Shipping features fast, as long as you know what you want And who benefits most from that? Obviously seniors. In the hands of a junior, these things are harder to turn into real value. Still possible, but much tougher.
Where it backfires:
- Code review: AI can’t really reason. Reviews can be useful, but once edge cases pop up (and they do a lot more in AI-generated code), you’re left needing a senior anyway.
- Bad prompts: Who writes good prompts? The people who actually understand what they’re building. If someone lacks the knowledge, they might still get “okay-ish” results, but with no proper checks in place it just leads to bugs and headaches.
- Architecture: Without solid architecture, software quickly loses value. Today AI can’t truly design good architecture; it feels like it might, but this kind of reasoning still requires humans. Projects that start with weak architecture end up drowning in technical debt.
- Code quality: Choosing the right abstractions, applying design patterns properly, keeping things clean and context-appropriate. AI still struggles here.
- Security: Think of it like a house without doors, or with broken locks. Security holes pop up more often with junior + AI combinations. Sure, security bugs exist everywhere, but at least with seniors you have some level of awareness and caution.
- Wrong learning: If someone can’t really evaluate the code, they may not realize what’s wrong with what AI produces. Inside a company that can mean producing damage instead of value. There are more examples, but the main point is this: AI is not really a threat to senior developers yet. It may even be the opposite. And this is not about criticizing juniors. It is about not throwing them into risky situations with unrealistic expectations.
Where we should use AI:
- Fast prototyping: Perfect for trying out an idea quickly.
- Speeding up routines: The most important use. Automate the things you already know well and repeat often.
- Multi-disciplinary work: Filling gaps in your knowledge, suggesting useful methods or libraries, helping connect the dots when multiple domains collide.
- Function tests: Simple, repetitive, low-risk code you can easily double-check. From my perspective, that is the current state of things. We still have to read every line AI writes. It is far from perfect. No awareness. Reasoning is imitation. It is non-deterministic, which is why we rely on deterministic things like tests. But then, are you really going to trust the AI to write the tests that verify its own code?
It reminds me of something I tweeted: there was a prompt making AI say “I don’t know” when it didn’t know. My take was: “If such AI says ‘I don’t know,’ you can’t be sure it knows that either.”
Of course, the junior + AI pairing was tempting. It looked cheaper, and it fed the fear that “AI will take our jobs.” But when you compare software to other professions, the field still shows signs of immaturity. In construction, architects design. In software, even the architects are still laying bricks by writing code. Our roles are still not specialized or merit-driven enough, and cost-cutting dominates. That devalues the work and burns people out.
So instead of democratizing coding, AI right now has mostly concentrated power in the hands of experts. Expectations did not quite match reality. We will see what happens next. I am optimistic about AI’s future, but in the short run we should probably reset our expectations before they warp any further.