DEV Community

Cover image for AI Coding Killed My Flow State
Simon Wang
Simon Wang

Posted on • Originally published at itnext.io

AI Coding Killed My Flow State

I've been trying to pinpoint it. That feeling where hours disappear and you emerge tired but satisfied. I used to have it regularly. Now I can't remember when it last happened.

My calendar is cleaner than it used to be. I'm not more distracted. If anything, I have more uninterrupted time than ever.

The difference is how I code. I barely write code manually anymore. It's almost entirely vibe coding now. Describing what I want, reviewing what the AI generates, iterating until it works. My output has never been higher. Features ship faster. The commits are real.

But somewhere in the transition, I stopped having flow states.

I thought I was still doing deep work. It looks the same from the outside. Me alone, solving problems, building things. But when I examined what I was actually doing, I realized the structure is different.

Vibe coding goes like this: I describe what I want. AI generates code. I read it. I test it. Something's wrong. I describe the fix. AI generates again. I read again. Test again. Repeat until done.

That's not flow. That's iteration.

In a flow state, I'm generating. Staying in one continuous mental space, building something, holding the structure in my head. The work is hard but it's one kind of hard. I sink into it.

In vibe coding, I'm mostly evaluating. Reading code I didn't write. Checking if it matches my intent. Deciding if it's right. Each prompt-response cycle pulls me back to the surface. I describe, then switch to reading, then switch to testing, then switch to describing again. Different cognitive modes, constant transitions.

I never sink into that deep place because I keep surfacing to check the AI's work. Reading that code takes effort. Every AI response uses patterns I wouldn't have chosen. Different structure, different variable names, different approaches to the same problem. My brain has to parse each one fresh. That adds up over a day.

Plus, AI takes time to respond. Thirty seconds, sometimes a minute. So I open another conversation while I wait. Start working on a different problem. Then the first one finishes, I switch back. Then that one takes time, so I switch to a third. I'm jumping between different problems all day, never staying in one for long.

After a good flow session, back when I had them, I'd be tired but full. Like I'd used my brain for what it was meant for. Something was spent, but it was spent well.

After a long vibe coding session, I'm sometimes tired and empty. Scattered. The output is comparable, sometimes better. But the experience is completely different. I don't feel like I built something. I feel like I supervised something being built.

Maybe that's fine. Maybe output is what matters and the experience is just sentimentality. Maybe I should be grateful I'm shipping and stop complaining about my feelings like a programmer who discovered therapy.

But I don't think so. I think the experience was feeding something that isn't being fed anymore.

Productive and Empty

I've been thinking about why introverts dominated software engineering for so long.

The work rewarded deep solo thinking. You could sit alone with a problem for hours, no social performance required, and produce something valuable. The thing that made social situations draining for introverts, the constant engagement with external stimuli, was exactly what the job didn't require. Instead, it required what introverts do best: sustained internal focus, comfort with silence, the ability to stay in your own head for long periods.

That's why so many of us ended up here. Not despite being introverts but because of it.

Vibe coding isn't that.

Vibe coding is constant engagement with an external entity. Prompt, response, evaluate, prompt, response. It's more like directing than building. Orchestrating.

The skills that make you good at vibe coding are different from the skills that made you good at solo deep work. Articulating intent quickly in natural language. Evaluating unfamiliar code on the fly. Making rapid decisions without time to fully think them through. Staying in responsive mode for extended periods.

That's not the same skill set as sitting alone and thinking deeply. It's closer to what good managers do than what good individual contributors traditionally did.

Built for Silence, Hired for Talk

I'm not saying extroverts will take over tech. That's too simple.

And some introverts might thrive in this new mode. The ones who were always better at synthesis than generation, who prefer reviewing to creating from scratch. Introversion isn't one thing.

But I am saying the advantage might shift. The thing that made introverts naturally suited to this work, the ability to go deep alone, to find restoration in solitary problem-solving, matters less when the work becomes orchestration. And the things that drained us about other roles, the constant engagement, rapid communication, staying responsive, are now central to how coding works.

If the work changes, who thrives at the work changes too.

I'm watching this happen to me.

I used to be the person who could disappear for six hours and emerge with an elegant solution. Now I'm the person who iterates with AI for six hours and emerges with a working solution but no memory of flow.

The output is comparable. Sometimes the vibe-coded version is better. More comprehensive, fewer edge cases missed. But I'm not the same person when I'm done. I'm productive and empty. Shipping and scattered.

Same Output, Different Person

There's another way to look at this.

If vibe coding becomes the dominant way we build software, the field might open up to people who were previously excluded. People who are great at communication and orchestration but didn't want to grind through years of solitary skill-building. People who found the old version of coding isolating rather than restorative.

That could be good. The field has been narrow for a long time. More paths in means more kinds of people, more perspectives, maybe better products.

I can believe this is good for the field and also recognize that it's hard for me personally. Both can be true.

No Conclusion, Just Observation

I'm not sure what to do with this yet. I'm still in it.

I've been thinking about protecting some manual coding time. Just me and the problem, no AI, even when it's slower. Not because I think AI is bad, but because I need to remember what flow feels like. To check if it still exists for me, or if I've lost the ability to access it.

Maybe flow state was always overrated. A romanticized notion that made us feel special about sitting alone for hours. Maybe orchestration is just as valuable and I need to update what "good work" feels like.

It's possible that what I need and what's most productive are not the same thing. Maybe that was always true, and the old version of coding just happened to align them for people like me. Maybe I was lucky, and the luck is running out.

I'm not telling anyone to stop vibe coding. I'm not saying AI tools are bad. I use them constantly. They're not going anywhere, and I don't want them to.

But I think something is changing, and I don't see people naming it. Vibe coding isn't deep work. It looks like it from the outside, but it's structurally different. And if it becomes the default way we write software, the people who thrived on deep work, who came to this field because it offered that, might need to figure out how to adapt.

Or find something else.

I'm not there yet. I'm still trying to adapt. Still trying to figure out if I can have flow state again, or if I'm chasing something that doesn't fit anymore.

But I wanted to name it. Because I don't think I'm the only one who can't remember their last flow state, and is trying to figure out what that means.

Top comments (0)