Background
I use Claude and GPT for coding.
AI speeds up coding, but I often feel mentally exhausted.
By the evening, my brain feels dead.
Issue
The main issue is multitasking, which causes constant context switching.
I’m not good at multitasking. I use only one monitor and keep a maximum of three browser tabs open.
Why do I multitask?
- While AI is generating code, I do other tasks.
- I need to carefully check the AI-generated code.
AI takes a few minutes to generate code. So, I start other tasks while waiting. When I check the AI’s code later, I often forget what I asked. Even if I gave the task to AI without much thought, I totally forget it.
I don’t trust AI 100%. For complex business logic, the AI output usually has many mistakes. It feels like working with a young, inexperienced engineer who writes code quickly and needs feedback repeatedly. I have to carefully review the code for bugs. Claude, for example, often generates code that’s too complex for my needs, making it harder to check.
Solution
I’m still not good at collaborating with AI.
I need to rethink:
- What should I ask AI to do?
- How should I arrange my tasks?
If I don’t prepare before coding, it feels like me and AI form a miserable team.
So, I’ve learned two key points:
- Reduce multitasking.
- Reduce context switching.
How? By going back to good practices from before the AI era:
Thorough preparation and breaking tasks into smaller parts.
I focus on three steps:
-
Design
Before writing code, I design. Even for small tasks, I start by designing—often in GitHub Issues or Notion. You can’t design well for big tasks if you don’t practice with small ones. -
First Prototype
Based on the design, I write the first prototype. I lead this phase—AI helps me, but I don’t fully rely on it. I ask AI questions, but I don’t give it the entire task.
It’s like discussing with a colleague, not multitasking. -
Final Code
Finally, I let AI handle the initial implementation. I then refactor the output and implement the final version myself. I often leave unit tests to AI completely.
Here, it’s multitasking, but because the tasks are already well-divided, context switching costs are much lower.
How it works
The speed of coding doesn’t improve much because I spend more time on design.
However, the quality of the output improves because I think about design first.
I believe that experienced engineers can collaborate well with AI and use it to enhance their work.
Conclusion
If you fight with AI, you’ll lose. Your brain will be exhausted.
You need good design and clear task breakdowns—the same best practices that were important even before the AI era.
While writing this, I realized it’s getting closer to a waterfall-like process.