On the third day without the assistant, I found a variance formula in the energy KPI codebase that I could not explain.
The numbers were right. They matched the expected outputs. But the formula had two negations in it that cancelled each other out, and the comment above it described something the line below it did not do. I had written this codebase, with an AI assistant open in the corner, over several months. Three days earlier I had turned it off to work through a new section of the financial model. I was finding the old code as if for the first time.
The simpler things had gone strange first. Adding time series, computing means, tracking a rolling variance: things I used to type with something close to muscle memory. Now I was checking each line before I moved to the next, and by the time I reached the next I had forgotten what the previous one held. Not the logic in general. The actual variable. Where did that series come from. What window are we averaging over. The thinking that had once moved fast had slowed to a careful plod.
I do not think three days made me worse at programming. I think they made visible what the assistant had been making invisible.
The zone
Lev Vygotsky, writing in the late 1920s and early 1930s, proposed what he called the Zone of Proximal Development: the gap between what a learner can do alone and what they can do with guidance. His argument was that learning lives in that gap. Not below it (too easy, nothing to build) and not above it (too hard, only failure), but at the uncomfortable edge where you can almost do the thing, and the right kind of help keeps you working there.
Jerome Bruner introduced the word "scaffold" in the 1970s to describe that support structure. A scaffold has two properties that matter here. First, it is calibrated: it meets the learner at their actual edge, not below it and not above it. Second, it fades. A scaffold that stays up permanently has stopped being a scaffold. It has become the wall itself.
What I had been using was not calibrated and it did not fade.
What an assistant actually does
A coding assistant will complete the variance formula while you are still deciding which approach to take. It does not know where your edge is. It offers the same quality of help whether you are fluent or uncertain, whether you are consolidating knowledge you already have or trying to build something you do not have yet. The assistance is maximum and constant. There is no mechanism for: this person understands this already, pull back. No mechanism for: this person is confused, offer something different rather than just saying it faster. It completes. That is what it is built to do.
This matters because the ZPD is not just a description of where you are. It is a description of what must happen in that place. You have to sit in the gap. Manu Kapur spent years running experiments on this: students who attempt a problem before being shown the method score better on transfer tests than students who receive instruction first, even when the initial attempts are entirely wrong. The struggle is not inefficiency. It is the mechanism of schema formation.
The gap AI tools are designed to close is the same gap where programming skill grows.
A tool that resolves the gap the moment it appears is not removing wasted effort. It is removing the effort that builds the structure.
The counter
The objection that deserves a serious answer: the assistant frees you for higher-level thinking. This is true. If I already know how to compute a rolling variance, I do not need to spell it out every time. Offloading the known things makes space for the things I do not know yet. This is how expertise works: you automate the low-level operations and direct attention to the harder ones.
But the argument assumes you already have the low-level structure. You can offload the vocabulary when you know the grammar. If you are still building the grammar, there is no higher level to retreat to. And as it turns out, you can hold grammar you think you have but only ever accepted.
The variance formula I could not explain was a piece of grammar I had accepted without reading. Three days without the assistant was how I found that out.
What the data is starting to say
In November 2025, two researchers at Purdue published a paper coining the phrase "Zone of No Development": the state in which continuous assistance replaces the cognitive struggle that makes development happen. They were writing about education broadly, but the mechanism is the same one that left me staring at a formula I had shipped but could not read.
GitClear's longitudinal study of GitHub Copilot adoption, tracking millions of lines of code over several years, found that code churn and copy-pasted segments both increased alongside AI adoption, while code that required sustained original reasoning declined. The numbers are early and contested. The direction is not random.
The problem in each case is the same. The tool is not the issue. The tool has no way of knowing which mode you are in.
What three days gave me
There is no rule here about when to use an assistant and when not to. I use mine and I will keep using it. What three days without it gave me was not a conversion; it was a diagnostic. I saw code I had shipped without understanding. I saw a skill that had softened at the edges in ways I had not noticed, because the tool had been smoothing over the rough parts without telling me.
The discomfort of not knowing is not a problem to close quickly. It is the gap doing its job.
The gap is the point.
Sources
- Vygotsky, L. S. Mind in Society: The Development of Higher Psychological Processes. Harvard University Press, 1978. Primary source for the Zone of Proximal Development.
- Kapur, Manu. "Productive Failure in Learning Math." Cognitive Science 38, no. 5 (2014): 1008–1022. onlinelibrary.wiley.com
- dos Santos Jr., Euzeli C., and Tracey Birdwell. "The Unspoken Crisis of Learning: The Surging Zone of No Development." arXiv:2511.12822, November 2025. arxiv.org
- GitClear. "Coding on Copilot: Data Shows AI's Downward Pressure on Code Quality." 2024. gitclear.com
Thanks for reading.If this resonated, the easiest way to support the project is to forward it to one person who'd like it, or to subscribe to the letter.