The inner loop and the cost of context switching

Software development is rarely a straight line from idea to shipping. Most developers cycle through a familiar pattern: write code, compile, debug, repeat. The VS Code team calls this focused iteration the "inner loop." Everything outside the editor—bug trackers, ticketing systems, chat apps like Slack or Microsoft Teams—belongs to the "outer loop." Developers juggling multiple projects often find themselves spread across browsers, API docs, terminal tabs, and several desktops at once.

Staying inside the inner loop builds what Burke Holland, Principal Developer Advocate on the VS Code team, calls "inertia." The longer a developer maintains that state, the faster and more productive they become. Flow state also carries cognitive weight: developers load context about edge cases and future planning while writing code. When that concentration breaks, the context goes with it, and the cost is more than a few lost minutes.

Pulling outer loop tasks into the editor

The VS Code team's strategy is to pull as many outer loop activities as possible into the editor itself. The goal isn't just faster typing—it's eliminating the friction of toggling between tools. A developer working on a pull request might jump into GitHub, then back to code, then over to a project management tool. Each switch derails the workflow.

Features like Zen Mode address the micro-disruptions inside the editor. Hiding UI elements creates a distraction-free environment, which matters more than it sounds. "Every time the UI changes, the brain needs to readjust," says Holland. Even collapsing the sidebar can cause a tiny disruption while the brain recalibrates. "These things add up."

Extensions play a key role too. Developers can choose tools that fit their workflow, including the Figma for VS Code extension, which brings design inspection directly into the editor. The same logic applies to collaboration: VS Code integrates GitHub so developers can handle issues, code reviews, and pull requests without leaving their heads-down work. "The ideal collaboration is where we're both staying in our inner loops," Holland explains. Collaboration, in this view, doesn't have to be synchronous.

AI as a non-intrusive assistant

Generative AI fits the same pattern. GitHub reports that Copilot increases coding speed by 55%, but Holland finds another statistic more compelling: 75% of developers using AI report feeling more fulfilled.

"Generative AI is remarkably good at watching what a developer is doing, and then proactively providing the code they are going to need next," he says. Rather than forcing developers to interrupt their work to ask for help, AI anticipates what they're about to type and suggests it without demanding attention.

Collaboration without disruption

Collaboration is essential, but it's also inherently disruptive. Meetings and chat threads break concentration. For developers whose roles demand equal parts coding and communication, the tension is real. The solution, as Holland sees it, is to enable collaboration that accommodates individual focus.

That means asynchronous workflows where possible, and pulling collaborative tools into the editor so developers can contribute to shared work without sacrificing their inner loop. There will always be some context switching, but teams don't always need to fire up a chat app or schedule a meeting when they can comment directly in the tool they're already using.

The payoff goes beyond productivity metrics. "Staying within the flow state increases both a developer's energy, and their overall happiness," Holland says. For those building developer tools, the mandate is clear: "Ruthlessly pursue developer happiness by bringing inner loops closer together and removing as much tedium as possible."