AI Can Code Faster. You Can Still Enjoy Programming.
With AI advancing so quickly, I suspect many programmers are struggling with deep self-doubt. This is especially true when everyone talks about AI replacing people and judges humans and tools by exactly the same standards. AI can write a feature in a few minutes, so why spend hours figuring it out yourself? A page can be generated from a few sentences, so why are you still adjusting the layout and working out how to implement it?
AI can do something faster, but whether I still want to do it myself is a separate question.
I Like AI, but I Don’t Want to Outsource All My Programming
These days, I use several agents at once when working on projects. For someone like me, who needs to juggle product, development, and business, AI really does make it possible to move more things forward. So this article isn’t an argument that “real programmers should write code by hand.” I’m quite aggressive about adopting new technology. Using AI doesn’t mean you don’t understand technology; not using it doesn’t automatically make you more professional.
But I’ve found that producing more and having a better experience of the work don’t always go hand in hand. One agent finishes, and I need to review its results. Another hits an error, and I need to add context. A third goes off track, and I need to adjust its instructions. By the end of the day, I’ve made plenty of progress and my mind has been busy the whole time, yet I can hardly recall a stretch when I was truly absorbed in a problem. I used to follow one problem deeper and deeper. Now I often switch between different results, and there’s only so much mental load a person can handle. It’s been a long time since I entered that state of flow while programming. I keep getting interrupted, and it isn’t quite the programming experience I fell in love with in the first place.
The Joy of Programming Is More Than “The Code Finally Runs”
Suppose AI can produce a working version of a feature in ten minutes, while writing it myself might take two hours. If it needs to be delivered tomorrow, the requirements are clear, and the code can be verified, I’ll probably choose AI. Clients aren’t obliged to pay for my desire to explore.
But if those two hours are spent understanding a problem I hadn’t been able to make sense of before, that’s different. For example, a seemingly tangled business process finally breaks down into a few clear rules. The calls to an interface that always felt awkward suddenly fall into place after a change in abstraction. I track a recurring bug all the way down and discover that I’ve been misunderstanding a particular boundary all along.
The satisfaction here isn’t just “I got the right answer.” It’s “I finally understand why it works this way.” AI can explain things and help me get there. But reading an explanation is still not the same as being able to reason through it, question it, and revise it myself.
I don’t need to type every line of code myself, but I do need to leave myself time to analyze, understand, and learn, and to sharpen my judgment rather than mindlessly agreeing with everything. You need your own understanding and standards.
Leave Yourself Some Programming Time Without a Delivery Deadline
I’m not planning to go back to working without AI.
But a hobby and a job shouldn’t be treated as the same thing. When I’m working on a project with a team’s budget, I need to consider costs, schedules, and collaboration. The efficiency expected at work, though, shouldn’t automatically become a requirement for all my personal time. I can choose the faster method when I need to deliver, and choose the more interesting method in my own time, relying more on my own understanding and design to build small products and try things out.
AI doesn’t have to step aside while I explore, either. It can help me find information, offer counterexamples, and explain concepts I’m stuck on. But I can choose not to have it hand me a complete implementation. I can also write my own version first and then compare. The point isn’t to set a quota for how much code I write by hand, much less to complete a daily “maintain my technical skills” checklist. It’s simply to preserve a little space.
And when it really is time to deliver, the standard is still clear: whoever wrote the code, it needs to be reviewed and verified. AI-generated code doesn’t absolve me of responsibility, and writing it myself is no guarantee of quality.
You Don’t Have to Be Faster Than AI
People who run don’t need to prove they’re faster than cars. People who enjoy cooking don’t do it because food delivery isn’t convenient enough. Likewise, someone can spend an evening building a small tool simply because the process is interesting. It doesn’t have to go live right away, find paying users, or become part of a personal brand.
I’m happy to let AI help me get more work done, and I’m happy to acknowledge that sometimes the process itself is what I want. Making sense of a vague idea, getting a few separate pieces to fit together precisely, watching the logic I understand turn into something that actually runs. These experiences don’t suddenly lose their meaning just because there’s a faster way to implement something.
AI can get me to the destination faster, but on some paths, I still want to walk part of the way myself.