In the 2 years of leading team, I have experienced constant interruption. Most leads peer I talk to feel the same. We all know interruption is downright unproductive. Immediately acting on most interruption does not produce value. Despite knowing it, I found myself constantly failing to resist the temptation and acted on most interruption as they occur. At peak times, I worked long hours, felt exhausted and lost sense of long term orientation. Over the recent past half year, I devised some techniques to help me and as you will see, I am in better control but the problem is unsolved.
Unspoken role of Engineering Manager
Engineering Manager is a catch all role. If the team has no product, you are the product. If there is no designer, you act as one or find one. If the team lacks something, Engineering Manager is the escape-goat. This doesn't help to the already action packed role. I certainly put on product hat at times, I am not as good at design so I don't pretend that part.
Engineering Manager has 2 teams; the team he manages and the team he belongs to (peer EM's). Engineer has 1.
Engineering Manager has the team's project accountability. A project can have multiple stakeholder. I lead a team responsible for the home feed of Zalando App. The feed is personalized, dynamic (country, season, weather, etc) and backend driven so there is no way to know at any given point what will be on the 3rd position on German app home. OR how many items are there in a feed? Its all real time dynamic. Each item is a visually distinctive block serving specific business value backed by stakeholder team, example: campaings, last seen, recommendations. Your scale might vary based on your product. If you have 1 known stakeholder, its awesome.
With these 3 base lines; its no wonder EMs are interrupted. Multiple stakeholder, team and peers wanting to get a share of my fixed work time. This is even compounded by the fact we are working from home (it's not remote working, it's surviving and working) where over communicating is sometimes necessary.
I didn't have a special routine to handle context switch in the beginning. Everything was placed in the ever growing Stack and that stack had tiny 3-5 minutes work intertwined with long tasks? The stack never finished; not by the end of the typical day. After a year into leading, It got to me that I had to find a technique.
My context switching routine is simple to begin. Its day based.
- Notification are evil: Don't allow apps to send notification. These days even web apps can send notification. I feel proud to not be disturbed by buzzing phone and wizzing ring bells.
- Don't use standalone Chat application. I used to have Slack, Discord & Google Chat as standalone app on my work device (Mac, phone, watch). I DELETED THEM. 👍 (Standalone apps are source of constant buzzing notification)
- When you need to chat, open a web tab. When done, close the tab. No on dies if I don't answer a chat for few hours. My policy is I check chat atleast once within 3 hours block.
- Don't use standalone email app. The same reason of notification. Use web tab when you want to process emails, close the tab when done.
- Before getting to bed, I check my work calendar once for tomorrow. (This helps me plan to wake up early in case someone hijacked my early precious hours for meeting)
- (+) You a browser plugin which can isolate your workspace. I got fifefox plugin which has Work and Personal mode.
- Early morning when I start work; I plan 3 things I want to do today. Another way to put it is: What are the 3 things if I do today, will make me feel happy? (Sometimes I plan 1 but at least having one thing to do for me is massively helpful)
- Examples: (1) Read this SwiftUI blog. (2) Propose event tracking document (3) Call mom (this is true, I need to plan to call my parents. I feel awesome after I do so.)
- After 3 things: I check the calendar for the day. See where the 3 things would fit. Usually I try to do at least 2 of them before starting the team standup.
- The work day starts. I navigate between meetings on leads round, team standup, team level support and sometimes code review.
- At 12PM I have a calendar block of 30 mins to clear my email inbox. I process the inbox from oldest to newest. I actively open every item, if it can be done within 5 mins (95% of the mails are), I do it. Archive the email and forget it ever existed. Its okay if you cant finish all the latest ones (5, 10). Categorizing/Labelling email helps me remove noise. For example I only process important ones, github notification or jira notifications are grouped into FYI folder.
- After the emails, I check my chat, reply to all the requests. Spend 30 mins being interrupted and to-fro on the chat.
- Lunch break. I log off the computer and do something-else. It's very challenging to find something to do beyond staring at the screen especially during the lockdown with Covid19. If its sunny outside I go out for a small walk.
- I do have my calendar open most of the times. It is not as intrusive as you might think. Again, its a web app, no notification.
- No chat, no email until 5PM. I have another 30 mins of GettingThingsDone time to clear backlogged emails. Again, act and archive. I usually don't have more than few action item emails at this time. If I get some time back, great.
- At 5:30PM I check my chat messages for any backlogged interruption points. Try to check with team if they need help on review.
What isn't true from above is no chat besides specified hours? Why? Sometimes I need to interrupt my team mates; code review, urgent clarification on task, and few more of my excuse. Anyways what I found helpful is resisting the temptation to open up direct message coming from outside directs for at least some time. Second, pinning the chat group absolutely needed at top and never looking at other rooms unless there is nothing else to do.
Meetings are half of where I spend my Engineering Manager time, I have found couple of things which can be helpful.
- At first, I would have chat open and be chatting (resolution, clarification) on chat during a long meeting where I was not involved much. This is bad. In both ways; I get nothing out of the meeting , neither I get things done. Split focus should be avoided. While operating at such mode, I found some participants on the same meeting would send chat message as side channel, mostly they shifted my focus from the meeting. Its better not to multitask. Now when I'm in meeting I explicitly close chat unless I,m doing 24/7.
- Second, If I go to a meeting, I make sure I focus fully on it. I observed that I took interest in the topics which might not be relevant directly to me at the moment but at most times, either I learnt about peers project in detail, business strategy or was actively participating to increase my knowledge somehow.
- Being present and active is not possible all the times; when that happens I find way to get out of the meeting. Sometimes I socialize. Need to find better way here.
- Being a note-taker, moderator or active participant allows you to build knowledge and awareness. And you can't multitask while taking notes.
- Meetings are usually not intended to get things done there. I don't derieve sense of satisfaction from the number of meetings I have. I get exhusted after back to back meetings.
Is it working?
Kind of. On days when I forget to follow the plan, I get exhausted, work long hours. Upon reflection, yes I helped someone and it actually was great but at the cost of shifting my own priority for the sake of urgent interruption. I love to help people and therefore If I don't have a plan and stick to it, I am swamped by things other people want me to do.
When I follow, like today, I get this article time for 30 mins after all my work. And I feel great. What I have explicitly left out is "where do I note my daily log and tasks?". I will probably cover in next chapter because I have long love hate story with Task Managing tools.
That's it for now. Remember; when I get interrupted, Im working on someone's priority. When I control it, I put my priority first. Most interruptions are spikes and are already solved when you visit them later.