Outsourcing Struggle
On effort, understanding and machines that do neither
I’ve been a professional programmer for a long time — likely longer than most of my colleagues have been on this earth. I am still working full-time today. So I’ve had a front-row seat to the evolution of the tools of the trade, in a trade where you either evolve along with the tools, or you find another career. When I got my first contract in 1984, things like coding assistants, auto-complete and syntax checkers didn’t exist for the languages I was using. There wasn’t even internet service, or browsers, or any way to “Google” the answer to a question. Answers were found in printed documentation, books, or in conversation with a colleague.
Over the years, new coding tools became available; some I still use today, and others fell by the wayside. The most impactful change was the internet, of course, which almost overnight replaced printed documentation and books — examples and answers to questions were a browser search away. Language-specific Integrated Development Environments (IDEs) made available real-time syntax assistance, code-completion, and non-AI code analysis that suggests more efficient coding patterns as you work. These tools that I use today are valuable in that they provide access to the knowledge encapsulated within them — the knowledge of programmers with decades of experience. They provide pieces to the puzzle, but not complete answers.
But now, large language model AI code assistants and agents are being built into code editors and Integrated Development Environments. AI arrived, enabled by default, in an update to the IDE I use. Without my asking, AI-enabled code completion started anticipating what I was about to type, like that annoying person who interrupts you to tell you what they think you are about to say. It anticipated correctly less than half of the time, because, of course, it couldn’t read my mind. It interrupted my train of thought and slowed me down. I disabled it.
But this left me with questions about how use of these new AI tools is impacting not just how code is written, but the abilities of the programmers using them. If I use an AI coding agent to write the code, and I just review what it wrote, will I really understand it well enough to fix it when it breaks? And is doing so not unlike using AI to write an essay, then being unable to defend, or even remember my arguments because I didn’t actually do the work of researching it and writing it?
More broadly, these are questions about what can be lost when we offload cognitive effort to a machine. Finding the answers begins with a closer look at how humans have shared and accessed collective knowledge within societies and across generations; and how technologies have transformed access to this knowledge.
In his book, The Knowledge Illusion, cognitive scientist Steven Sloman writes: “We rely not only on knowledge stored in our own skulls, but also on knowledge stored elsewhere: in our bodies, the environment, and especially in other people.” Simply put, we do not think alone. As a species, we thrive (and survive) by sharing knowledge. The scientific term for this is cognitive offloading — the process through which individuals transfer cognitive tasks traditionally performed internally toward external systems or technological tools. For millennia prior to the invention of writing, collective knowledge was shared and transmitted across generations within societies by oral traditions — narratives encompassing myths, legends, folktales, songs, and rituals. With the invention of writing, knowledge once held in individual memory could be cognitively offloaded to text.
Since the origins of writing close to 6000 years ago, systems for the externalization of human knowledge have evolved. The Library of Alexandria, founded in the 3rd century BCE, was a first attempt at centralized, retrievable external memory at scale. Systems for locating and categorizing written information evolved over the centuries in the form of dictionaries, encyclopedias, the Dewey Decimal library classification system, footnotes and citations. After the 1880 census took nearly a full decade to process, Herman Hollerith won a government-sponsored contest for a faster method with his punched cards tabulating machine, marking the beginning of knowledge in machine-readable form. With the arrival of digital computers in the mid-20th century, new systems for storing and retrieving knowledge evolved rapidly, with searchable databases, networked systems, Google search, cloud storage, personal archives in handheld devices, social media, and most recently AI large language models.
With each of these advancements, access to externalized information has grown faster and easier, until today when it is near instantaneous, and accessible as the device in your pocket. But fast and near effortless access to information comes at a cost that cognitive science literature has been documenting for over a decade: when information is reliably retrievable on demand, we’re less likely to invest the effortful processing that helps it consolidate into durable long-term memory. This phenomenon, referred to as the generation effect, was demonstrated in a set of experiments conducted at the University of Toronto in the late 1970s, comparing memory for words that were generated by the subjects themselves with the same words when they were simply presented to and read by the subjects. In all cases, performance was superior with the subjects who had to generate the words. They were slower, struggled more and made errors, but remembered far more when later tested.
The benefit of generative cognitive effort extends beyond improving recall of semantic knowledge, to explanatory knowledge — knowledge that involves complex causal patterns and processes. This generative effect is evident in studies conducted by cognitive and learning scientist Michelene Chi and colleagues at the Learning Research and Development Center in Pittsburgh. In a 1989 study, Chi, Bassok, Lewis, Reimann, and Glaser analyzed the self-generated explanations students produced via talk-aloud protocols while studying worked examples of mechanics problems. Students who showed the most improvement generated many explanations that refined and expanded elements and processes of the worked examples. They accurately monitored their own understanding and misunderstanding, resulting in example-independent knowledge of the principles presented in the text. More recently, Chi, along with fellow cognitive scientist Ruth Wylie, have developed the ICAP (Interactive, Constructive, Active, Passive) framework — a hypothesis predicting that learning increases as engagement moves from passive absorption toward active construction, and that depth of understanding is a function of generative cognitive engagement.
The development of large language model AI technology changes how we interact with externalized knowledge. Earlier forms of cognitive externalization preserve the gap between the question and the answer. Bridging that gap requires cognitively demanding activities such as searching for information, comparing sources, evaluating evidence, constructing arguments, and synthesizing ideas independently. These earlier technologies make the pieces to the puzzle more accessible, but assembly instructions are not included. In contrast, when used to access externalized knowledge, AI has the ability to collapse that gap by generating the bridge — assembling the puzzle for you, and eliminating the need even for assembly instructions. It makes it easy to bypass the cognitive friction which plays an essential role in the development of analytical reasoning and critical thinking skills.
A helpful synthesis of current research on this topic can be found in Mushahid Hussain’s 2026 systematic literature review, Generative AI and Cognitive Offloading: Assessing the Impact on Critical Thinking Skills Among University Students. Hussain’s review identifies that the cognitive consequences of generative AI are not determined solely by AI usage itself, but rather by the manner in which students cognitively engage with these systems. The analysis reveals three distinct modes of AI interaction: passive AI consumption, assisted AI learning, and reflective AI collaboration; with the reflective collaboration mode requiring the most cognitive friction, and resulting in the greatest enhancement of critical thinking skills. He argues that generative AI should be viewed as a cognitive environment capable of reshaping how students construct, externalize, and engage with knowledge, and that the future educational impact of generative AI systems ultimately depends on “preserving cognitive ownership, reflective engagement, and critical inquiry within AI assisted learning environments.”
Both Hussain’s systematic literature review, and research of pre-AI systems by Michelene Chi and others, reveal a direct connection between cognitive friction and the enhancement of cognitive reasoning skills. One key difference implied in Hussain’s passive AI consumption mode, is that compared to traditional systems, the generative capabilities of large language model AI systems make it possible, if not easy, to almost completely offload cognitive reasoning.
In February of 2025, Anthropic released a preview version of Claude Code, and by the end of that year, it became a mature and widely-adopted coding tool. Claude Code, and OpenAI’s Codex became the new shiny objects representing how AI was going to transform the software development workplace. In less than a year after first entering the scene, these coding agents were being integrated into the software development workflows at hundreds of companies of all sizes. With only a smattering of research to provide guidance on how best to utilize these new tools, integration varied from top-down mandated usage where “productivity” was measured in lines of code shipped, to companies where coding agents were made available, and individual programmers were given the freedom to determine how best to use them.
By early 2026, mixed reports were heard from the field about how the AI rollout was going. So, wanting to hear what actual programmers were saying, Georgetown University Professor of Computer Science, Cal Newport posted an open call to professional programmers to respond on how they and their teams use AI coding tools. He collected over 350 detailed reports which showed that more than half of the respondents were producing most of their code with AI tools, with the usage split into two camps which Newport referred to as enthusiasts and skeptics. The enthusiasts were excited about how much faster they could complete tasks when they shifted their role to planner and verifier, and let the tool write all of the code. The skeptics, on the other hand, were less trusting, and spent more time checking and verifying, not only the code produced, but the step-by-step plan the AI agent was using to produce it; the end result being that it was taking them longer than it would have taken them to write the code themselves.
Five months later, Newport received an unsolicited email from one participant from the enthusiast camp, who had completely reversed his attitude toward agentic AI coding tools, and had largely returned to writing code by hand. He recounted that a new product feature he had coded using an AI agent had crashed the product on two separate occasions, resulting in him nearly losing his job. In his words: “The coding harnesses [coding agents] are useful and make life as a developer easier, but they also encourage laziness … Writing your own code, slowly but surely, and using LLMs [large language models] for narrow or particularly annoying tasks (say like writing tests or throw-away scripts), is the best way to produce the highest quality code, since it’s the only way to properly understand it.”
Get Jim North’s stories in your inbox
Join Medium for free to get updates from this writer.
This former enthusiast is not alone. If you listen to what programmers are saying, you will hear more and more stories which echo his experience. As Newport put it: “From the outside, software development seemed like the poster child for AI’s potential. On the inside, it’s a mess.” In the case of this particular programmer, he was able to adjust how he used AI — to find a way which did not sacrifice the quality of his work.
It is hard not to notice similarities between the balance he found, and the cognitive interaction style for AI usage proposed by Mushahid Hussain, and discussed above, being that the important question isn’t if you should use AI, but how you use it. However, Hussain looked at research on AI usage in education, and not software development specifically. While there is mounting anecdotal evidence on the use of AI coding tools, formal studies conducted after the February 2025 release of Claude Code are difficult to find.
One early 2025 random control trial was conducted to understand how AI tools affect the productivity of experienced programmers working with actual open-source code libraries. After completing the study, developers estimated that using AI to complete the tasks reduced completion time by 20%, while the actual measured results showed that AI usage actually increases completion time by almost the same amount. Overall, AI tooling slowed developers down.
A second study of how use of AI impacts skill formation in novice programmers was conducted by Anthropic in early 2026. This study found that conceptual understanding, code reading, and debugging abilities were impaired by AI use, without delivering significant productivity improvement, and that fully delegating coding tasks to AI produced only modest increase in productivity, but at the cost of learning and skill formation. This study did not include senior, experienced developers.
The use of technology to enhance our cognitive and physical abilities is nothing new. Machines can do some amazing things for us, but they cannot read our minds and understand our intentions and our goals. Since they are incapable of intention and cannot understand our goals, they cannot use them to come up with novel and unique solutions for fulfilling these goals. In the words of Steven Sloman from The Knowledge Illusion:
“The machine is not a collaborator; it’s a tool. In that sense, the tools of AI are more like a microwave oven than another human being. Technology may be a big part of the community of knowledge by providing information and useful instruments, but it is not a member of the community in the same way that humans are. We don’t collaborate with machines just as we don’t collaborate with sheep; we use them.”
With the invention of large language models, we now have machines with the ability to generate human sounding responses to our questions. They can produce entire documents with plausible-sounding explanations, and write a complete computer program from beginning to end — delivered up with all of the confidence of an experienced human colleague. It can be tempting to trade the cognitive effort required for understanding in exchange for expedience. But none of what AI produces comes from the shared intention, goals and understanding of another person. It is the result of statistical extrapolation from training data distilled down into numbers. Put simply, it is just math.
Ultimately, it comes down to choosing between two paths — a choice incisively stated in the words of author, Cory Doctorow:
“’Understanding’ and ‘statistical extrapolation’ can often lead to the same place, but when they don’t, ‘understanding’ provides a way forward, while ‘extrapolation’ founders. Both work fine, but only one fails gracefully.”
Further Reading
The Knowledge Illusion: Why We Never Think Alone — Steven Sloman & Philip Fernbach, Riverhead Books
Desirable Difficulties: Why Making Learning Harder Helps You Remember More — Mindomax
Does using artificial intelligence assistance accelerate skill decay and hinder skill development without performers’ awareness? — Brooke N. Macnamara, et al., NIH National Library of Medicine
The Long Arc of Cognitive Externalization — Katalin K Bartfai-Walcott, Medium
How AI assistance impacts the formation of coding skills — Anthropic. Summary of its 2026 study.
Did the AI Job Apocalypse Just Begin? (Hint: No.) — AI Reality Check — Cal Newport, YouTube Discussion about survey of AI use by programmers begins at timestamp 20:09
On AI Coding and Its Discontents — Cal Newport. Blog post follow-up to the programmer survey.
Dualism — Cory Doctorow. Pluralistic blog post.
This essay is released with a CC BY-NC-ND license. Please link to medium.com/@north.point.jim if you re-use this material.




