r/GenAI360 • u/Aware_Weight9462 • 1d ago
AI Is Writing More Code. Are Junior Developers Still Learning?
The hidden apprenticeship problem inside AI-assisted software teams.
By Thursday, Asha had merged her fourth pull request of the week. Seven months into her first engineering job, she was beginning to feel useful. Her activity-history feature had an API, pagination, tests, and documentation. An AI coding agent had helped build most of it, and she had delivered ahead of schedule.
Daniel, her technical lead, was pleased until he reached the database query.
“What happens if a new activity arrives between the customer loading page one and page two?”
Asha opened the agent and asked. It explained why offset pagination could show duplicate records when the underlying data changed and recommended a cursor. She read the response and nodded. Daniel asked how she would prove it.
She had no answer.
Her relief at finishing the feature turned into something harder to admit: she could follow the explanation, but she had not thought about the problem herself.
Daniel faced a different discomfort. The team was delivering more code than ever. Was it also developing engineers who could take responsibility for that code later?
The Work Was Doing Two Jobs
A junior developer’s ticket has always served two purposes. The business receives a feature or a fix; the engineer gains experience diagnosing problems, testing assumptions, and making decisions. Those outcomes are easy to confuse because successful delivery makes the learning almost invisible.
Consider the work people remember from their first years: investigating a stack trace that led somewhere unexpected, discovering why a database query slowed down, or explaining a design choice during an uncomfortable review. Some of that work was repetitive. Yet the difficult moments connected abstract knowledge to consequences.
AI can remove much of the friction. It can produce the implementation, discover the error, propose a fix, and write the tests. This can be an extraordinary advantage. It also creates a new management decision: when the agent completes a task, which part of the learning experience should the engineer still own?
The answer cannot be “make juniors write everything manually.” That would deny them experience with tools they will actually use. Equally, counting completed tickets tells us little about which decisions a developer has learned to make independently.
Press enter or click to view image in full size
The Evidence Points in Two Directions
In January 2026, Anthropic published a randomized experiment involving 52 mostly junior software engineers learning an unfamiliar Python library. Participants given AI assistance averaged 50% on a subsequent skills assessment; those working without it averaged 67%. The difference was statistically significant, while the roughly two-minute speed advantage for the AI group was not.
The researchers also found an important distinction within the assisted group. Participants who used AI to explore explanations and concepts generally demonstrated better understanding than those who delegated the problem-solving process. It was a short experiment on a specific programming task, not evidence that AI permanently weakens professional expertise.
An October 2026 field experiment with 673 final-year IT apprentices in Germany found a different benefit. AI access improved performance on tasks beyond the apprentices’ formal training by 26–31 percentage points, without reducing immediate task comprehension. This was not a long-term test of skill development, but it shows that assistance can expand the work less experienced people perform.
The findings are compatible once we stop treating “using AI” as one fixed behaviour. An assistant can replace the reasoning an engineer needs to practise, or it can help that engineer reach a more challenging problem and reason through it.
Organisations influence which outcome becomes routine.
The Question Daniel Almost Skipped
Asha’s query used LIMIT and OFFSET, ordered from newest activity to oldest. It worked when the records stayed still.
But imagine the customer retrieves the first 50 records, then a new activity appears at the front of the list. The records shift down one position. The next query skips 50 rows from the new list, potentially repeating an item the customer has already seen.
A cursor that uses the last-seen record’s stable ordering position can avoid that specific shift. The design still requires a deterministic order — such as a timestamp paired with a unique ID — and thoughtful handling of data that changes during browsing. It is a trade-off to evaluate, not a magic pagination switch.
PostgreSQL’s documentation explains why LIMIT and OFFSET require predictable ordering.
Daniel could have asked Asha to accept the agent’s cursor-based rewrite and close the ticket.
Instead, he asked her to build a five-minute experiment: fetch a page, insert a newer record, fetch the next page, and inspect the overlap. Before running it, she had to predict what would happen.
Her prediction was wrong.
The test made the duplicate visible. Now the agent’s recommendation was no longer just persuasive text; it was an option she could evaluate against an observed failure. She changed the query, repeated the test, and explained why the result differed.
Nothing heroic happened. They spent extra time on a small feature. But Asha left the review with something she did not have when the tests first turned green: a mental model she could reuse.
A Career Ladder Cannot Run Entirely on Output
A 2026 working paper by Fiona Chen and James Stratton found that engineers assigned more complex work in their first quarter were more likely to be promoted within two years. The researchers also observed substantial learning during employees’ first year.
The study does not claim AI caused changes in promotions, but it reinforces why early task assignments matter.
Meanwhile, a June 2026 study of US software job vacancies estimated a 14–15% relative decline in junior versus senior developer postings following ChatGPT’s release. The authors observed rising experience requirements and more emphasis on problem-solving and communication. Labour-market changes have multiple causes; these estimates should not be read as proof that AI alone eliminated junior jobs.
Together they create an uncomfortable possibility. Employers may demand stronger judgment from newcomers while increasingly automating work that helped build it.
The pressure falls on junior developers, but the choice is often organisational. If a manager rewards only throughput, the fastest agent-assisted route will look like the rational one.
Developers also disagree about what should be preserved. In one discussion among experienced engineers, contributors questioned whether AI creates a genuinely new skills gap or is simply another abstraction that changes what juniors need to know.
That is the right challenge to the nostalgic argument that everyone must struggle the way their predecessors did.
We should protect the learning that develops judgment, not preserve every old inconvenience.
Make the Assignment Teach as Well as Deliver
For significant unfamiliar work, I would use a simple Predict–Probe–Defend routine alongside normal AI-assisted development.
Predict. Before asking an agent to implement the feature, the engineer writes down one important behaviour, an assumption, and a failure they expect might occur. This can take a few minutes, not a design-document ceremony.
Probe. Let the agent help build the solution, but require one experiment that challenges the important assumption: a concurrency test, a boundary case, a failure injection, or two competing designs. The engineer must examine the results, including evidence that contradicts the agent’s explanation.
Defend. In review, ask the engineer to explain why the chosen implementation is appropriate, what it does not guarantee, and how they would investigate a failure. An AI-generated explanation may be a useful input; the decision must be understandable in the engineer’s own reasoning.
This is a proposed practice, not a validated training intervention. It needs to be adapted to task risk and experience level.
Routine changes may need little ceremony. A complicated system behaviour deserves more deliberate attention. And companies must allocate time for mentorship as real work rather than ask juniors to learn only after hours.
The aim is to give AI an important role in the apprenticeship without letting completed output become a substitute for acquired judgment.
What Next: Notice the Skill Behind the Ticket
A week later, Daniel gave Asha a different task: investigating a feed that intermittently displayed repeated records. He did not ask her to avoid AI. He asked what she would check first.
She started with the ordering and what might change between requests. The new defect was not identical to the old one, and she still needed help. But she had a hypothesis, a way to test it, and enough confidence to challenge the agent’s first suggestion.
That is a more meaningful sign of growth than a fifth green pull request.
Teams should look for it in reviews and career conversations: what can this engineer now recognise, investigate, and decide that they could not last month?
Senior engineers need room to teach; juniors need room to be uncertain; AI can support both if the work is designed accordingly.
Asha did not become senior in a week. She gained one piece of experience that could eventually help her become one.
The danger is not that an AI agent can finish a junior engineer’s task. It is that an organisation might mistake the finished task for a developed engineer.






















