codingBy HowDoIUseAI Team

Why AI coding assistants might be making you a worse programmer

New research reveals AI coding tools boost productivity but harm skill development. Learn the hidden costs and how to use AI without losing your edge.

Here's something that might sting a little: that AI coding assistant you've been relying on could be secretly undermining your programming skills. And now we have the research to prove it.

A landmark study by researchers found that AI use significantly reduces understanding of new concepts and skills, with participants using AI assistance scoring 17% lower on skill assessments compared to those who coded without AI help. The research focused on developers learning new programming libraries, measuring their conceptual understanding, code reading abilities, and debugging skills after using AI assistance versus working independently.

This isn't just academic hand-wringing. We're talking about a fundamental trade-off that every developer needs to understand: short-term productivity gains versus long-term skill development. Let's dive into what the research actually tells us and, more importantly, how you can use AI tools without sacrificing your growth as a programmer.

What does the research actually show?

The study that's been making waves in the programming community looked at how developers learn new skills with and without AI assistance. Researchers conducted randomized experiments studying how developers gained mastery of a new asynchronous programming library, finding that AI use impairs conceptual understanding, code reading, and debugging abilities without delivering significant efficiency gains on average.

But here's where it gets interesting. The researchers identified six distinct AI interaction patterns, three of which involve cognitive engagement and preserve learning outcomes even when participants receive AI assistance. So it's not that AI is inherently bad for learning—it's how you use it that matters.

The problem isn't the tool itself. It's that novice workers who rely heavily on AI to complete unfamiliar tasks may compromise their own skill acquisition in the process. Think of it like using a calculator for basic math: convenient in the moment, but you lose the mental muscle memory that comes from working through problems yourself.

Why does AI assistance hurt skill development?

The mechanism here is actually pretty straightforward. When you let AI handle the heavy lifting, you're essentially outsourcing the struggle that builds competence. Medical professionals trained with AI assistance might not develop keen visual skills to identify certain conditions, and the same principle applies to coding.

Surveys of knowledge workers found that frequent use of AI has been associated with worse critical thinking abilities and increased cognitive offloading, with workers reporting lower cognitive effort and confidence when using generative AI tools.

Here's what happens: AI tools are incredibly good at pattern matching and generating code that looks right. But "looks right" isn't the same as understanding why it's right, when it might fail, or how to modify it when requirements change. You get the immediate dopamine hit of working code without the deeper understanding that comes from wrestling with the problem yourself.

Which AI interaction patterns actually preserve learning?

This is where the research gets really useful. Not all AI usage is created equal. The study identified three interaction patterns that preserve learning outcomes: those that involve cognitive engagement even when participants receive AI assistance.

The key is staying in the driver's seat. Instead of asking AI to write entire functions, ask it to explain concepts, suggest approaches, or help you debug specific issues. Use it as a smart rubber duck, not a replacement brain.

For example, you can start your GitHub Copilot session by asking it to explain the approach rather than generate code immediately. Or use ChatGPT to break down complex problems into smaller pieces that you then solve yourself.

How can you use AI tools without losing your programming edge?

The solution isn't to abandon AI tools entirely—that would be like refusing to use a debugger because it makes finding bugs too easy. Instead, you need to be strategic about how and when you use them.

Start with understanding, not implementation. Before asking AI to write code, ask it to explain the problem or suggest approaches. When approaching coding tasks with AI tools, be specific about the task. Just like you would with a human developer, AI needs clear instructions to provide accurate code suggestions.

Use AI for boilerplate, not brain work. Use AI for creating boilerplate code to quickly generate standard parts of your application, reducing human error and repetitive tasks. But when it comes to the core logic—the stuff that requires real thinking—do that work yourself.

Always understand before you implement. Understand suggested code before you implement it. To ensure you fully understand AI's suggestion, you can ask Copilot Chat to explain the code. This is non-negotiable. If you can't explain what the AI-generated code does, you shouldn't be using it.

What are the specific ways AI can help without hurting your growth?

There are some areas where AI genuinely helps without compromising your learning. Documentation writing isn't exactly the most exciting part of coding and always seems to get pushed to the bottom of the to-do list. AI can generate clear, concise documentation in seconds, whether it's function descriptions, class summaries, or even Markdown files for your project.

Here's a practical workflow that preserves learning:

  1. Problem analysis first: Before touching AI, spend time understanding the problem yourself
  2. Conceptual planning: Sketch out your approach on paper or in comments
  3. Selective assistance: Use AI for specific, well-defined subtasks
  4. Code review mode: Have AI review your code and suggest improvements
  5. Learning verification: Explain the final solution to yourself or a colleague

You can also leverage AI for learning new technologies. Instead of asking it to build entire projects, use it to explain new concepts, provide examples of specific patterns, or help you understand error messages in unfamiliar frameworks.

How do you balance productivity with skill development?

This is the million-dollar question. AI can help write code, but you'll get far better results if you pair it with topical knowledge and experience. It's a tool that helps you go further, faster, becoming a powerful assistant that can help you debug problems, explain confusing topics, or refactor messy code.

The key is being intentional about when you reach for AI assistance. If you're working on something completely new to you, resist the urge to lean heavily on AI. Do the hard work of figuring it out yourself first. You can always use AI to validate your approach or optimize your solution afterward.

But if you're working on repetitive tasks, generating test cases, or dealing with boilerplate code, AI can be a huge time-saver that lets you focus your mental energy on the problems that actually matter.

Set learning goals alongside productivity goals. Before starting any project, ask yourself: "What do I need to learn from this?" Then structure your AI usage to support those learning objectives, not circumvent them.

What should you do right now?

If you're currently using AI coding tools, take a step back and audit how you're using them. Are you using them as a crutch to avoid learning difficult concepts, or as a tool to enhance your existing skills?

Pick a task from your current project—maybe something repetitive, frustrating, or unfamiliar, and ask AI for help. Take what you've learned here and try writing a solid prompt. See what it gives you, refine it if needed, and build from there.

The research is clear: AI-enhanced productivity is not a shortcut to competence and AI assistance should be carefully adopted into workflows to preserve skill formation—particularly in safety-critical domains. But that doesn't mean you should avoid these tools. It means you need to be smart about how you use them.

Remember, the goal isn't to maximize short-term productivity at all costs. It's to build a sustainable career where you're constantly growing your capabilities. AI can be part of that journey, but only if you stay in control of your own learning.

The developers who will thrive in an AI-assisted world won't be the ones who best delegate to AI. They'll be the ones who best understand when to use it, when to avoid it, and how to maintain their edge while leveraging these powerful tools.