ServicesAboutNotesContact Get in touch →
EN FR
Note

AI Developer Skill Atrophy

How AI coding tools affect developer comprehension — Anthropic's RCT, the delegation vs. inquiry distinction, and why how you use AI matters as much as which tools you pick

Planted
claude codeaidata engineering

AI coding tools carry a second-order risk beyond bugs in AI-generated code: developer comprehension atrophy. Anthropic’s randomized controlled trial (January 2026, n=52) found that AI-assisted developers scored 17% lower on code comprehension tests compared to developers working without AI assistance.

Delegation vs. Inquiry

The study revealed a sharp split based on how developers used AI tools. Developers who delegated code generation — “write me a function that does X” — scored below 40% on comprehension tests. Developers who used AI for conceptual inquiry — “explain how this function works,” “what are the trade-offs between these two approaches?” — scored 65% or higher.

The difference isn’t subtle. It’s the difference between understanding your codebase and having a codebase that happens to work. Both developers ship features. One of them can debug production issues at 2 AM. The other needs to ask the AI what their own code does.

Why This Matters for Data Engineering

Data engineering has a specific vulnerability here. Most of our work involves SQL transformations, pipeline orchestration, and configuration — exactly the kind of pattern-heavy, boilerplate-rich work where AI delegation feels most productive. Writing a base model that renames and casts columns? Let the AI do it. Generating schema.yml tests? Let the AI do it. Writing an incremental model with a lookback window? Let the AI do it.

Each individual delegation is reasonable. The cumulative effect is an engineer who can’t trace a data quality issue through their own DAG without AI assistance. When a mart model reports wrong numbers, debugging requires understanding every transformation in the chain — the base model’s type casts, the intermediate model’s join logic, the mart’s aggregation grain. If you delegated the writing of all three without internalizing what they do, debugging becomes a conversation with the AI rather than an investigation you control.

The Thomson Reuters finding — 73% of AI-generated time-based SQL analyses had inconsistent temporal filters — becomes much scarier when the human reviewing those queries doesn’t fully understand temporal filter semantics because they’ve been delegating SQL generation for months.

Speed vs. Comprehension Tradeoff

AI tools deliver real speed gains — 2-10x acceleration on suitable tasks is well-documented. If that acceleration comes at the cost of comprehension, the net effect over time may be negative: faster delivery this quarter, slower debugging next quarter, subtle errors that compound because no one fully understands the codebase.

Zach Wilson’s observation: “AI didn’t kill data engineering. It killed pretending data engineering was about typing code. If your value was syntax mastery, that value is now commoditized.” Syntax mastery is commoditized, but the mental model of how data flows, transforms, and aggregates is harder to acquire through delegation than through doing.

The argument is not against AI tools but for deliberate choices about which tasks to delegate and which to do directly, even when delegation is faster.

Practical Mitigation

A few patterns that preserve comprehension while still capturing AI’s speed advantages:

Review, don’t just approve. When the AI generates a model, read every line before committing. Not to catch syntax errors — the AI handles those. Read it to understand what it does. Trace the joins mentally. Verify the grain. Check the temporal filters. This review is as much for your comprehension as for correctness.

Write the hard parts yourself. Delegate boilerplate (base models, schema.yml scaffolding, documentation stubs) but write complex business logic manually. The session attribution model, the revenue recognition calculation, the customer lifetime value formula — these are the models where understanding the logic is non-negotiable. Use AI to review your implementation, not to generate it.

Use AI for inquiry, not just generation. Instead of “write me an incremental model for sessions,” try “explain the trade-offs between merge and insert_overwrite for a session table with 500M rows.” The second prompt builds your mental model. Then you write the implementation — or you ask the AI to draft it, and you understand what to look for in review because you just engaged with the concepts.

Maintain a debugging practice. Periodically debug issues without AI assistance. Not because it’s faster (it isn’t), but because debugging forces you to understand the system. If you can trace a data quality issue from the mart back to the source without AI help, your comprehension is intact. If you can’t, that’s a signal you’ve been delegating too aggressively.

Build context documents yourself. Writing a CLAUDE.md from scratch forces you to articulate your project’s conventions explicitly. Each rule you write reflects something you understand about how the project works. This is one case where the process of writing the document is as valuable as the document itself.

Anthropic’s study suggests a consistent pattern: use AI as a thinking partner rather than a code factory — ask it questions, have it explain trade-offs, explore approaches before committing. When AI writes the code, review it deeply enough to internalize what it does. Speed and comprehension are only in tension when AI-generated code is treated as output rather than input to the practitioner’s own understanding.