"How to communicate on a remote team: tools and templates for engineers"
Below is an article originally written by Hannah Henderson, Engineering Manager at PowerToFly Partner CircleCI, and published on March 31, 2020. Go to CircleCI's page on PowerToFly to see their open positions and learn more.
Communication is hard, communication on a remote team is harder. Fortunately, it can be as effective on a distributed team as it is on a colocated one, if not more so. This post delves into ways our team has learned to counter the two biggest challenges of remote communication: understanding tone and upholding a collaboration framework.
Although this post is written from my point of view of as an Engineering Manager, the practices described and templates linked are valuable for anyone on a remote team: they are the result of collaboration, ideas, and retrospective takeaways from people throughout our Engineering organization.
Getting to know a distributed team
Hyper-communication goes a long way towards ensuring that folks understand their peers' intent. This is especially true early in a groups' formation when trust, the hallmark of an effective team, is first getting built. To lay that foundation of mutual understanding, spend time getting to know the individuals on your team, and helping them get to know each other.
Do this by:
- Conducting asynchronous introductions to collect information and set expectations.
- Implementing these agreed-upon standards in synchronous sessions.
- Adjusting guidelines as-necessary based on input from the team.
Keep in mind that on a highly-distributed team, it can be difficult to find overlapping working hours on everyone's calendar. This overlap is synchronous time. Synchronous time is valuable, and should be treated as such. Know what you're hoping to achieve before entering synchronous interactions. Use your asynchronous time for focused individual work and to prepare for synchronous interactions.
When your team is forming, use asynchronous time to collect information, set expectations, and allow folks to define their own boundaries.
- Make sure you're familiar with the company's existing communication expectations. Stomping all over folks' toes is not a great way to build relationships. If you're new to a team, consider sending out a short message explaining that you'll be asking lots of questions while learning the ropes. If you use Slack, update your status to say something similar.
- Send out a detailed questionnaire to learn what the team needs (or, at the very least, what the members of the team think they need). If you're a manager stepping into a new team, I recommend sending out some variation of this form to solicit as much input as possible and to suss out the lay of the land.
- Define a team manifesto. Write this as soon as is reasonably possible. Broadly, this document should roll-up your understanding of what processes exist in order to codify healthy practices and value-signal. In the past, I've boiled this down to two sections:
- People (please make sure you're familiar with everyone's write-up) - I expect teammates to get to know each other as people with rich lives, curious interests, and priorities outside of work. I signal that I really care about this bit by populating my own profile first, and listing everyone's name as its own section.
- Team Process (you can skim this, it's good as a reference) - The frameworks defined in our team entente are important, and I sincerely hope we follow them. That said, process for the sake of process doesn't add value; I'm happy when we achieve our guidelines 80 percent of the time.
- Prepare for synchronous time. The logistics of organizing face-time on a distributed team can be difficult (especially during the month plus of global daylight savings misalignment). Ask folks to fill out a Team Schedule and remind them to populate their personal profile in the team manifesto.
Synchronous relationship building
Synchronous time is critical to the storming, norming, and performing phases of team development. Use this time to get to know your direct reports and to create space for folks on the team to get to know each other.
Note that asynchronous communication doesn't go away, it, along with synchronous communication, is further-established in your Communication Framework (below).
- Maximize your one-on-ones. Get to know your reports and drive alignment with this Getting to Know Each Other exercise. Consider grabbing some questions from this extensive set to round out subsequent 1:1s.
- Build in time for water cooler chit chat. Remote teams don't cross paths at lunch or in the hallway. Create space and synchronous time to connect. This may mean padding meetings with time for banter; it definitely means creating chat groups for shared interests (which are also async-friendly). We have #random, #wordnerds, #keyboards, #babies, and #bread, to name a few.
- Set up scheduled pairing. Randomly assign a pairing partner, and rotate partners once a week until everyone has paired with everyone else at least once. At the beginning of each matchup, the members of each pair should set up (best effort) three hour pairing blocks every day for the week. Sometimes, "best effort" only equates to an hour of pairing. Particularly on teams with a wide timezone spread, actually scheduling sessions ensures that folks are able to connect during their working hours.
For us, after a few rotations through the whole team, folks were comfortable reaching out and ad-hoc pairing. During one of our retrospective meetings, we decided to stop scheduled pairing.
- Make a team channel and share status updates. (This is also async-friendly.) We have a private team channel where folks post all manner of status updates: their good mornings when they hop online, notes about what they're picking up, lunch breaks, hot takes and random observations (debates about the plural form of "octopus" and whether or not an Xbox qualifies as an essential shelter-in-place item spring to mind).
We use JIRA and Namely, and have integrated Kanban board updates with the channel, as well as weekly updates from Namely about folks' PTO and birthdays.
Setting up a communication framework
On a remote team, it is especially easy for information to fall between the cracks. It is important to set up process that acts as a communication forcing function. There's no need to run around after folks trying to extract information and context, let your process be the heavy. Our team takes an Agile-inspired approach with a recurring two-week cycle of meetings.
Pro-tip: use the availability collected during asynchronous introductions to pick meeting times.
Meetings for knowledge transfer
Scrum-flavored methodologies are popular because they tend to work. That said, on a remote team the focus of each of these classic meetings is a bit different: they're all much more geared towards teasing out information disconnects and misalignment in advance.
Our standup is at the end of the day for our European teammates and in the morning for our West Coasters. These engineers won't overlap again for 20+ hours.
- Standup (30 minutes, daily). This daily check-in is our only guaranteed synchronous time on any given day. Instead of a 5-15 minute session, we block off 30 minutes so there's time to properly exchange context and also to chat. We review a Kanban board, and, importantly, the standup leader shares their screen and takes update notes on every card as an alignment forcing function. These notes often come in handy during cross-team collaboration and even during incidents (rather like a well-written git log that actually includes the "why".) Schedule standup back-to-back with other regular team meetings so that you can roll straight from one into another, and get out early if time allows.
- Planning (1 hour, weekly). We groom our backlog by Friday each week, and set up asynchronous points poker that everyone is expected to fill out by our Tuesday planning meeting. This allows us to spend the Planning meeting using estimates as indicators in deciding what treatment is appropriate for each card. Use this process to tease out context. Don't always ask the junior person to explain why they think something will be hard. DO ask a senior engineer that has given a high estimate to share what they know about the dragons in that space. Your goal is to expose information, not people. By the end of Planning, the cards in our Next Up column are ordered by priority and, we hope, are generally correct, and shovel-ready.
- Retrospective (1 hour, fortnightly). An excellent time to check in on team processes and to decide how they can be changed to better suit the needs of the team. We have a Slackbot reminder asking folks to add topics to the meeting agenda. As team-appropriate concerns are raised in 1:1s, I will often seed the retrospective document with them. These conversations have led to larger discussions on topics like when and how to give code review (at what point is asking for a complete overhaul OK? Not OK? How do we push back without escalating disagreement?) as well as pairing preferences and retrospectives of on-call escalations. As much as possible, the questions, concerns, and thoughts of the folks on the team should drive the content of this meeting.
- Big Picture (1 hour, fortnightly). This meeting reserves space for Product to keep Engineering in the loop about the grander vision of what we're doing and why. It should provide broader directional context for folks on the team so that:
- They understand the value of their work.
- They're better-equipped to make decisions that roll up into the company's goals.
For each of the above meetings, there's a more detailed breakdown in this Two weeks in the life of Foo Team meetings document, which is worth a skim. It includes recommendations on what to include in invite bodies (especially an agenda and a link to meeting notes stored in a single folder for improved discoverability), many examples of specific questions to ask, and several templates.
Calendar tips and tricks (because time zones are hard)
Configure your calendar to do some heavy lifting for you. I use Google Calendar, and have gotten tons of mileage from:
- Adding my working hours. This feature notifies folks that when they send invitations that fall outside of my office hours.
- Turning on world clock. Mine is configured to show the time in California, Japan, and Germany. When I click on a window in my calendar, the world clock displays local time for everyone at that window.
- Displaying secondary time zones. Mine are configured to show the time in Ireland and in California. My current team is spread across these time zones.
- Adding my Pagerduty rotation to my calendar. I do not want to be notified by Pagerduty unless I'm being paged. I live by my calendar, so this helps me see when I am on-call without the extra notifications.
- Adding the Zoom Scheduler to my calendar. Because 99.9% of my meetings are virtual, they all require a meeting room link. This annoying-to-configure extension puts a giant, handy "Make it a Zoom meeting" button on my draft calendar invites.
Effective remote communication requires intentionality. By adopting the practices in this guide, picking and choosing what works for your team, it's possible to establish the foundation of trust and communication framework that enable remote teams to flourish. The resulting communication will rival that of a collocated team, and will be inherently better for context-sharing and information discoverability.
It's been six years since Sarah Cooper graced us with her 10 Tricks to Appear Smart in Meetings. But how on earth can we appear smart in our new virtual world, in which for many of us, going to work is just sitting in one long series of probably-not-necessary Zoom meetings?
1. Dial in.<p>Dialing in rather than joining via the link instantly boosts your credibility. Who calls into Zoom meetings? People who are still busy and important enough to be leaving their houses! But you needn't actually be one of those people, or even more than a foot away from your computer to pull off this maneuver. (Remember, this article is called *seeming* smart, not being smart.)</p><p><strong></strong><em>Bonus: </em>If it's a large meeting at which attendance will be taken, the person running the meeting will inevitably ask, "Who's calling in from 443-322-2121?" That's when you raise your metaphorical hand, jump off mute, and say "[Your name] here. Really looking forward to hearing your perspective on [meeting topic]." And voila! You've stolen the meeting spotlight.</p>
2. Don't come on camera—ever.<img lazy-loadable="true" src="https://assets.rebelmouse.io/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpbWFnZSI6Imh0dHBzOi8vYXNzZXRzLnJibC5tcy8yMzQ0ODU5OS9vcmlnaW4ucG5nIiwiZXhwaXJlc19hdCI6MTYzNjMwNjI3OX0.4fLyq2CvkZAJ7n_03esZepY37mOdyGdDdTEUYt5XEU0/img.png?width=980" id="bc7e6" class="rm-shortcode" data-rm-shortcode-id="fbbf21cc5d8c863b30654ae6993b04f5" data-rm-shortcode-name="rebelmouse-image" /><p><br></p><p>Much like the "dial in," this technique works because it makes you appear aloof. If <em>The Crown has </em>taught me anything, it's that the key to maintaining a sense of mystique and prestige is to keep people at arm's length—and if you absolutely <em>must</em> touch them, wear a glove.</p>
3. Only communicate via chat.<p>Once you've mastered the art of staying off camera, you can level up by communicating exclusively via the chat box. Don't come off mute at all, even if the speaker asks your opinion. You are the elusive chatter and you will not be forced into actually participating in said meeting.</p>
4. Ask to share your screen.<p>Being aloof is great, but it's all about balance. Sprinkling in some active participation will really shock and impress your colleagues if you catch them off guard, so save this technique for when you've strategically <em>not </em>participated in a string of meetings.</p><p>Spend a few minutes prior to the meeting prepping a few inspirational slides with words like "synergy," "optimization," and "redefining 'culture'", or spend a few minutes poking around in Google Analytics. </p><p>Then wait for the opportune moment to say, "Can I just share my screen for a moment? I have some really interesting data I'd like to share...." and BAM — brilliance established.</p>
5. Show off your Zoom-saviness.<p>Try saying, "You know you can mute people, right?" to the host when they beg whoever's got the lawn mower and crying baby in the background to put themselves on mute for the nth time.<br></p>
6. Create an alter ego.<p>This tactic requires commitment, but the pay off is certainly worth it. Join the Zoom meeting from your normal account + name, and then join it again on a second device from an alias. Have your alter-ego ask some probing or stat-based questions in the chat and have the answers ready ahead of time. It should work something like this:</p><p style="margin-left: 20px;"><strong>Your alter ego Charlene</strong><strong>:</strong> "Does anyone know what percentage conversion rates increased by in Q2?"</p><p style="margin-left: 20px;"><strong>Real you</strong>: *doesn't miss a beat* "It looks like Charlene has a question in the chat. That would be 36%."</p><div>Never mind that no one on your team knows who Charlene is or why she's at this meeting, they'll be too blown away by your brilliance to notice. (Bonus points if you use this strategy in conjunction with techniques 1, 2, 3 or 4!)</div>
7. Place an obscure object in your background that exudes intelligence.<img lazy-loadable="true" src="https://assets.rebelmouse.io/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpbWFnZSI6Imh0dHBzOi8vYXNzZXRzLnJibC5tcy8yMzQ0ODYxOC9vcmlnaW4ucG5nIiwiZXhwaXJlc19hdCI6MTYwNzk5Njg2Mn0.V9_-3Ij3v_QndseqlrXRt5Nn39EJ97-itjls5zzYPf8/img.png?width=980" id="a369d" class="rm-shortcode" data-rm-shortcode-id="604a2f04b53c2e3bc801bfa5256f367b" data-rm-shortcode-name="rebelmouse-image" /><p><br></p><p>We're talking a telescope, or perhaps a hardcover copy of <em>War & Peace </em>(no one need know that its only purpose in your life is as a makeshift yoga block).</p><p>If you don't have any suitable props at your disposal, do not despair: download some screenshots of Sheldon's apartment from <em>Big Bang Theory </em>or the chalkboard in <em>Good Will Hunting </em>and use those as a virtual background.</p>
8. Ask "Is this really the best course of action given the current climate?"<p>Economic collapse, COVID, racism… No need to specify whether you're referring to one or all of the above; just sit back and watch your boss squirm amidst the ambiguity.</p><p>This strategy pairs very well with techniques 2 and 3. You can prep additional vague-but-probing questions ahead of time and pepper them into the chat box throughout the meeting:</p><ul><li>How will this scale?</li><li>Do we really have the bandwidth for this right now?</li><li>What's the value-add here?</li></ul>
9. Remind everyone that you have a paid Zoom account.<p>"Oh, it looks like we're getting the 40-minute warning. I have a paid account, do you want to switch to my room?" It's helpful, with just a touch of condescension. Everyone knows condescending people are smart. And everyone knows that people with paid Zoom accounts are super important.</p>
10. Tell everyone you have a hard stop.<p>When pressed for details, share your philosophy on "work-from-home" balance and how committed you are to getting up once an hour to walk to your refrigerator.</p>
11. Ask the screensharer/host to "pull something up" for everyone.<p>Ask the presenter to navigate to a screen that only you know how to navigate well. Laugh maniacally while they suffer from crippling performance anxiety. Let them struggle for as long as is tolerable before saying, "Oh you know what? I can just share my screen if you want. That would probably be easier." BAM you're the hero. Don't worry, no one will even pause to consider that you could have proposed this course of action from the start.</p>
12. Say Zoom fatigue as many times as possible.<p>If you're too tired to employ any of the other strategies, just say "I know everyone is experiencing a lot of Zoom fatigue, so we can keep this meeting short." Then hang up as quickly as possible. Meeting averted! </p><p>After all, there's no better way to demonstrate your intelligence in a virtual meeting than to demonstrate why it wasn't really necessary in the first place. </p>
I sat in front of my CEO to discuss several complaints of racism. I was new to my role as a Culture Director. I was nervous about his reaction to the complaints. But I also knew he strongly supported developing this new department; I knew that he would take the right steps. So I was shocked when I heard him say sheepishly, "I don't know, Noelle...all of this stuff about racism. I just don't see it. I don't even see color. I'm pretty much color blind."
A five-step framework for addressing systematic racism at work
The world has changed in the past few weeks.
We're watching corporations and organizations across the world come out in support of Black lives in droves. Many of those organizations are doing so for the first time in their history.
Living in the midst of a pandemic has brought about a whole host of changes and challenges for workplaces and employees. One of the most notable? Virtual interviewing. With most on-site interviews on hold for the foreseeable future, it's important that you be prepared to make a great first impression—virtually.
Women Founders & CEOs Share Their Tips
If you're anxious about looking for a new job right now, you're not alone. We've talked before about how you can land a job in the midst of COVID-19, but today we wanted to share advice from some of the experts who spoke at our inaugural Diversity Reboot Summit.