Context Switching – what works for me

Context Switching

This article is a follow up to Pawel Brodzinski’s good article about context switching. On short note, let’s say that context switching happens when we are doing one project, then switching to another project. The tasks, information, data, code (context) are changing.

Context switching is not without cost, it consume brain power and usually need time for one developer to catch up to working condition after switching. So it is generally bad. However Brodzinski already mentioned the Zeigarnik Effect.

Our brains remember much better tasks that we haven’t finished and also have intrusive thoughts about that thing.

So we got 2 contradict situation. One where our brain is doing better when we are multitasking (switching context) and that the context switching / multitasking is costly. Let’s just say that the amount of multitask one can do will yield into diminishing return at one point. So how do we know the peak point of context switching’s benefit? Trial and error. The solution below works for me, and maybe also works for you.

My Solution

Limit to two tasks

For me, multi tasking comes with responsibility and pressure. More tasks assigned to you, more pressure and responsibility you hold. Which is why I think assigning two tasks at the same time is the best. Three is okay, but the third one must have very low priority over the other. More than three will cause queue time.

One long-running task and one short-running task

I experienced good performance when I am assigned with one project / task which is long-running (long deadline), and another which can be completed shortly / soon. That way, I can focus my work to the long duration one, then switch to the short-duration one when I get problems / stuck or simply bored.

Why not both short-duration or both long-duration tasks? I must say the mental effect comes here. A feel of achievement from clearing one task can help you boost your moods and performance. The mood boost will help when working the other one. That can only be achieved by doing two different-duration tasks.

Can focus the long duration work, then switch to the short-duration work when get problems

One higher priority and another lower priority task

Similar with before, this way I can focus the work with the higher priority one then switch to lower one when stuck. When both tasks are high priority, and you will feel very pressured. Otherwise, when both tasks are low priority, you will feel lazy / loose.

Do I feel the performance gain?

Yes it is. I don’t know whether it’s the same case with the other. However when I am stuck with a case/problem or need a long time analysis, usually I tried to distract myself from the task (usually by browsing which ended in seeing many cat pictures), or changing to other tasks. After some time, I will switch back to the problem with zero cache or memory in my mind about it, and thinking it from the start with different approach.

This way, when I have multiple tasks, I can distract myself with that other task, while both unconsciously thinking about the problem and forgetting the current not-working solution about the problem.

When I am stuck, I tried to distract myself and come back later with new approach


Two task, with both varies between priority and duration benefits me the most from context switching.