Focus time for developers and everybody else
First published at Tuesday, 24 January 2023
Focus time for developers and everybody else
This is a blog article out of a series where I reflect on what I learned during funding, growing (, and selling) SaaS product companies. While I write those things down for myself, since I believe self-reflection is a crucial learning tool, I also want to share my thoughts with anybody who might be interested. I'm looking forward to your comments on any of these topics. An overview of all related topics can be found below. I have a bunch of these blog posts lined up, so you also might want to follow me if you like this one.
Everybody knows that focus time is important especially for individual contributor levels. But also in a management role I value focus time a lot for strategic work, research, analysis, and sometimes even just to be able to process all input and reflect on what the current state and bigger picture are.
On the other hand the more people work together the more important constant communication and alignment get. As you know there is no over-communication and this can result in a lot of meetings which leaves almost no time for anybody to focus on their work. Next to this also coordinating meetings can be a massive waste of time.
In a remote environment there is another challenge: You won't notice that somebody is blocked, since you'll not see them staring blankly at their screen or running around the office hunting for solutions. So everybody must be able to find somebody who can unblock them, while should also not feel compelled to look at Slack all the time while in focus mode.
To ensure sufficient focus time for everyone we mainly used two strategies in the tech department:
Have dedicated meeting slots in everyone's calendars and use them for all/most meetings
Have senior/principal developers available to unblock people quickly
While there are probably different solutions to this and also different tools which can be used for the ideas I suggest here, I will even reference the tools which worked for us.
We happily use https://remeet.com. The main idea here is that everybody subscribes to a limited number of slots (we usually use 2 1-hour-slots per working day), which will be blocked in your calendar. Using Remeet you can then schedule meetings specifying the topic, attendees, duration, preparation notes, and priority. Based on everybody's availability Remeet will then schedule meetings during those blocked meeting slots.
What might be confusing at first is that sometimes new meetings pop up very spontaneously. What is awesome on the other hand is that this concept motivates people to create topic meetings, usually with the minimal amount of people to tackle a topic. Remeet by default records meetings and motivates notes taking and can post both into Slack.
For us this means that almost all internal meetings will take place in Remeet – especially for individual contributors. And by this there are usually only two hours of meeting time per day, and they are always at the same time, so you can plan your day accordingly and you'll know when you have to leave your focus zone. Remeet slots can, of course, also be declined and it knows about other meetings in your calendar to not double-book you.
If meeting coordination or focus time is an issue for you, look into it.
Beeing able to unblock people almost immediately while also providing sufficient focus time seems almost impossible to solve at first. For us the following works quite well:
Clearly define expected response times
Mail: One working day
Slack notification: 4 hours (during working hours)
Use your phone if you need immediate action
Offer a space to meet and host "open office hours"
By using the clearly defined response times and offering the phone as a potential escalation method people understand that it is OK to close Slack (or not look at it) for 4 hours. They're able to ignore the constant flow of incoming notifications. Besides platform incidents (which also happen seldom) the phone has been used maybe once or twice per year, so even by offering this as a potential escalation mechanism, the other communication paths are usually sufficient.
For open office hours and also to get a natural feeling for each others availability we use https://gather.town. The office metaphor together with vicinity- or room-based video meetings works excellently to communicate your availability:
At a desk: Focus time, but feel free to drop by if needed
At the kitchen table or deck: Come by for support or chatting
At a meeting room with others: In an open (often spontaneous) meeting or pairing session
gather.town being free for up until 25 people makes it a great tool for departments. You could even implement jump points between departmental offices or something similar. What we try to make sure that at least once a week (but usually almost every morning) at least one senior person, or even the principles, make some time to be there for spontaneous questions. By continuously setting an example other people also join and make themselves available.