Grappling with coding agents as a programmer

I wrote my first real code in 2015 to build a silly app for a girl I was trying to impress. The idea that I could build something that someone else could "touch" and "play" with was cathartic. Along with the thrill of problem solving, programming gave me a state of flow where hours went by in what felt like seconds. At the end of it, I felt a sense of accomplishment (okay, maybe, 40% of the time). 10 years and hundreds of thousands of lines of code later, that flow state is all but gone.

Coding agents are awesome and here to stay. It has never been easier to build something. I can ship at ~10x my earlier pace (~100x if I skip code review) and handle more parts of the full stack without having to wait. AI writes code faster and, often, better than me. My role is that of a guide who provides context, corrects course and suggests ideas for better code organization while serving as the "interface" between AI and digital platforms (which is already becoming obsolete too).

I now focus on thinking about what is the right problem to solve, "what" to build, how to get useful feedback to iterate, and how to architect it for scale leaving (most of) the execution to AI (with my supervision).

This is even more powerful for people who always had ideas but lacked the technical skills to execute them. Yes, you may not build a scalable or reliable system just by using AI but you don't need that for testing your idea.

The story sounds wonderful and it is.

At the same time, I cannot help but feel a sense of loss. I think of myself as a problem solver, critical thinker and lifelong learner with an opinionated "taste" for the kind of problems I want to work on. I never consciously associated "writing code" as part of my identity. Code was always a means to an end. Something I needed to be good at to make my vision a reality. So, I have ruthlessly protected my time to avoid switching context, buying myself hours of uninterrupted focus time.

Now, I manage multiple agents running in parallel on different "contexts", "switching" between them every few minutes, "verifying" their work, providing feedback, and alas, waiting for them to come back.

I feel compelled to run the optimal number of agents to reduce my wait time as each agent works on its task. The bar of contribution for me to feel I have done something valuable has increased multifold. For anything less, it feels that "AI did the task", not me. How can I take credit for what it did? Still, I do.

Apparently, I have become the kind of "manager" I never wanted to be.

I am writing this because I have bonded with other programmers over this shared "grief" from the "loss" of our flow state. If you are a programmer, maybe you are going through something similar.

If you identify as "someone who writes code", remember that code was always a means to an end. You were always a problem solver and there are always so many problems to solve. What we build and why matters the most. Especially today. Choose wisely.