Over the past year, like many of you, I’ve been leaning more and more on generative AI chatbots like VS Code Copilot Chat, OpenAI’s ChatGPT, and Anthropic’s Claude to research and propose solutions to software challenges.
This has caused a fundamental shift in my workflow. In the past, I’d typically Google a topic such as “how to implement basic auth in a Rails app.” I might select a Rails Guide or a similar question on Stack Overflow, skim the post, head back to my editor, and start experimenting. It got results, but it was often lengthy and frustrating.
Today, my Googling is at a minimum. Much of the time, I don’t even find myself conversing with ChatGPT directly. Inside VS Code, I rely heavily on Copilot Chat’s agent mode to perform increasingly complex tasks with less oversight.
A real upgrade, delegated
For SaaS wedding marketplace Novela, I was tasked with upgrading one of our Next.js application’s biggest dependencies: MUI. We had fallen two major versions behind. Not long ago, I would have read the migration guides, worked through the steps, run tests, fixed failures, and repeated that cycle over several focused days.
This time, I gave Copilot the MUI v6 and MUI v7 migration guides, explained related packages might also need upgrades, and made the completion criteria explicit: the Cypress and Jest suites needed to pass before manual visual regression testing.
From that brief, Copilot:
- read the referenced migration guides;
- upgraded the npm packages and applied codemods;
- edited code that could not be modified automatically;
- ran Cypress and Jest tests;
- diagnosed failures and iterated on the implementation.
Once I was satisfied, I instructed it to create a branch through a Git MCP server, commit the changes, push them to GitHub through a hosted MCP server, and create a draft pull request. It completed the initial pass in less than ten minutes.
The work still needed judgment
Not everything went smoothly. The full regression suite uncovered problems, especially around the date-picker upgrade. I pointed Copilot to the pull request, the failed workflow runs, and the correct branch.
It inspected the workflow status, pulled logs from failed jobs, reproduced the tests locally, and compared the results. It then changed the code, reran the tests, and pushed fixes until the GitHub checks passed.
Agentic coding has been an awe-inspiring addition to my workflow. It shortened a daunting task and freed me to engage with my team and think about the design of the next major product feature while it worked in the background.
Will agentic coding eventually put me out of a job? Maybe. For now, I’m going to keep reaping the productivity gains from tooling that, only a few years ago, would have seemed impossible.