Should Junior Developers Learn to Code Without AI First?
AI can make developers faster. But are we giving the next generation enough opportunities to learn how software actually works?
Something That Got Me Thinking
Yesterday, I attended "AI og Ledelse โ Mennesket fรธrst", an event hosted by IDA and Mannaz, where we explored AI, leadership, and the importance of keeping humans in the loop.
There were several interesting perspectives, but one question stayed with me:
How do we make sure the next generation of software developers actually learns to understand code when AI can write most of it for them?
It's something I've been thinking about, especially from a technical leadership perspective.
Remember Learning to Code?
When I started my career as a software developer, AI coding assistants weren't an option.
If something didn't work, you had to figure out why.
You spent hours debugging, reading documentation, searching Stack Overflow, and occasionally questioning your career choices. ๐
It wasn't always efficient, but you learned a lot along the way.
You learned how to investigate problems, understand code, and recognize when something wasn't right.
Today, a junior developer can ask AI to implement a feature and receive a working solution in seconds.
That's impressive. But it also raises an important question.
If AI solves the problem before you've struggled with it, what have you actually learned?
Should We Limit AI for Junior Developers?
Imagine hiring a newly graduated developer.
During the first few weeks, you want them to understand the codebase, learn the architecture, and develop their problem-solving skills.
But what happens if they immediately use AI to generate every solution?
They might complete their tasks faster, but are they developing the skills needed to maintain and troubleshoot the code later?
I'm not suggesting that juniors shouldn't use AI.
In fact, I believe learning to work effectively with AI is becoming an important engineering skill.
But perhaps we need to rethink how we introduce it.
What if we encouraged junior developers to:
- First attempt a solution themselves before asking AI.
- Explain their reasoning and approach.
- Use AI to challenge or review their solutions rather than immediately generate them.
- Understand and explain AI-generated code before accepting it.
The goal wouldn't be to slow them down. It would be to help them develop the judgment they'll need throughout their careers.
The Human Still Needs to Understand
One of the important themes I took away from the event was the role of humans when working with AI.
For me, this is particularly relevant to software engineering and Quality Assurance.
AI can generate code, tests, and even suggest fixes. But someone still needs to understand whether the solution is correct.
If we become too dependent on AI before developing fundamental engineering skills, how do we recognize when AI makes a mistake?
A green test doesn't automatically mean the implementation is correct.
And a working implementation doesn't necessarily mean it's a good solution.
That's where experience, critical thinking, and technical understanding matter.
I'm Curious How Other Teams Handle This
I don't think there's one correct approach.
Perhaps limiting AI during the first few weeks helps juniors learn the fundamentals. Or perhaps teaching them to use AI responsibly from day one is more effective.
What I'm particularly interested in is hearing from people who have already tried different approaches.
If you're hiring or mentoring junior developers:
- Do you allow unrestricted AI usage from day one?
- Do you encourage juniors to solve problems without AI first?
- How do you ensure they're actually learning instead of simply accepting generated solutions?
I'd love to hear your experiences, especially what's worked and what hasn't.
Because while AI is changing how we write code, we still need to develop engineers who understand the code they're responsible for.
Top comments (0)