The Cost of Context Switching

Context switching is the process of jumping between unrelated tasks, apps, or projects before finishing them. We all know the feeling. It causes mental fatigue and degrades our productivity.

The term actually originates in computing. It describes the method where a CPU saves the state of a process or thread to pause it, and then loads the state of another one so multiple programs can share the same hardware.

What I find most interesting is that even in the world of computers and robots, this is still a problem. There is always a performance cost when a system is forced to stop what it is doing, pack away its memory, and load up something entirely new. If machines struggle with this constant shuffling, it is no wonder our brains get so exhausted doing the exact same thing.

Just the other day, I sat down and counted the parallel projects I am currently involved in. The final number came out to over 40 different initiatives. The wild part is that this is not even the busiest I have been this year.

That massive number only accounts for my professional week. It does not even factor in personal projects or life outside of work. Every single one of those 40 work projects requires its own mental space. Jumping between them all day means I am constantly forcing my brain to save one state and load another, paying a heavy performance cost with every single pivot.

As my involvement grows and I take ownership of more areas, I am discovering that survival comes down to a few core habits. Deep personal organisation, smart delegation, and taking meticulous notes have become absolutely essential to what I do.

Just as importantly, managing this load requires immense trust in my team and the people I collaborate with. When you cannot be in the weeds of every single project, the real skill becomes knowing when to trust them to execute, and knowing exactly when to step in to unblock a challenge or gently adjust the direction we are heading.

It is not just about keeping the work moving forward either. You also have to be able to report upstream to stakeholders with a solid level of detail about where every single project currently stands. Even when your attention is heavily divided, you still need to remain completely on top of everything so you can provide accurate updates and maintain their confidence.

This often makes me wonder how other engineering managers organise their time. We share this massive responsibility of orchestrating complex systems and guiding teams, yet it is incredibly odd that such a crucial part of our job has no universal playbook. Most of us seem to tackle it in completely different ways. We build personal systems of calendars, reminders, and private documents just to keep the mental cost of switching contexts from completely overwhelming us.

Some might look at these personal routines and think they are just too difficult to maintain during a chaotic week. However, I believe the exact opposite is true. Relying on your organisational methods is actually most important precisely when you are at your busiest. When the workload peaks and you are rapidly jumping between tasks, those structured habits are the only thing stopping your own internal system from crashing completely.

I was reading recently about cognitive overload. This is what happens when you reach your absolute maximum limit for context switching and everything simply derails. Others might just call it burnout. It is that specific point where all your systems degrade and you are simply no longer able to perform. The real danger is that this failure state never stays confined to your working hours. When your mental processing power is completely exhausted, it inevitably spills over and begins affecting your personal life too.

To fight this cognitive overload, the other day I vibe coded a very simple app with a database behind it. It operates a lot like a Trello board, which I should have used instead, and is designed to give me a single view of absolutely everything that is happening. I set up specific columns for things currently in progress, tasks where I am blocked, a standard backlog, and crucially, a special column for everything that is in progress but delegated to someone else.

Having this unified view is a lifesaver for managing my load. Instead of holding all those threads in my head, I can just glance at the screen. Looking ahead, I am already thinking about how to automate it further. Maybe in the future, I can link it directly into Jira so it updates automatically. I might even set up a Claude routine to parse my Slack conversations and move the items around for me. Finding ways to offload the tracking process back to the machines seems like the perfect way to protect my own mental processor.

In a world of AI, fast paced delivery, and multiple concurrent demands, organising your life and doing a daily review of your workstreams has become absolutely essential to be successful.

Leave a comment