This post is the third in our ongoing series about remote work and engineering. Check out the previous posts, Tips for engineering managers learning to lead remotely, and Tips for remote pair programming.
Almost a year into the pandemic, it’s still unclear when it will be safe to head back into the office. While many companies have resolved the initial growing pains of transitioning from a colocated to an all-remote workplace, we want to help your teams go from surviving to thriving by sharing some strategies to improve remote work collaboration.
Remote working and asynchronous communication
Traditional methods of communication and project management might work in a colocated office setting, but don’t necessarily translate to a remote environment. In a video on GitLab Unfiltered (our company YouTube channel where team members share their work with the public), Austin Regnery, product designer on Manage: Compliance at GitLab, and Nick Post, senior product designer on Manage: Optimize at GitLab, talk about the growing pains of transitioning from working synchronously to asynchronously.
"Emails and meetings... [it's all] email, email, email, meeting, PowerPoint, that’s the modus operandi for how companies collaborated," says Nick. "And it’s something that companies and teams have really held on to."
Asynchronous communication challenges the traditional modes of workplace communication, but at GitLab, we’ve discovered that this more modern method of collaboration is more efficient and effective in delivering business value to our customers and helping our team members achieve a work-life balance.
Watch the video below to learn how these designers work asynchronously.
Remote work collaboration: be sensitive to timezones
When your team is working in the same office, the workday begins and ends at roughly the same time for everyone. At GitLab, we work asynchronously and our team is globally distributed, which means work is completed on a 24-hour clock instead of just eight hours.
One of the biggest challenges with working asynchronously is ensuring that all team members feel a sense of belonging across timezones.
"Timezones matter," says Nuritzi Sanchez, senior open source program manager at GitLab. "Make sure you're not leaving out team members in one locale. Have meetings at different times if needed (e.g., once a week in a NORAM-friendly time, next week in APAC-friendly time, etc)."
Making the switch from synchronous to asynchronous work isn’t easy but really pays off. Learn more about how we work asynchronously at GitLab.
Remote work collaboration: maximize synchronous time
There are times when synchronous communication is the best option, such as during weekly team meetings and one-on-ones. Nuritzi explains that there are a few teams at GitLab that have adopted a particular structure to make the most out of every team meeting.
- Always have an agenda: Every meeting needs an agenda, usually in Google Docs, that allows team members to add discussion items and notes before and during the meeting.
- Notes are key: "In OSS communities, meeting notes or IRC chats are something that are usually posted publicly later so everyone who needs to can catch up," says Nuritiz.
- Start with check-ins: Team members voluntarily share whether they're at a green/yellow/red level in their work life and personal life. Managers are always advised to participate in these check-ins to set a collaborative tone.
- FYIs: Not everything on the agenda will merit discussion. Add FYIs for items that should be shared with the team but don't require extensive dialogue.
- Discussion topics: Some agenda items will need to be discussed with the team, add these in the discussion items section of the agenda.
- Meetings are optional: Not every team member will be able to attend every meeting, and that's OK. Team members that aren't present can still participate by adding discussion items, FYIs, and notes to the agenda that can be shared by their fellow team members.
- Try to make it fun: We start and end every Inbound Marketing weekly recap meeting with music to liven up Thursdays for our globally distributed team.
How to make remote onboarding feel welcoming
Onboarding is just one example of a workplace process that has been impacted by the pandemic. This makes having empathy for the new hire even more important than usual. Empathetic onboarding means framing the process from the perspective of the new hire, says Alexandra Sunderland, engineering manager at Fellow.
Alexandra iterated on her onboarding process over a number of years and has since developed a six-step framework that she presented at our virtual user conference, GitLab Commit, last year. The six steps are: (1) Focus on relationships, (2) write knowledge down, (3) create an FAQ, (4) set goals and milestones, (5) set up their physical space, (6) ask for feedback.
Watch the video below to learn how Fellow onboards engineers remotely.
Beyond making sure new team members are set up with a functional workspace, the secret to successful onboarding is assuming that the team member has the skills and knowledge necessary to do their job, but still needs to learn the context in which to do it, according to Alexandra.
GitLab has a unique onboarding process, in that new hires are given a detailed checklist in an issue and are assigned an onboarding buddy. This onboarding process is a crash course in working as a manager of one in an asynchronous workplace.
How to collaborate on releases remotely
Mattermost's Aaron Rothschild, senior product manager, and Paul Rothrock, customer engineer, describe how their dashboard that provides visibility into the DevOps process can be used with tools such as Jira, Jenkins, and GitLab, to release software remotely. Watch the presentation from our user conference to see an example of how the team collaborates to deliver a release.
How to stay social when you’re working alone
Communication technologies, specifically Slack, can help to cultivate a sense of community and belonging within our teams. We publicly recognize team members that contributed to success in a #team-member-updates channel on Slack, where we announce bonuses and promotions for team members across the company. We also show appreciation for our collaborators in the #thanks channel.
The (virtual) water cooler
The pandemic has us all practicing social distancing, but at GitLab, we worked hard to try and replicate the social aspect of the office through a few different informal communication programs, such as our coffee chats, and Slack channels devoted to different extracurriculars (I’m fond of the #dog and #baking channels, personally). The Donut bot on Slack is a neat social feature. The bot will randomly introduce you to a team member that you may not otherwise have collaborated with in your daily work, and invites the two team members to set up a coffee chat.
Up-level your remote work skills
GitLab launched a free program on Coursera to help managers with the transition of managing a team remotely. The course is free to join and is packed with valuable information to help companies adapt to working remotely.