Retrieval, not exposure
In 2006 Roediger and Karpicke gave students a prose passage. One group read it four times. Another read it once, then tried three times to write down everything they could remember, with no chance to re-read. Tested five minutes later, the re-readers did better. Tested a week later the order reversed hard: the recall group retained roughly 61 per cent of the material, the re-reading group roughly 40.
The students had also been asked to predict their own performance. The re-readers predicted they would do better. They were confident and they were wrong, and that combination is the reason this lesson exists.
Producing the answer is what sticks
An older result points the same way. Slamecka and Graf, 1978: participants shown a cue and asked to produce the target themselves (hot – c___) remembered the pair better than participants shown hot – cold. Same information, same seconds on the page. The difference was who produced it.
Robert Bjork collected effects like these under the name desirable difficulties: conditions that make practice feel slower and worse while making retention better. Spacing sessions out. Interleaving different problem types instead of blocking them. Attempting before being told. Each one degrades performance during practice and improves it afterwards, which means the signal you get while practising points the wrong way.
Manu Kapur’s work on productive failure goes further. Students asked to invent solutions to problems they had not been taught, and who mostly failed, then received the canonical method, and outperformed students who got the method first. The failed attempt built the structure that the explanation then slotted into.
The mechanism, applied
Here is the specific thing that changed, stated as a mechanism rather than a worry.
Writing a function yourself forces recall. You have to retrieve the method name, the argument order, the loop bound, the behaviour when the list is empty. Each retrieval is a repetition, and retrieval under difficulty is what the studies above are measuring.
Reading a generated function requires only recognition. You see items.reduce(...) and you recognise it. Recognition is dramatically cheaper than recall (this is why multiple-choice is easier than short-answer) and, critically, it produces the same subjective feeling. Nothing in your experience of reading fluent code distinguishes “I could have written this” from “I can follow this”.
So the internal signal that used to tell you whether you had learned something is now measuring the wrong variable. It tracks fluency, and generated code is uniformly fluent.
What this does not license
Abstinence is the wrong conclusion, and it is the conclusion everyone reaches first.
Deliberate practice has two halves: effortful attempts, and fast accurate feedback. The second half used to be the scarce one. You wrote something, and if you had nobody to review it you might carry a bad habit for years. A model that will critique your code, name the race condition and show three other ways to do it is a feedback device of a kind junior engineers have never had.
The question is the order of operations, not the presence of the tool. Commit to a prediction, then generate. The gap between the two is the lesson, and it exists only if the prediction came first.
The limits of this evidence, stated plainly
Everything above comes from laboratory work on word lists, prose passages, physics problems and secondary-school mathematics. There is no controlled, multi-year study of programmers learning with and without generation assistance, and there is not going to be one soon, because you cannot randomise people into careers and follow them for a decade.
So: the mechanism transfers plausibly. The magnitude does not transfer at all. Anyone who tells you that assistants cost juniors a specific percentage of their skill growth has made the number up. Treat this literature as a reason to design your practice carefully, not as a measurement of your situation.
The free path
None of this needs paid tooling. Spaced repetition has a free, open-source implementation in Anki, which runs on a phone. The retrieval half needs nothing but a blank file and the discipline to write the signature before you ask for it. A notebook works.
The feeling of understanding is a measurement instrument. It was calibrated in a world where the only way to read your own code was to have written it. That calibration is gone, and nothing replaced it automatically.
Every lesson here is open. Your progress is recorded once you pass the AI at Work exam.
Check your understanding
An engineer reads generated code carefully, follows every line, and reports feeling that they learned the technique. A week later they cannot write it without help. What is the mechanism?
Pick the one you would defend. Your answer stays private.
Stuck on something?Ask Larissa, your AI tutor