/wakamoleguy

One Task at a Time, Even with AI

I have been thinking a lot about AI-driven software development workflows lately, what bottlenecks they address and what bottlenecks they don't. I use Claude constantly throughout my day, and it has changed how I work as an Engineering Manager. Claude helps me review product specs, brainstorm team strategy, and understand our team's spend over time. And when I do get time to code, it looks very different in 2026 compared to 2016. Unrecognizably different! And yet, I still do my best work when I limit myself to one in-progress task at a time.

Coding Today Has New Wait Times

When I sit down to code today, I usually have both Claude Code and VS Code open. Six months ago, I would largely be working in VS Code, identifying next steps and shooting off small tasks to Claude to implement. It was an accelerant to typing the code I could already envision. Recently, models and tooling have gotten increasingly more powerful, and I have been using Claude to drive more of the exploration and planning process, much like I would with a junior engineer. Checking in, tweaking plans, raising additional concerns, and eventually approving the plan. After approval, Claude goes off and implements it step by step. Afterwards, I walk through reviewing the changes until I understand them thoroughly. Oftentimes, I'll be making other edits here and there (e.g. fewer mutations, more functional style) until I feel confident taking ownership over the code. Push a branch, write a PR description (still by hand today!), and we're good to go. This process works amazingly well for me today, and I'm routinely impressed by how well Claude explores, identifies key concerns, and plans the task, especially with the latest Opus model.

In this post, I primarily mention Claude and Claude Code. You can substitute these for the models and tools of your choice. I'm most familiar with Claude and don't want to clutter this post by repeatedly saying "...and other tools."

This process, though, does break up what used to be a single session of deep focus with a few wait times. Depending on the complexity of the task, the initial exploration and implementation times can each take minutes. And if either needs to be iterated significantly, that adds additional waits. These wait times are killer for productivity—UX studies have shown time and again how delays in response times can cause humans to drop off from tasks. For a deeper dive into this, check out the science behind Core Web Vitals.

OK, so we multitask?

My first response to this wait time was to multitask. If Claude is doing a lot of this work autonomously, I could use the wait times to kick off more Claude Code agents, and then review them one by one as they are ready. Spin up some git worktrees so they don't conflict, and suddenly you're the 10x rock star you always dreamed of.

The issue is that you're still context switching across all of these tasks. The more related the tasks are, the more likely they are to legitimately conflict. And the less related they are, the more context switching you need to do to hop between them. That's very draining! And for me, it started leading to one of these results:

  1. Pure exhaustion and zero joy. Suddenly in addition to my regular set of interruptions throughout the day, coding was also an endless game of whack-a-mole.
  2. Don't try to grok all of the context for each task, and trust Claude more on the results. This undermined my feeling of ownership over the code, and resulted in more bugs escaping, higher maintenance burden, and less understanding.
  3. Don't try to continue each task immediately. This creates the liability of work in progress: the task sits delivering zero user value, accumulating merge conflicts, context decay, and integration risk. Claude only reduced the sunk cost in creating it.

It's possible that everybody has a different level of multitasking that feels natural to them. For me, I was learning it was one task at a time.

Hold the context, embrace the wait

xkcd 303: Two people sword fighting while sitting in office chairs. 'Are you coming to bed?' 'I can't. This is important.' 'What?' 'Someone is compiling.'
Seriously, this is the best approach. Source: xkcd 303

In my role, I do have much less focus time than an individual contributor—escalations of urgent questions or bug reports, questions for our team from across the org, and of course meetings. It used to be very hard to find focus time around these. AI agents do help with this, as I can pause and resume them as needed or let them work asynchronously while I'm on a call. In these cases, the wait time is a feature.

But when I do have focus time? What I've actually found gets me the best results is to...just wait. Grab a coffee, stretch, listen to music. I don't pay the cost of context switching, and I still get more, higher quality coding done than I did before. I still feel strong ownership over the results, and the joy of having built something. And at the end of the day, I feel satisfied, not stressed.

Cheers!