AI Coding Assistants Don't Lighten the Load - They Raise the Bar
My second job in the software industry was as a data analyst.
In retrospect, I was paid to manually label rows in an Excel spreadsheet. I faithfully fulfilled the duties of this job for a month or two before I quickly grew tired of the monotonous manual labor. This labeling task was undertaken by a team of five. The process unfolded every week for many years before I joined the company. When I started, I saw a great opportunity to deploy the machine learning solutions I had been teaching myself on Coursera and Udemy outside of work.
I remember being 23 years old, bright-eyed and optimistic about the promise of using machine learning to lighten the manual labor I was hired to do each and every week. That was in 2017.
In 2026, the field has evolved rapidly beyond my wildest dreams. The art of training classification models: doing manual feature engineering, iterating through different feature combinations, setting up a deployable pipeline, setting up an endpoint to serve the results from and turning the crank on this end-to-end process seems to be dying as many practitioners (myself included) now employ careful prompting - crafting a clever system instruction in a sequential agentic task flow hooked up to a large language model to replicate the same functionality of the pipelines that I was creating nine years ago.
As I reflect on the last nine years, I have to be honest that the promise of using machine learning to lighten the load never came to fruition.
It's been my experience that for every hour of work that I automate, I generate ten more hours of demand for the products that I create. I also see this phenomenon extending into my usage of large language models and AI coding assistants like Claude. Using an AI coding assistant does not lighten the load. In fact, if you're not careful in the way you use these tools, they can create more liability and maintenance headaches down the road. Large language models are hyper-optimized to get from zero to a demo running on localhost. They are not quite mature enough to be trusted with writing production-grade code that is reliable, maintainable, and easily deployed. If you hand over the entire implementation of a complex feature to a coding assistant, it will produce something that looks correct and may even function. My experience is that tiny bugs inevitably creep into the codebase. When compounded across multiple features, you suddenly have a product full of liabilities. You may get off the demo stage, but it is only a matter of time before the tech debt catches up with you.
What I have found is that, instead of lightening the load, large language models and AI coding assistants have raised the bar on the expectations placed on software developers for the code that they write. Using an assistant like Claude Code dramatically decreases the time it takes to become familiar with software engineering concepts.
I don't think we will ever get to a point where AI writes all the code, but we are already at a place where AI can dramatically improve the quality of the code you deliver as a developer. metalog-jax is a great example of something “real world” that I extensively used Claude to help write over the Christmas Break. A year ago, it would have taken me that long just to write the CI/CD pipeline.
In post, I introduced my production DevOps pipeline that enforces consistency and modularity, using the simplest code to achieve the desired functionality. The pipeline enforces security Compliance and legal requirements while providing automated documentation. I will admit I consulted Claude at every step of that pipeline's development. I knew nothing about Static Application Security Testing (SAST) six weeks ago. Claude suggested that I include it in a production DevOps pipeline.
What would have taken me a month nine years ago takes thirty minutes now:
- Ask Claude what the best static security scanning solutions for Python are
- Give me a working example running against my repo
- Wire SAST into a templated pipeline component with a spec that I could deploy across multiple projects
Another of my favorite uses of AI coding assistants is generating unit tests. As someone who has manually written thousands of unit tests throughout his career, I genuinely appreciate the value a coding assistant like Claude brings when it can generate them automatically. The same goes for docstrings and typing. It used to be such a chore to manually decorate every function with proper typing in a style-compliant docstring. Tools like ruff help, but asking Claude to generate the docstring for me saves me so much time as a developer.
The field is rapidly evolving. I no longer have to stress over implementation details or typing code; I can think at a higher level about design and software architecture. When used properly, these tools dramatically improve the quality of the code I produce. This is a trend that will proliferate across the entire field. Higher test coverage, more consistent styling, and simpler, more modular code are all benefits of using these tools.