Issue #1June 5, 20255 min read

The Most Underrated Skill in the AI Coding Era

refactoringlegacy-codellmcode-qualitycraftsmanship

Where Craftsmanship meets LLMs

It's 2025, and I'm advocating you learn how to identify code smells, evaluate software design, and refactor code safely. It's 2025 and coding agents like Cursor, Claude Code, and Windsurf are changing the coding landscape... and I'm talking about refactoring?

Refactoring is the skill to learn in the age of Vibe Coding.

These coding agents have been trained on poorly designed codebases filled with code smells. But here's what I've discovered after three years of deep study in refactoring: this makes refactoring skills more valuable, not less.

The Gap Between Speed and Quality

Coding agents definitely speed things up, but this profession has never been good at slowing down. Typing has never been the bottleneck. The real bottleneck? Design decisions.

I've been studying and practicing refactoring for the last three years. I've gone way deep into this subject and have been teaching others about the power of improving code design through refactoring. Evolutionary design is at the heart of why I practice TDD. Test driven development gives me agility. I keep the design as simple as I need it to be. When new requirements are requested, I refactor the design of the code to easily fit in the new feature.

"Give me six hours to chop down a tree and I will spend the first four sharpening the ax." — Abe Lincoln

Your Design Taste is Your Superpower

Here's what I've learned working with coding agents: my taste in software design helps me evaluate their solutions. When Claude Code generates working code, I can quickly spot the Feature Envy, the duplicated logic, & the overly complex conditionals. More importantly, I know how to coach the agent to fix them.

Try this: Tell a coding agent to "Replace Conditional with Polymorphism" and watch what happens. The new models understand refactoring vocabulary perfectly. But you need to know the language first.

Refactoring as Communication

Refactoring and code smells give us a shared language to talk about messy code and how to clean it up. When I'm pairing with another engineer—or coaching a coding agent—I may suggest we refactor to a Test Data Builders pattern or we can decide whether or not to address the Feature Envy and Code Duplication in the current file.

If you aren't familiar with the language of code design, you'll be less effective when working with others (including coding agents).

The Real Question

The question isn't whether you need refactoring skills in the agentic era. The question is: Do you want to be a developer who can shape and improve code, or one who just accepts whatever the agent produces?

Coding agents give us working code. But working code isn't the same as well-designed code. The difference between the two? That's where your refactoring skills shine.


Want to improve your team's velocity? Subscribe to Refactor to Grow for bi-weekly insights delivered to your inbox.

Join the Refactor to Grow community!

Get bi-weekly insights on refactoring, LLMs, and software craftsmanship

Practical refactoring knowledge
Real world agentic coding adventures
Bi-weekly delivery, no spam