Coding with AI - It Speeds You Up and Then Slows You Down

Coding with AI - It Speeds You Up and Then Slows You Down

I have been coding with AI assistance for about six months now and more actively since late December 2025. If I had to compress the entire experience into a single sentence, it would be this: AI made me faster first and then it made me slower. Let me explain.

How I Started

Like most people, I began small. I needed a specific customization in a plot generated by ggplot. Instead of going through stackoverflow comments and library manuals, I asked chatgpt for help. The response came back instantly, and the code worked flawlessly. That alone felt like magic.

Encouraged, I pushed a bit further and asked for something larger. This time, I built an interactive word-based game in Elixir. At first, I gave the entire request to chatgpt. It generated multiple files and told me how to stitch them together. However, the code did not work, and I had no clue what was wrong, becuase my brain was turned off. I wanted AI to do all work.

After the first attempt failed, I adopted a different strategy and built the code from bottom up in pieces with AI. First I got the logic of the game to work. Then I created the web-graphics in html. Finally, I asked for the interactive part, and this code was flawed. I did not want to think and instead copy-pasted every error message back to chatgpt. It always gave me some correction and often rebuked me for making silly mistakes :). Finally, the code worked after several iterations. The entire process took only a few hours and nearly zero brain usage.

At that stage, it felt like I had unlocked a massive productivity boost. I decided to build something more ambitious with many files, complex architecture and several moving parts. I will summarize that experience here.

What I Use

Unlike typical setup with Claude or Codex, I am sticking with chatgpt and stay away from agentic coding altogether. I will explain the reason later in this post.

Also, I experimented with chatbots from Gemini and z.ai (Chinese GLM-based AI), but the codes generated by them were subpar in my experience. That said, Gemini clearly stands out for graphics and design-related tasks.

The Good and Bad of Coding with AI

What AI is Good at

AI shines in specific areas:

  1. Short, self-contained code - Small utilities and isolated functions are handled extremely well.

  2. End-to-end generation for simple projects - If the scope is clean and bounded, AI can produce surprisingly complete solutions.

  3. Throwaway coding - If you need a quick prototype, generate it, test it and discard it. This is often faster than stackoverflow, because the solution is tailored to your specific situation.

  4. Exploring unfamiliar territory - You can jump into new frameworks, languages, or techniques without deep prior knowledge.

  5. Debugging assistance - It is often faster to paste an error and get direction than to manually trace everything.

Where AI Coding Does not Help

The slowdown begins when you move beyond isolated tasks. Suppose you have an existing code-base and you want to add a feature. Maybe you tested the feature in a separate throw-away project. How do you integrate it into your existing code? How can you ensure that the newly generated code follows all constraints and hidden dependencies? This is where friction creeps in. You spend time deciphering, adapting, and sometimes undoing what AI produced.

AI Coding Requires a Different Mindset

Traditional coding has a rhythm: Think → Write code → Refine. Before we start, we split a larger task into multiple subtasks. Then we implement and test code for each subtask individually. Finally we integrate them and test for the larger task. Also, the quality of code in the first implementation is not perfect, because the goal is to make the entire system work, and then iteratively improve the code.

With AI, the code for the entire large task comes right away and it works. At this point, we may conclude that the problem is solved and move on to then next large task. If we keep doing it multiple times, very soon we are likely to lose all understanding of the code-base. At that point, own code is as distant as a downloaded open-source library.

That means, AI-based coding imposes a new kind of technical debt that is less appreciated in the current “AI will replace human coders” mania. I will expand more on it in a later article.

Final Thought

Overall, my experience in coding with AI assistance has been positive, and I plan to use it but with guard-rails (e.g. no automated coding agents). I am adopting a somewhat hybrid approach, where I am following both the traditional method of coding and AI-assisted method in parallel. That means I am thinking through how to split the larger task into subtasks and functions and documenting the steps like I used to do before, and also asking AI for the solution. Then I am combining the results from both methods. Also, for small throw-away tasks, I am using AI entirely and giving my brain some rest.

In a future post, I will talk about my experience of using AI for bioinformatics.


Written by M. //