There was a moment six months ago when I realized I had not manually written a CRUD endpoint in weeks. Not because I stopped building features that need them, but because my development process had shifted without me consciously deciding to change it. The boilerplate - the repetitive structural code that used to take up half my coding time - was being handled entirely by AI. And I was spending that reclaimed time on the parts of development that actually require thinking.

What AI-First Actually Means

AI-first development does not mean "AI writes everything." It means that for every coding task, my first question is: "Is this a task where AI will produce acceptable output faster than I can type it?" If yes, I describe what I need and let AI generate it. If no, I write it myself. The answer is "yes" far more often than I expected.

The tasks that AI handles well:

  • CRUD endpoints and data access layers
  • Form validation and input sanitization
  • Data transformation functions
  • Test scaffolding and test data generation
  • Configuration files and deployment manifests
  • Database migrations
  • API client code from OpenAPI specs
  • CSS layouts from descriptions

The tasks I still do manually:

  • Business logic with domain-specific rules
  • Performance-critical code paths
  • Security-sensitive operations
  • System architecture decisions
  • Debugging complex production issues

The Workflow Shift

My old workflow was: think, type, test, debug. My current workflow is: think, describe, review, refine, test. The "type" step has been largely replaced by "describe and review." This sounds like a minor change, but it has profound implications for how I spend my cognitive energy.

When I am typing code character by character, a significant portion of my attention goes to syntax, language-specific idioms, and mechanical accuracy. When I am describing what I want and reviewing generated output, all of my attention goes to correctness, design, and edge cases. The second mode produces better code because I am thinking at a higher level of abstraction.

Claude Code Changed the Game

The biggest workflow change in 2025 was switching to Claude Code as my primary development tool. Previous AI coding tools worked in a chat window separate from my codebase. Claude Code operates directly in my terminal, reads my files, understands my project structure, and makes changes in place.

The difference is dramatic. Instead of copying code between a chat window and my editor, I describe what I want and the tool modifies my actual files. It understands the context of the existing codebase - the naming conventions, the patterns already in use, the project structure. The generated code fits in instead of looking like it was pasted from a tutorial.

A typical interaction: "Add a new endpoint to the user service that returns paginated activity logs, following the same patterns as the existing endpoints in this file." Claude Code reads the file, understands the patterns, and generates a new endpoint that is consistent with everything already there. I review the diff, make minor adjustments, and move on.

What I Do With the Extra Time

The time savings from AI-first development are real - I estimate 2-3 hours per day that I used to spend on mechanical coding. Here is where that time goes now:

More upfront design. I spend longer thinking about the right approach before writing any code. When implementation was expensive, there was pressure to start coding quickly. Now that implementation is cheap, I can afford to explore multiple design options and pick the best one.

Better testing. I write more comprehensive tests because generating test cases is no longer tedious. My test coverage has roughly doubled since shifting to AI-first development.

More refactoring. I refactor more aggressively because the cost of rewriting code is lower. If a better abstraction becomes apparent after the initial implementation, I describe the refactor to AI and review the changes. The barrier to improvement is now "is this worth reviewing?" not "is this worth rewriting?"

Learning. With less time spent on routine coding, I have more bandwidth for learning new technologies, reading engineering blogs, and exploring tools. This creates a positive feedback loop - the more I learn, the better I am at directing AI tools, which saves more time for learning.

The Risks

I want to be honest about the downsides. The biggest risk is skill atrophy. If you never write boilerplate, you gradually lose fluency in the mechanical aspects of the languages you use. I have noticed this when I occasionally need to code in an environment without AI tools - my typing speed and recall of specific APIs has decreased.

I mitigate this by periodically doing "no-AI" coding sessions, especially for complex logic that benefits from deep engagement with the code. But it is a real trade-off, and every developer should be intentional about it.

The New Skill Set

AI-first development does not make programming easier. It shifts which skills matter. The skills that are becoming more valuable: system design, requirement specification, code review, testing strategy, and the judgment to know when AI output is correct. The skills becoming less valuable: typing speed, syntax memorization, and the ability to write boilerplate from memory.

If you have not made this shift yet, start small. Pick one type of boilerplate you write frequently and let AI handle it for a week. Review everything carefully. Once you trust the output for that task, expand to the next one. Within a month, your workflow will look very different.