How to Avoid Context Switching and Be a Happier Software Engineer
Being part of Kopius offers opportunities for professional and academic growth.
Our Kopius Academy recently offered a session about context switching for software engineers and developers, which was led by our Director of Software Engineering, Yuri Brigance. This post summarizes Yuri’s key messages about context switching and how to reduce distractions when engineers need to focus.
Engineering is creative work – it requires education, skills, talent, and experience. Further, engineering activities have long durations and require research and preparation before executing a task.
“One of the things I’ve been trying to improve is how to allow myself to do focus work – deep work like writing code or architecture – while managing other responsibilities like pre-sales, having one-on-ones, etc.,” said Brigance.
Context switching in engineering is the process of switching from one program to another since people can focus on only one task at a time (multi-tasking is just rapid context switching).
There are two types of tasks: simple and demanding, and every task has two parts:
- Load the task. If you were a computer, that might mean opening and loading a program. But you are a human, so it is about remembering the context, such as where you left off, notes, etc.
- Save progress. When you are ready to stop working, you must save your context. The best way to end a task is to complete it, but if you must pause it, there is that “save” period where you have to put away what you were doing.
Complex task switching duration varies based on the complexity of the task.
You don’t have control over how long it takes to save or load your context, so if you are interrupted, it will take longer to load. “Being interrupted is like having your program crash – it will take longer to get back into your workflow. If you are interrupted, then you will spend more time getting back into work the next time you start that task,” says Brigance.
Productivity tends to increase with time. Once you have built up your mental context, the longer you work without interruptions, the more productive you become. This is why it’s helpful to concentrate meetings in the first half of the day so that once the meetings are done, engineers can focus on code with fewer interruptions or distractions.
This has the added benefit of ending the day having made significant focused progress, which can help engineers to feel happier and less stressed.
There are two types of interruptions:
- Simple interruption: A simple interruption doesn’t require you to prepare for it, such as a notification on Slack. You experience the interruption, and then rebuild your mental context – but you don’t need to save your work prior to this interruption. You can reduce simple interruptions by managing your status on Slack/Teams, turning off notifications, silencing your phone, etc. It’s helpful to batch simple tasks and do them all in one single chunk of time. You can also reduce the simple interruptions experienced by others by being conscious of people’s work and avoiding interrupting them if they are busy.
- Complex interruptions: Complex interruptions are tasks that require preparation, such as meetings. You can reduce the impact of complex interruptions by scheduling meetings that are too close together so 30-60-minute breaks between meetings don’t result in unfocused time.
Here are additional tips to help you avoid the fatigue of context switching and enjoy more and better deep work:
- If you have multiple meetings, consolidate them and schedule them as early in the day as possible to give people as much afternoon time as possible to focus.
- Offer a no-meeting day so there is a day each week when large complex chunks of work get done with minimal interruptions.
- If your job has a lot of client interaction and research, breaking up the week by types of contexts can be helpful.
- Eliminate unnecessary meetings.
- Avoid 30–90-minute breaks between meetings.
- Set aside small tasks for intra-meeting breaks.
- Decline low-priority meetings. Every meeting is important to someone, but if you are under a time crunch, you might need to skip a meeting.
- Communicate with others when you need focus time.
- Disable non-important push notifications.
- Set aside time for breaks between tasks to reflect and plan.
Engineering and development work takes creativity and focused energy. Understanding the impact of context switching, and then finding ways to reduce its impact can result in happier, healthier, more productive engineers and better software solutions.
What is Kopius Academy?
Our company offers an educational program called Kopius Academy, where we provide educational sessions relevant to our careers in digital transformation. Whether they are led by our own team members or outside experts, we bring educational content to our teams every month that ranges from the highly technical to sessions about work/life balance and wellness.
Want to learn more from Kopius and our Kopius Academy? We regularly host educational events, webinars, and hackathons for the public, which can be found on our Careers page on LinkedIn, Instagram, and Twitter!
- Follow us on Kopius Careers on LinkedIn to learn about Kopius Academy events that are open to the public
- Three Ways We Bring a Learning Culture to Our Business
- Remote Working Challenges and Mitigations in Product Deployment