Task Switching

2022, Aug 07    

Much has been made about the myth of multi-tasking. The current consensus seems to be that folks are mostly terrible at multi-tasking but think they are being extremely productive. It is possible that multi-tasking feels more entertaining and is good optics in a corporate environment. The modern workplace is after all, mostly about optics anyway. The reason for this human failure to multi-task is the singular nature of attention. Focus, by definition is on one thing at a time. If we are forced away from that thing before we’ve completely understood it, we wipe clean the data with other messy stuff.

I like making physical metaphors for the human brain, so imagine that you were cooking and halfway through your chana masala, someone said “We need apple pie instead.” You start rearranging things to make apple pie work, some of the spices overlap - cinnamon, for example. You leave it out and you accidentally leave another one out too - ginger powder. This time, it turns out to be a blessing since it works really well and the customer loves it. Happy mistakes can certainly happen when switching between tasks frequently or suddenly. But with multi-tasking, no one task is taken to completion easily. No one ends up tasting the delicious ginger apple pie.

I think there is an art to task switching that we aren’t really taught. Clear enough space for the current task, but leave behind a few artifacts of the old one to allow for some cross pollination between the two.

This is particularly useful in software projects. Codebases often interact in weird ways with themselves and each other. Jumping from one task on one codebase to another can help you understand and chronicle the underlying assumptions and structure of the project. The fastest way to understand a codebase deeply is to do 3 or 4 beginner’s bugs across the stack - front end to data layer. There’s a way to use task switching to get a holistic picture instead of as a constant stream of interruptions that erase your context and leave you exhausted. Context switching, after all is an expensive procedure, even for computers.