A few days ago, Mario Zechner posted a thread that I haven’t been able to stop thinking about. He shared a study on how AI assistance affects skill formation and said something that hit:

“we are basically lobotomizing ourselves. good stuff.”

The study found that people using AI got way more done, especially novices. But they also developed fewer actual skills. Faster output, worse understanding of what they were producing.

My gut reaction was “yeah obviously.” My second reaction was “wait, that includes me.”

The slot machine

Here’s what daily AI-assisted coding looks like for a lot of us: you describe what you want, the agent writes it, you glance at it, it works, you move on. Sometimes you don’t even read the code. You just check if the tests pass.

Mario put it bluntly:

“many of my peers who’ve also succumbed to the slot machine claim they are learning so much new stuff via their clankers. then I take a look at their public repos using stacks I know and I just scratch my head. you’ve learned nothing.”

The uncomfortable part is the “zero baseline” problem. If you didn’t already understand the architecture and design principles behind a stack, you can’t judge whether the AI’s output is any good. You think you’re learning because you’re seeing new code. But seeing isn’t understanding. You’re reading without comprehending, like scrolling through a textbook and feeling productive.

Noticing it in myself

I caught myself doing this. I’d let the agent make architectural decisions I used to reason through myself. Not because I couldn’t, but because it was faster to let the agent do it than to think. The muscle memory was still there, but I was letting it atrophy.

Then I started noticing it in others. People confidently shipping code in stacks they’d never actually learned. Working systems held together by AI-generated glue that nobody fully understood. It works, until it doesn’t, and then nobody knows why.

Atrophy is sneaky. You don’t notice it happening. You’re still shipping, the output looks the same. But the understanding underneath is hollowing out.

The gym analogy

If you sit at a desk all day, your body atrophies. Everyone knows this. The solution isn’t to quit your desk job. It’s to go to the gym. You carve out separate time for exercise, not because it’s productive, but because your body needs it.

Software engineering skill works the same way. Using AI at work is fine. But you need separate time for brain gym. Deliberate practice that builds and maintains your understanding of architecture, systems design, and engineering principles.

The key word is separate. This isn’t “learn while you work.” This is blocking time to exercise your brain away from the day job.

What I’m doing about it

I replied to Mario’s thread with what I’m thinking:

  • Read good books and resources on coding practices and principles
  • Explore and read the code of popular open source repos (the ones not tainted by slop) and understand why they did what they did
  • Read docs, understand fundamentals for whatever stack you use

And then actually blocking time to do this regularly.

The second one felt most important and most neglected. Not just reading code for syntax, but studying how good systems are designed. Why did they structure it this way? What are the trade-offs? What makes this codebase clean and scalable vs. a mess? Almost nobody does this on purpose anymore.

So I built a thing. It’s an agent skill called rtfsc (Read The F***ing Source Code) that structures codebase study sessions. You point it at a repo and it:

  1. Researches the stack, websearches best practices and docs so it has real context
  2. Maps the architecture, system boundaries, data flow
  3. Lets you explore areas you pick, explains design decisions, then quizzes you
  4. Saves structured notes with diagrams on what you learned

The quizzing part matters. It’s easy to nod along while someone explains architecture to you. It’s harder when they ask “why do you think they separated these concerns this way?” and you have to articulate it. That’s where the real learning happens.

Do this with me

When Mario asked what the solution is, he said “I honestly don’t know.” I don’t think anyone has a proven answer yet. But doing nothing isn’t an option.

If you’re a developer using AI daily (and who isn’t at this point), block some time for brain gym. Pick a well-architected repo and study how it’s designed. Read the docs for your stack, not just when you’re stuck, but to understand the engineering principles behind it.

I’m going to be doing this regularly. If you want to join in, let me know.