Managing your interrupt rate as a tech lead, part 2: Time blocking

Your calendar is a place where you should be in control and not be at the whims of others who send you invites.

If you’re like most people, your work calendar is primarily used to show others your free time. People schedule meetings in a free block on your calendar when they want to talk with you. As more meetings get scheduled, the amount of free time becomes smaller, leaving fewer options for others to schedule with you. Before you were a tech lead, the number of meetings you had still left a lot of free time for you to code. After all, your primary job was still to produce code, and your colleagues (hopefully) tried to minimize interruptions. But as a tech lead those free slots are claimed a lot faster. You never know when a meeting request is going to pop onto your calendar, and that makes it difficult to get started on any task requiring concentration. Fortunately, there is another way.

(By the way, this is the second part of a three-part series. If you haven’t yet read part 1, I’d suggest doing that first and then returning here.)

Invert your calendar with time blocking

This other way is called time blocking.1 Instead of leaving your calendar mostly empty and letting people fill it up for you by sending meeting requests, you start by blocking out time on your calendar for specific tasks. Maybe you have a technical specification you have to write or review? Put an hour block on your calendar for that. Do you have some code you need to write? Block off 90 minutes of time on your calendar for that. Are you responsible for approving pull requests? Put a 30-minute block in the morning and a 30-minute block in the evening to catch up with those. If you’re thinking, “Wait a minute. If I fill up my calendar with all of these tasks, it will look like I’m busier than I am,” then it’s time to think differently.

Everything you need to do takes time, even things people consider “freebies” like checking your email or eating lunch. When these tasks are not on your calendar, they actually create the illusion that you have free time. These things still need to get done. Only colleagues looking at your calendar have no idea when you’re doing them. To them a free slot means you are free to be in a meeting even though you had planned Wednesday afternoon to work on that sprint task.

By putting the actual tasks you need to do on your calendar, you are doing two things:

  • You are accurately planning out your schedule so you know what to work on when. If a meeting request comes in over a task block, you know exactly what you are trading off if you want to accept it.
  • You are letting colleagues know when you are actually free for meetings. When your calendar is filled up with tasks and you leave slots open, people are more likely to schedule in those slots by default. So that Wednesday afternoon sprint task won’t get interrupted.

In both cases, you are creating a more accurate view of your availability and how you’re spending your time.

Common tasks to put on your calendar

Figuring out what to put on your calendar is more challenging than it seems. Some tasks are well-defined and may exist on a sprint plan somewhere, but what else do you do each day? Here is a non-exhaustive list of the types of blocks to put on your calendar:

  • Asynchronous communication - You definitely need time to check whatever systems of communication your company uses, whether that be email, Slack, Yammer, or anything else. You’re probably doing this periodically throughout the day, but a better approach is to schedule time throughout the day to check them.
  • Lunch/breaks - Whenever you’re going to take some time for yourself, put that on your calendar. It’s important to take breaks throughout the day to refuel and recharge, and putting that on your calendar will remind you to do it.
  • Checking in at home - If you have any personal issues to address that require you to check in periodically, put those on your calendar too.
  • Checking in on social media - Regardless of whether or not it’s a good idea to check social media at work, many people do. If that’s part of your routine, it should go on your calendar. (If it’s part of your job, it should definitely go on your calendar.)
  • Assigned tasks - Whether you are using sprints, kanban, or another form of planning, you probably have some tasks assigned to you with deliverables and due dates. Put these on your calendar and specifically label them for the task you’ll work on (as opposed to “coding time,” for which you might not know what you intended).
  • Code reviews - A common task for tech leads is to review code from your colleagues. You probably want to schedule time for this every day and perhaps a couple of times a day to ensure people aren’t blocked.
  • Ad-hoc tasks - You may end up with tasks that you’ve assigned yourself, and those should also go on your calendar. Once again, be sure to label the block so you know exactly what you planned for that time. Things like reviewing specifications, reviewing resumes, writing a blog post, writing documentation, and putting together a presentation are all examples of tasks that might not be officially assigned to you in your ticketing system but you’ll need to accomplish nonetheless.
  • Calendar planning - Every Friday, take a 15- to 30-minute block of time to spend setting up your blocks for the next week. You should have enough insight as to what you’ll be working on to set yourself up so Monday morning you can arrive at work and know exactly how to spend your time.

As is hopefully apparent from this list, your calendar is no longer just for meetings. It’s for anything that will take you time to accomplish. Meetings will always find their way onto your calendar via the meeting organizer whereas these tasks will only end up there if you intentionally add them.

The golden rule of time blocking is this: If it takes time to do, then it ends up on your calendar.

Eliminating distractions during time blocks

Perhaps the most important part of time blocking is eliminating all distractions during those scheduled blocks. After all, how useful is it to block off an hour of time to review a specification if you are interrupted by email, Slack, or social media? That’s why eliminating distractions is key to making time blocking successful.

When you’re working on a task block, eliminate all of the interruptions that you can. Here are some tips:

  • Close email, Slack, and social media (don’t just minimize the windows, close the applications). You should have scheduled check-in times for these on your calendar.
  • Consider putting your phone on “do not disturb” mode to eliminate the pings and dings of all your apps.
  • Close any applications that you aren’t actively using (including your web browser).
  • If you are using your web browser, close all tabs that you’re not actively using. Use an extension like Momentum2 to help you focus when you open a new tab.
  • If you’re using an application with “focus mode”, turn it on. Visual Studio Code, for example, has a “zen mode”3 that blocks everything else from the screen.

The overall goal here is that when you say you’re going to review a specification from 1pm to 2pm on Monday, you are actually reviewing the specification and not getting distracted by other things. Focus only on what you have assigned yourself during that time and work on it until complete or until you reach the next logical stopping point.

Before and after calendars

To give you an idea of how time blocking might look in practice, it’s helpful to take a look at what your calendar might look like before and after implementing time blocking. If you’re a tech lead who hasn’t set up your calendar for time blocking, you might have a calendar that looks like this:

Before Calendar: Daily standup from 9:30-9:45am; Team lunch on Wednesday at noon; 1-on-1s and other meetings sprinkled throughout the week

The purple appointments are those set by your team, and the blue appointments are where you’re interacting with others in real time. When you look at this calendar, aside from the daily standup meeting at 9:30am every day and the weekly team lunch on Wednesday at 1pm, the calendar is mostly empty space with a few one-off meetings here and there. Otherwise, the calendar looks mostly empty. Of course, it’s not actually empty – you need that empty time to do all of the work you’ve been assigned and all of the work that is expected but not typically accounted for. Whenever someone wants to schedule something with you, any open spot on your calendar is fair game, and on this calendar, there are a lot of open slots.

Once you transition to time blocking, your calendar looks more like this:

Time-Blocked Calendar: Each day has specific tasks assigned at specific times with other meetings in between

When you look at a time-blocked calendar, it’s easy to see that all of that open space on your original calendar isn’t actually free. It’s time you need to complete the tasks you have. The daily standup, team lunch, and all of the other meetings from the first calendar are still present, but now you can see what you are trying to accomplish in between those meetings. I’ve color-coded tasks that involve specific software as red, tasks that you work on alone as yellow, and tasks that are breaks as green. There are still empty slots on your calendar but there are a lot fewer than before.

Protecting your time blocks

After you’ve gone through the trouble of time blocking your calendar and planning to eliminate distractions during those blocks, there is still one last step: protecting your time blocks from your colleagues. Depending on the calendar culture of your company, your colleagues may be able to see the labels you’ve put on your blocks, or they may just see that time as “busy.” In both cases, you will likely receive meeting requests during the times when your calendar is blocked off. How you respond to these requests will determine whether your colleagues respect your calendar going forward or not.

As I discussed in part 1, you get more of the interruptions that you reward. If you always accept meeting requests that are over a time block, you are sending the message that your time blocks aren’t important and people can schedule over them whenever they want. On the other hand, if you always reject meeting requests over your time blocks, people might get frustrated and complain that you’re never available. Naturally, the right path lies in the middle.

Assuming that people are mostly adhering to your calendar availability and only occasionally are sending requests over your time blocks, the easiest thing to do is ask how important the request is. There will absolutely be emergencies where you’ll need to alter your plan for the day and reshuffle your time blocks, but that should be the exception and not the rule. The rule is for people to find an open slot on your calendar and request the meeting there. If for some reason that doesn’t work, then your responsibility is to determine the importance of the meeting request and only accept the most important ones. If your VP is trying to get a group of 10 people together to discuss a new initiative, well, you’ll most likely need to adjust your schedule; if a colleague wants your opinion on something they’ve written, that can wait.

Use your discretion with how to handle these requests but always start with a default of rejecting them and proposing a new day and time where you have an open slot. Sometimes that might not be until next week, and that’s okay for many requests.

(I’ll discuss another technique for dissuading time block meeting requests in part 3.)

Summary

You likely haven’t spent too much time managing your calendar before becoming a tech lead, and so your calendar was likely made up of mostly free space punctuated with a few meetings to attend. The rest of the time was yours and most of that time was spent working on deliverables. The occasional meeting popping up on your calendar wasn’t a big deal because you had so much empty time to fulfill your other obligations.

As a tech lead, you have to balance your own tasks with helping others, and so allowing others to control your calendar through meeting requests means frequent interruptions and disruptions to the things you had planned to do. The solution is to use time blocking to create blocks on your calendar dedicated to particular tasks. Tasks include things like checking email, reviewing code, and writing code. Anything that requires time or focus to accomplish should end up as a block on your calendar so both you and your colleagues know that you are busy during that time.

Signaling that you’re busy during that time isn’t enough. You need to eliminate your own distractions by closing email, chat, and social media so you can focus on your work; you can schedule a block of time to check those later. When you have time scheduled for a particular task, focus only on that task and nothing else.

You’ll also need to protect your blocked-off time when you receive meeting requests that overlap with your blocked-off time. How you respond to such requests will determine whether or not others will respect your calendar. If you always accept meetings during blocked-off time, you’ll continue to receive these requests. Protect your calendar by rejecting most requests and suggesting a better time. Yes, there will be emergencies that you’ll need to make time for, but those should be the exception and not the rule.

You might be thinking, this sounds great, but does that mean I’m ignoring my colleagues all day? When do I get to communicate with them? The answer is during office hours, and that’s what I’ll be discussing in part 3 of this series.

Footnotes

  1. The Complete Guide to Time Blocking

  2. Momentum Browser Extension

  3. Visual Studio Code User Interface - Zen Mode

Managing Your Interrupt Rate as a Tech Lead E-book Cover

Take control of your calendar to get more done! The popular blog post series plus frequently asked questions all in one convenient PDF.

Download the Free E-book!

Managing Your Interrupt Rate as a Tech Lead is a free download that arrives in minutes.