One of the worst-kept secrets of human productivity is that we are terrible at multitasking. Study after study has shown that we cannot truly multitask. Instead, we do the biological equivalent of CPU time-slicing: we focus on one thing for a short period, then switch to something else. Fundamentally, our brains have no parallel processing. We are more productive when we focus deeply on one task and finish it before moving on to the next. That’s why the typical advice is to close any windows that aren’t related to your current task, disable notifications, and focus on what you’re doing.
As someone who is a strong proponent of single-tasking, I found myself pulled into a new type of multitasking when I started using AI for programming. Typing a prompt and then waiting for a response creates plenty of time to switch to something else while the model does its work. My days would start by firing up four or five different agents on different tasks, then checking in and steering each one throughout the day. Some tasks were paid work, some were open source, and others were pure exploration.
Within a couple of weeks, I was feeling burned out and frantic. The allure of parallel workstreams using AI was too strong, and my brain was struggling to keep up. Getting things done this way felt less rewarding than writing all of the code myself. Plus, without going deep into a problem, I found myself understanding less and less of the code. As long as it passed tests, I was content. Doing nothing while waiting for a model to spit out the code I wanted felt like wasted time. I couldn’t keep going like this, and I suspect many developers are in the same boat.
Fortunately, single-tasking is still possible in the age of AI with a few small changes to how you work.
Be a copilot. It’s tempting to type a prompt and let AI write the code without a second thought. Don’t. Instead, think through the problem while the model is working. Open the code you expect to touch and visualize what needs to change. Think of yourself as the copilot who needs to stay on top of the same information as the model doing the coding. Learn while you wait by keeping your head in the code. This keeps you invested in the process and helps you evaluate whatever solution the model produces.
Make small changes. Once you get going with AI-assisted programming, it’s easy to tell the model every small thing you want to tweak. Resist that urge. IDEs are incredibly good at changes like moving files, renaming variables, classes, and functions, and doing project-wide find-and-replace. Most of the time, you can accomplish these with a few shortcut keys much faster than telling a model what you want. If a test is failing, try to figure out why on your own before handing it off. Debugging is a great way to stay familiar with the codebase.
Write tests. Falling back on test-driven development (or TDD) is a good way to work with AI. Instead of letting the model create both the code and the associated tests, start by writing tests that describe the behavior you want. Then ask the model to write code that makes the tests pass. This gives you a deep understanding of the expected behavior and a deterministic way to validate the code that’s produced. This doesn’t mean you need to write every test case by hand. You can use AI to generate the specific test cases you want and still get a lot of the benefit.
AI can make you feel like you should be running everything in parallel, but that’s a fast path to shallow work and mental overload. You’ll get more value (and more satisfaction) by staying engaged: think alongside the model, keep changes small, and use tests to anchor what “done” means. The goal isn’t to outpace your attention span. It’s to use AI without giving up the focus that makes you effective.
Key Takeaways
- AI coding tools can nudge you into constant context switching, which feels productive but burns you out and leaves you with a shallow understanding of the code. Single-tasking is still the faster, more rewarding path.
- Stay mentally “in the code” while the model works by thinking through the change yourself and reviewing the relevant files. That keeps you engaged and makes it easier to judge whether the output is actually correct.
- Don’t outsource every micro-edit to the model; use your IDE for mechanical refactors and save AI for the parts where it helps most. Use tests (ideally TDD) to define “done” and validate changes deterministically.
New Post: Proxying fetch requests in server-side JavaScriptLearn how to proxy fetch() requests in Node.js, Deno, Bun, and Cloudflare Workers to better monitor and control your server-side traffic. |
Stuff I've Enjoyed this Month
📝 AI fatigue is real and nobody talks about it by Siddhant Khare
If the switch to AI-assisted programming has left you feeling uneasy and unsatisfied, you're not alone. This post explores why AI-assisted programming feels overall less fulfilling than building from scratch.
🎬 Ship working code while you sleep with the Ralph Wiggum technique by Matt Pocock
It was hard to go online in the last month and not see something about the Ralph Wiggum technique for using AI. This video explains how it works and how to set it up yourself.
📝 Goodbye innerHTML, hello setHtml by Tom Schuster, Frederik Braun, Christoph Kerschbaumer
After more than a decade of security issues, the new setHtml() function is finally available as a replacement to innerHTML. This new function automatically sanitizes the HTML string passed into it.
🎧 What Tech Wants: God in the Machine by Ariella Markowitz, David Sirota, Natalie Bettendorf
Something seems to be going on in Big Tech. This podcast explores how the big tech companies have become more politically involved and what they're actually after.
🎬 After This Video, You'll Actually Understand Agent Orchestration by Burke Holland
Agent orchestration, multiple AI agents working together to achieve a goal, is becoming more popular every day. This video walks you through a basic orchestration to explain the concept.
📝 How AI is affecting productivity and jobs in Europe by Inaki Aldasoro, et al
We don't yet have a lot of data explaining whether AI is improving productivity, costing jobs, or anything else. This article explores the latest data available in Europe to determine how companies that adopt AI are faring.
🎧 Tish Rabe - 200+ children's books, getting picked for Dr. Seuss... by Tim Ferriss
If you're like me and grew up on Sesame Street and Dr. Seuss books, you'll enjoy this interview with Tish Rabe who was involved with it all. From an early start as an assistant on Sesame Street to producing children's TV shows and writing children's books, Tish Rabe's journey is amazing.
What I'm Working On
🏠 Real Estate: The difficulties continue. The property where a tenant left in December is still empty and it costs $500/month to keep it heated in the meantime. In my duplex, this is the second straight month where neither tenant paid rent. Additionally, my property manager let me know that another property has a rat problem and other issues that the previous property manager neglected to fix. Overall, it's been a rough winter. My margins on these properties are pretty thin, so this already represents a big chunk of what the properties would have made in 2026. Follow my Instagram for real estate photos.
🍞 Bredbox: Bredbox, my "read later" app, now offers a REST API for users. You can create a personal access token and manage your library directly. Next up: browser extensions to make saving URLs even easier.
♥️ Personal: I had some non-tech stuff taking up my time this month, as a family member went in for day surgery but had a reaction to the anesthesia. They ended up in the hospital for a week while doctors tried to figure out what was going on. Thankfully, they are back home now and on the road to recovery. This is a good reminder that there are things much more important than coding.
💻 ESLint:
- We published the final version of v10.0.0.
- There were some CVEs published related to some of our dependencies almost immediately after, so we had to do some quick patch releases to fix them once the patched dependencies were available.
Coaching for Tech Leads and Staff+ Engineers
If you're a tech lead or staff+ engineer, chances are your manager has no experience in your role. While they may be well-intentioned, they may not know how to help you grow in such a challenging position.
That's where working with me can help. As a former tech lead and principal engineer at multiple companies, I learned firsthand the ins and outs of these roles. I work with my clients one-on-one to develop their leadership, communication, organization, and problem-solving skills to succeed in the upper ranks of the individual contributor track.
Human Who Codes Newsletter
Nicholas C. Zakas
A once-per-month newsletter discussing topics important to senior-level software engineers, with a particular focus on frontend technology and leadership.