The hard part of programming did not go away when AI assistants arrived. It just changed shape. That is the core argument Jeremy Osborn made in a July 14, 2026, opinion piece for Communications of the ACM.
The old difficulty was cognitive load from memory: syntax, API signatures, control flow maps, edge cases. AI tools now handle most of that. What remains is harder to automate: deciding whether the generated code actually belongs, whether it fits the architecture, whether it will hold up six months from now.
What the research shows
The case is not just opinion. A 2025 meta-analysis by M. Alanazi and colleagues looked at tools like ChatGPT and Copilot in educational settings. Performance went up. Efficiency improved. Gains in actual comprehension stayed small and statistically weak. Research by M.I.H. Shihab and team found students finished tasks faster with GitHub Copilot but frequently admitted in exit interviews they did not fully understand why the suggestions worked.
fMRI studies of code comprehension had already shown developers building fragile internal models of control flow and data structures. Those models cost real mental energy to rebuild after context switches. AI reduces that penalty. It acts as external memory. But semantic flaws still slip through. Syntactic perfection masks deeper misalignment.

What practitioners are reporting
Developers posting on X described AI speeding through boilerplate while making it easier to stop reading too soon. One senior engineer put it directly: “Prompting is not the skill. Keeping your attention on the code is.” Another noted that agents produce more accurate output when fed source code directly rather than documentation.
A June 2026 Stanford HAI study found that two AI coding agents collaborating performed worse than one agent alone, pointing to real limits in coordination and shared context across interactions.
An April 2026 HackerNoon analysis reported that serious teams no longer rely on a single model. They route tasks across Grok, Claude, Gemini, and others, keeping judgment human. “Knowing what to build is harder than knowing how to build it,” the piece stated.
The model selection problem
A July 15, 2026, Refactoring.fm guide on LLM selection for coding found that standard benchmarks miss team-specific realities. The recommendation: build your own evaluations, route by task difficulty, and recognize that frontier models are not always necessary. Cost drops when you match model capability to actual task complexity rather than defaulting to the most powerful option.
The takeaway for working developers
The developers who hold up in this environment share a pattern. They sketch intent before prompting. They probe suggestions with targeted questions. They maintain system-level mental maps that AI cannot yet hold reliably. Teams that invest in clear specifications and review rituals see gains. Teams that outsource too much thinking watch their internal models weaken and their long-term maintenance costs rise.
The craft is not simpler. It is differently demanding. Less recall, more evaluation. Fewer lookups, more decisions. Direction becomes the scarce skill when generated code is abundant.

