Articles: Workflow

How to Context Switch Like a Pro

Try as you might, you will never be able to avoid context switching altogether. You can reduce it to the bare minimum, but eventually you will have to shift context – from one part of a project to another, one project to the next, work life to personal life.

There is a certain school of thought that advocates you should draw back, reduce exposure to outside influences as much as possible, become a hermit. I'm exaggerating, but that's the main drift.

When I learned about meditation for the first time, a teacher told me that the popular image of the meditating master at the top of a lonely mountain was wrong. What good does meditation skill in isolation do you, when you want to participate in life? A true master can meditate in the middle of a busy street without being disturbed.

The same, I argue, is true for context switching and focused work. You know you have something when you can drop into focus even when things are crazy.

This too, of course, comes within bounds. I have ADHD, and I can't/hate to work in a shared office or in a coffee shop, no matter what I do. Good noise cancelling headphones are an incredible thing, but I still work better in a silent room I have for myself.

That being said, there are certain techniques/approaches that help me, and that have helped me before I was diagnosed and had access to medication.

The process I come back to over and over is a unique mix of interstitial journaling and the pomodoro method. I learned this from Sebastian Marshall, who called the approach "Work Cycles". I eventually ended up working for him at Ultraworking for a while, where I taught Work Cycles to hundreds of people. Since then, I've adapted the process to my own needs and run it basically every day using Roam Research.

The Main Problem of Context Switching

Why is context switching so bad? Think of your work like a video game with different levels, where each level represents a project. I've you've ever played video games, you've certainly encountered a number of "elevator rides" – points in the game where you either enter an actual elevator in a game, or walk through long tunnels where nothing happens, that sort of thing. These elevator rides have one purpose: to give the computer to catch up and load all the stuff in the next level or area of the world, which is why they often take 10, 15 seconds in which literally nothing happens. And, of course, this means that switching between levels or areas is super annoying, and you try to avoid it as much as you can.

The same is true for projects: every time you switch between projects, your brain has to load the context and state of that project: what did you do last? What were you going to do next?

These switches not only cost time, but they also mean you're skewing the distribution of "loading time" to "playing time": if you jump back and forth between levels in a game, eventually you'll be spending more time in the elevator than actually doing cool things. Same with projects, and thus something to avoid.

Reducing the Cost of Context Switching

Apart from trying to minimise context switching in the first place, which we established is only possible so much, there are ways in which you can make this process faster and less cumbersome (at least to an extent). To stay with the gaming analogy, you can switch out your hard disk drive for an SSD to make loading much faster.

The way to do it with projects is to do interstitial journaling. By taking notes as you work, you're creating "hooks" that your mind can grab onto when you return to the project and thus make loading the context into your brain much faster.

While interstitial journaling alone can be useful, there is a way to improve upon it that reduces the cost of context switching further and
can help you overcome another hurdle that often leads to procrastination.

Constraints can make you go faster

One reason the Pomodoro Technique works so well is that by setting a timer for 25 minutes, you immediately reduce the horizon you have to focus on. A decade-long project becomes much less scary if you force yourself to keep going for just 25 minutes, and only consider what you can get done in that minimal timeframe. So setting that timer can dramatically reduce the amount of procrastination you're doing.

Just setting that timer often isn't enough, though. Because apart from the scariness of long timescales, you need to know what you're going to do until the timer goes off. The solution is a lightweight checklist of questions (you might even call it an algorithm of thought) to figure that out and help you avoid any obstacles that might get in your way.

Work Cycle's questions do that in three steps: first, you ask what you want to accomplish, then you ask how exactly you will get started, and finally you ask what hazards might come up in the interval and how you'll counter them. Importantly, you'll want to be very precise in your answers. "I'm going to work on my dissertation" is bullshit – who knows what that looks like? You can't quantify it, and the work is theoretically infinite. That's not useful. "I am going to write the first paragraph of the introduction" is much better – you can actually say at the end whether you did it or not. An even better test is whether someone else who kinda knows the work but isn't you could look at the work before and after you started and say whether you did you said you were going to do.

Knowing exactly how to start ("I am going to open up RStudio and look at analysis.R" is fine) and writing down possible obstacles ("If I get interrupted by the delivery guy I will pay him and immediately return to work, Pizza in hand") makes getting started much easier because you don't need to think in the moment anymore – all you need to do is follow what you wrote down when you planned.

To make the planning, working, and reviewing tie well together, the Ultraworking people recommend to do at least 30min work and 10min planning the next cycle and reviewing the one you just completed. For things like coding and writing 40/10 can sometimes work better – 30/10 is often quite short. Important is that you don't just do 5min of reviewing/planning – in my experience that often turns into frantic "keeping up" that's not conducive to focused work. Don't check Twitter though – that's too much context switching even for this method. Believe me, I've tried.

Implementation

Work Cycles in Roam
Figure 1: Work Cycles in Roam

The question now is – okay, we want to do interstitial journaling, we want to do pomodoros or some other sort of time-bounding our work, we want to ask these questions…that sounds like a lot of work, and how do you even do all that consistently?

From Ultraworking, you can get a Google Sheets/Excel Template you can use to guide your work sessions. As a Roam Research user, I've implemented the process using templates and simply do it on the Daily Notes Page. Fast, easy, and I have all my notes where I want them, right at my fingertips. As a more general aside, I know there's sometimes a bit of hesitancy about doing all you work on the DNP if you're new to Roam. I'll write more on how to do it soon.

The first template you'll need, and really the main one, is the Work Cycle template. You'll see it in full below, or you can go here to my public Roam graph and copy it from there.


- Plan Work Cycle [[roam/templates]]
    - TIME – [[work cycle]] – {{[[POMO]]: 30}}
        - [[What am I trying to accomplish this cycle?]]
            - 
        - How will I get started?
            - 
        - [[Any hazards present?]]
            - 
        - energy:: {{or: [[high]] | [[medium]] | [[low]]}}
        - morale:: {{or:[[medium]] | [[high]] | [[low]]}}
        - **Notes**
            - 

You see in the template that the questions "What am I trying to accomplish this cycle" and "Any hazards present" are page links. This way, I can very easily collect tasks or hazards by indenting. Indenting this template under a link to a project like a paper, I can also very easily collect all the work I did for that paper – all without any effort.

So far, we've only talked about planning – but reviewing the work you did in the last 30 minutes is quite crucial as well. By going back at the end of every cycle and asking whether you actually did what you planned, you're

  • re-enforcing the interstitial journaling part by giving you an opportunity to write down what happened and your thoughts on the project
  • getting a chance to re-scope: if you didn't finish or only got half-way there, you can now say "okay, I'm doing this smaller thing first". This can be very important for managing morale over a workday. This way you prevent the feeling of being stuck for long stretches of time – every 30 minutes you get a chance to get un-stuck.
  • allowing yourself to step back and observe the "meta" of your work: what distractions came up, ways to prevent them in the future, your general state of mind (do you need to move a bit, drink something?) and so on

The template for this is below:


- Review Work Cycle [[roam/templates]]
    - [[Work Cycle Review]] – {{[[POMO]]: 10}}
        - completed cycle's target:: {{or: [[NA]] | [[yes]] | [[half]] | [[no]]}}
        - [[Anything noteworthy?]]
            - 
        - [[Any distractions?]]
            - 
        - [[Things to improve for next cycle?]]
            - 

To really make this method sing, you can chunk multiple cycles together into a "Work Cycle Session" and plan that the same way you're planning the individual cycle: What are you going to accomplish? Why is it important? What things do you need to keep in mind or do some counter-planning for?

Six 30/10 cycles combine into a neat 4h block – do this twice a day and you'll be shocked at how much you can get done.

Importantly, and to really tie this back into context switching: with this method, working on two projects for 4h each per day is easily possible. You can even do 2h blocks of three cycles, but in my experience more than 3 projects/day is less enjoyable than doing two projects a day and alternating days. Because you're keeping really good records of what you're doing, A/B switches between days don't cost you much. I also want to note that you are not forced to slavishly fill out the prompts every time. Quite often I fall into hyperfocus after three cycles, which means this process can be a quite effective "onramp" for ADHD people: light structure to start focusing, but not so restrictive as to feel stifling.

Wrap Up / Takeaways

Context switching is unavoidable – but you can make it less costly by combining a couple of simple strategies.

By using a template that guides your interstitial journaling, you can make returning to a project much easier, prevent procrastination, and spot patterns in your work to amplify or counter.

Using such a template in Roam (or any software with blocks and backlinks), you can easily create a record of you work to make your progress visible and have all your notes in the context you created them in.

Try as you might, you will never be able to avoid context switching altogether. You can reduce it to the bare minimum, but eventually you will have to shift context – from one part of a project to another, one project to the next, work life to personal life.

There is a certain school of thought that advocates you should draw back, reduce exposure to outside influences as much as possible, become a hermit. I'm exaggerating, but that's the main drift.

When I learned about meditation for the first time, a teacher told me that the popular image of the meditating master at the top of a lonely mountain was wrong. What good does meditation skill in isolation do you, when you want to participate in life? A true master can meditate in the middle of a busy street without being disturbed.

The same, I argue, is true for context switching and focused work. You know you have something when you can drop into focus even when things are crazy.

This too, of course, comes within bounds. I have ADHD, and I can't/hate to work in a shared office or in a coffee shop, no matter what I do. Good noise cancelling headphones are an incredible thing, but I still work better in a silent room I have for myself.

That being said, there are certain techniques/approaches that help me, and that have helped me before I was diagnosed and had access to medication.

The process I come back to over and over is a unique mix of interstitial journaling and the pomodoro method. I learned this from Sebastian Marshall, who called the approach "Work Cycles". I eventually ended up working for him at Ultraworking for a while, where I taught Work Cycles to hundreds of people. Since then, I've adapted the process to my own needs and run it basically every day using Roam Research.

The Main Problem of Context Switching

Why is context switching so bad? Think of your work like a video game with different levels, where each level represents a project. I've you've ever played video games, you've certainly encountered a number of "elevator rides" – points in the game where you either enter an actual elevator in a game, or walk through long tunnels where nothing happens, that sort of thing. These elevator rides have one purpose: to give the computer to catch up and load all the stuff in the next level or area of the world, which is why they often take 10, 15 seconds in which literally nothing happens. And, of course, this means that switching between levels or areas is super annoying, and you try to avoid it as much as you can.

The same is true for projects: every time you switch between projects, your brain has to load the context and state of that project: what did you do last? What were you going to do next?

These switches not only cost time, but they also mean you're skewing the distribution of "loading time" to "playing time": if you jump back and forth between levels in a game, eventually you'll be spending more time in the elevator than actually doing cool things. Same with projects, and thus something to avoid.

Reducing the Cost of Context Switching

Apart from trying to minimise context switching in the first place, which we established is only possible so much, there are ways in which you can make this process faster and less cumbersome (at least to an extent). To stay with the gaming analogy, you can switch out your hard disk drive for an SSD to make loading much faster.

The way to do it with projects is to do interstitial journaling. By taking notes as you work, you're creating "hooks" that your mind can grab onto when you return to the project and thus make loading the context into your brain much faster.

While interstitial journaling alone can be useful, there is a way to improve upon it that reduces the cost of context switching further and
can help you overcome another hurdle that often leads to procrastination.

Constraints can make you go faster

One reason the Pomodoro Technique works so well is that by setting a timer for 25 minutes, you immediately reduce the horizon you have to focus on. A decade-long project becomes much less scary if you force yourself to keep going for just 25 minutes, and only consider what you can get done in that minimal timeframe. So setting that timer can dramatically reduce the amount of procrastination you're doing.

Just setting that timer often isn't enough, though. Because apart from the scariness of long timescales, you need to know what you're going to do until the timer goes off. The solution is a lightweight checklist of questions (you might even call it an algorithm of thought) to figure that out and help you avoid any obstacles that might get in your way.

Work Cycle's questions do that in three steps: first, you ask what you want to accomplish, then you ask how exactly you will get started, and finally you ask what hazards might come up in the interval and how you'll counter them. Importantly, you'll want to be very precise in your answers. "I'm going to work on my dissertation" is bullshit – who knows what that looks like? You can't quantify it, and the work is theoretically infinite. That's not useful. "I am going to write the first paragraph of the introduction" is much better – you can actually say at the end whether you did it or not. An even better test is whether someone else who kinda knows the work but isn't you could look at the work before and after you started and say whether you did you said you were going to do.

Knowing exactly how to start ("I am going to open up RStudio and look at analysis.R" is fine) and writing down possible obstacles ("If I get interrupted by the delivery guy I will pay him and immediately return to work, Pizza in hand") makes getting started much easier because you don't need to think in the moment anymore – all you need to do is follow what you wrote down when you planned.

To make the planning, working, and reviewing tie well together, the Ultraworking people recommend to do at least 30min work and 10min planning the next cycle and reviewing the one you just completed. For things like coding and writing 40/10 can sometimes work better – 30/10 is often quite short. Important is that you don't just do 5min of reviewing/planning – in my experience that often turns into frantic "keeping up" that's not conducive to focused work. Don't check Twitter though – that's too much context switching even for this method. Believe me, I've tried.

Implementation

Work Cycles in Roam
Figure 1: Work Cycles in Roam

The question now is – okay, we want to do interstitial journaling, we want to do pomodoros or some other sort of time-bounding our work, we want to ask these questions…that sounds like a lot of work, and how do you even do all that consistently?

From Ultraworking, you can get a Google Sheets/Excel Template you can use to guide your work sessions. As a Roam Research user, I've implemented the process using templates and simply do it on the Daily Notes Page. Fast, easy, and I have all my notes where I want them, right at my fingertips. As a more general aside, I know there's sometimes a bit of hesitancy about doing all you work on the DNP if you're new to Roam. I'll write more on how to do it soon.

The first template you'll need, and really the main one, is the Work Cycle template. You'll see it in full below, or you can go here to my public Roam graph and copy it from there.


- Plan Work Cycle [[roam/templates]]
    - TIME – [[work cycle]] – {{[[POMO]]: 30}}
        - [[What am I trying to accomplish this cycle?]]
            - 
        - How will I get started?
            - 
        - [[Any hazards present?]]
            - 
        - energy:: {{or: [[high]] | [[medium]] | [[low]]}}
        - morale:: {{or:[[medium]] | [[high]] | [[low]]}}
        - **Notes**
            - 

You see in the template that the questions "What am I trying to accomplish this cycle" and "Any hazards present" are page links. This way, I can very easily collect tasks or hazards by indenting. Indenting this template under a link to a project like a paper, I can also very easily collect all the work I did for that paper – all without any effort.

So far, we've only talked about planning – but reviewing the work you did in the last 30 minutes is quite crucial as well. By going back at the end of every cycle and asking whether you actually did what you planned, you're

  • re-enforcing the interstitial journaling part by giving you an opportunity to write down what happened and your thoughts on the project
  • getting a chance to re-scope: if you didn't finish or only got half-way there, you can now say "okay, I'm doing this smaller thing first". This can be very important for managing morale over a workday. This way you prevent the feeling of being stuck for long stretches of time – every 30 minutes you get a chance to get un-stuck.
  • allowing yourself to step back and observe the "meta" of your work: what distractions came up, ways to prevent them in the future, your general state of mind (do you need to move a bit, drink something?) and so on

The template for this is below:


- Review Work Cycle [[roam/templates]]
    - [[Work Cycle Review]] – {{[[POMO]]: 10}}
        - completed cycle's target:: {{or: [[NA]] | [[yes]] | [[half]] | [[no]]}}
        - [[Anything noteworthy?]]
            - 
        - [[Any distractions?]]
            - 
        - [[Things to improve for next cycle?]]
            - 

To really make this method sing, you can chunk multiple cycles together into a "Work Cycle Session" and plan that the same way you're planning the individual cycle: What are you going to accomplish? Why is it important? What things do you need to keep in mind or do some counter-planning for?

Six 30/10 cycles combine into a neat 4h block – do this twice a day and you'll be shocked at how much you can get done.

Importantly, and to really tie this back into context switching: with this method, working on two projects for 4h each per day is easily possible. You can even do 2h blocks of three cycles, but in my experience more than 3 projects/day is less enjoyable than doing two projects a day and alternating days. Because you're keeping really good records of what you're doing, A/B switches between days don't cost you much. I also want to note that you are not forced to slavishly fill out the prompts every time. Quite often I fall into hyperfocus after three cycles, which means this process can be a quite effective "onramp" for ADHD people: light structure to start focusing, but not so restrictive as to feel stifling.

Wrap Up / Takeaways

Context switching is unavoidable – but you can make it less costly by combining a couple of simple strategies.

By using a template that guides your interstitial journaling, you can make returning to a project much easier, prevent procrastination, and spot patterns in your work to amplify or counter.

Using such a template in Roam (or any software with blocks and backlinks), you can easily create a record of you work to make your progress visible and have all your notes in the context you created them in.

Subscribe below to receive free weekly emails with my best new content, or follow me on Twitter or YouTube.

Join the Cortex Futura Newsletter

Join and receive my best ideas on academic workflows, algorithms of thought, and Roam Research.

    Subscribe below to receive free weekly emails with my best new content, or follow me on Twitter or YouTube.

    Join the Cortex Futura Newsletter

    Join and receive my best ideas on academic workflows, algorithms of thought, and Roam Research.