Even before the pandemic, many large software companies had teams with members distributed across time zones, whether that was solely within the U.S. or even abroad, which meant a lot of remote collaboration. Contending with different time zones, while trying to collaborate to complete ambitious projects, can be pretty tough. I know this from personal experience and I'm sure many other software engineers have felt the frustration before š¤£. However, I have some tips and tricks that I hope will help you to see that after understanding how to work efficiently across time zones, you can actually use them to your teamās advantage too!
1. Writeā¦a lot
Because of the distributed nature of most software teams, itās not easy to just communicate with team members real time whenever you need to complete a task. More often than not, you will be communicating asynchronously, which means that you need to hone your writing skills (Psst. I wrote a previous post on types of written communication, where I go over use of email, chatting, and docs š). For whichever communication method you and your team prefers, these are some recommendations for writing to your distributed coworkers:
Explain context as fully as possible. Remember that every back and forth can take significant time (maybe an entire day), so make sure to include as much info as you can so the other side can understand your perspective.
Make a clear ask (or state early on if there is no ask, because itās just an FYI or update). Few things are more annoying than waking up to find thereās a 5 paragraph long message sent by a coworker on the other side of the world, reading it, and then being confused on what youāre even supposed to do or what the coworker wants you to do. Donāt do that to your coworker either!
2. Check the time
A tip I would recommend to any distributed team is to create a quick way to check the time in any time zone your team operates in. There are generally some time ranges throughout the day that you and your distributed team members share working hours.
Note: What I said in the previous sentence is not true between US Pacific and many Western European countries, sadly. That is because, depending on the country, your European counterparts could be 8-10 hours ahead, while the work day itself is only 8 hours long. So you may have to flex in the morning by coming in a little earlier if there is a meeting, so you can meet your European team mates before the end of their work day. And this is why it is doubly important to embrace async, written communication that provides enough context (referring to my first tip š).
During those shared working hours, it would be fine to use chat services, but for many other ranges of working hours for you, your coworkers elsewhere could be asleep. Or they could be having breakfast, or lunch, or even dinner (if time zone delta is large)! So you want to make sure you respect that time.
What I do to make sure Iām messaging during working hours for my team mates is that I add a World Clock to my calendar. Some instructions can be found at this link for Google Calendar.
Now, at a quick glance, Iād know what the time is around the world for my various coworkers. And, Google Calendar will also show respective time zone info for any events I create or modify.
3. Augment each otherās workflow
Say part of your team is in the U.S., but you have another part of the team in another country, sufficiently far enough away that you only have a few shared working hours in the day. A practice that Iāve seen work very well is where one side of the team works on a problem for their ābestā working hours (the hours of highest productivity) and if they get stuck or need approval on next steps, they hand it over to the other part of the team on the other side of the world, and vice versa. In this way, you make progress on multiple objectives, while optimizing for the hours of highest productivity in both parts of the team. For example, if you need to deploy some code to prod, but not during your working hours because you donāt want a potential issue for one customer base, maybe your coworkers in a different time zone could deploy and monitor rollout for you during your non-working hours.
Figure out the ways that you and your team can use each other and time zones to your advantage and what youāll find is that your team has a superpower in the form of 24/7 execution, without burning out team members (and that is because you are leveraging time zones to your advantage!)
4. Be curious
This last tip is not an immediately obvious one for productivity, but Iāve found in 100% of the cases where Iāve used it, I could foster team bonding, which led to higher productivity, cohesion, and stellar execution. The tip is: be curious and learn about each otherās cultures.
A team that is not distributed at all likely already has a diverse melting pot of perspectives and cultures due to the diversity of its team members. But imagine a distributed team with parts all over the world! By asking your coworkers about their daily lives, youāre getting a sense of what itās like to live somewhere else! Youāll learn about their holidays, mythologies, history, even the foods they eat. And in addition, they will learn from you too about how you live your life. This information exchange will foster bonding between team members and serve to strengthen the overall team. From this shared understanding of the human condition, you and your team will actually learn to execute faster together, all because you learned about each otherās lives.
Summary
The tips we went over were:
Writeā¦a lot: Focus on async, written communication with enough context
Check the time: Know what time it is for your team mates and respect their working hours.
Augment each otherās workflow: Learn how to leverage time zones to your advantage.
Be curious: Learn about the respective cultures of your team mates to promote bonding and cohesion.
I hope the tips above were helpful to you and youāre able to apply them to your own team! If you have any suggestions for working across time zones, feel free to comment!