It’s been a little more than a year since BackerKit went surprise-fully-remote due to the pandemic. In that time, the Product team has learned a lot about taking care of ourselves, each other, and our customers while working remotely. We wanted to share some of the things that have made remote life better for us and a few practices you may want to try with your team.
Some context for you
We are spread across East Coast and West Coast time, but keep West Coast hours, so some of these things will not work if your team is distributed globally and mostly works asynchronously. (Prior to the pandemic, we were all colocated in the Bay Area except for one dev in beautiful Montclair, New Jersey.)
BackerKit had also already been doing remote pairing once a week on our team’s official Work From Home day, so we’d already settled on Tuple for screen sharing and got the team outfitted with comfy gaming headset/mic combos.
One of the best things we did when the shelter-in-place started was explicitly set a goal of doing six experiments to see how we could improve our experience pairing full-time remotely. We love to iterate, and this was no exception. Two of our early wins came from this mandate: the second screen and daily diff.
Every blog post about remote pairing will tell you to have the person’s face visible. Most of them will tell you to do it on a second screen. I was initially very skeptical of having video on while pairing. I was worried that my Zoom fatigue would be even worse from having someone stare at my face literally all day. But it turns out that when you’re pairing in person, you primarily focus on the code on the screen while occasionally glancing at your pair’s face. Setting up a second screen with your pair’s face means you can do the same thing, from the safety of your own homes! I am now 100% Team Second Screen For Video, and whenever I don’t have it (uncharged iPad, etc.), I miss those subtle cues that you get from seeing someone’s expressions.
Everyone got a refurbished iPad for their second screen, but once I got an external monitor, I started using the big monitor for sharing code and my laptop screen for the hangout. We use Tuple for screen sharing and audio, and use a muted Google Hangout for video.
After our cross-functional standup ends, the devs stay on and do a live review of the previous day’s commits on GitHub. Some teams do Daily Diff silently, reading through the code themselves, but we’ve found it most effective for our team to have a rotating facilitator share their screen and talk through the code in each commit. The devs who did the work can add any color that they think would be useful, and light debate sometimes ensues about the trade-offs of a given approach. If something merits more than a quick back-and-forth, we move it to our weekly dev team meeting to discuss in more depth. As a pairing shop, most of our programming happens out loud. When we were co-located, we got a lot out of the background chatter of the other pairs’ thought processes. Now that we’re remote, that information is gone, and daily diff helps fill its role pretty well.
Experimentation via goals
When we’re figuring out what our quarterly goals should be, we often are able to identify an area that we’d like to improve, but don’t necessarily know specifically what we want to change. So we’ve embraced the ambiguity and, with much success, have had goals to improve something. We’re currently trying out new ways to incorporate explicit technical learning into our process (so far: mob refactoring sessions, dev hack days, discussing conference talks). Having the goal of simply trying and evaluating a number of experiments allows us to play with new ideas without feeling tied to them for a whole quarter.
Pairing, even for short durations
At BackerKit, we pair nearly all the time and rotate pairs every day. But meetings are still part of our reality, and changes in responsibility and environment (hello children home all day) have also been a reality because of the pandemic. Both of which can result in some days feeling pretty disjointed. Challenging our black and white thinking about whether to start pairing with someone — even just for an hour — was really useful. Although we still sometimes solo for an hour here and there, recognizing that there’s still plenty of value in pairing with someone for an hour or half an hour helped us feel connected and productive.
Embracing hand signals
Tuple, our screen-sharing product of choice, didn’t initially handle two people calling each other simultaneously very elegantly. It was confusing. Since we usually had video going (on those second screens), we developed hand signals to mean “I’m calling you” and “I’m waiting for your call.”
We later realized this wasn’t strictly necessary since we could simply unmute the video before we started the Tuple session, but it is still fun to use silly hand signals sometimes.
As a whole company, we have also adopted a practice of holding up a crossed pointer and middle finger to indicate visually that we have an idea to share. This has been really helpful for cutting down on instances of everyone trying to talk at once or accidentally jumping in before someone is done (since it can even be hard in person to know when someone’s finished speaking). We don’t usually keep a formal stack, though, and also haven’t come up with an actual name for the gesture. We alternate between saying things like “Ian is doing the finger thingy,” “I see Lindsey’s crossed fingers,” and briefly trying to name the gesture “dibs” (i.e., “I see Max has dibs”).
New company goals
We had a company all-hands shortly after the Bay Area shelter-in-place began, and in it, Maxwell Salzberg, our CEO, laid out our revised company goals. They were:
- Take care of yourself
- Take care of each other
- Take care of our customers
It was incredibly meaningful to know that all of BackerKit, from the top down, was prioritizing our humanity and understood that it was going to be a tough time, while not forgetting that our customers needed our support, too. Throughout this rollercoaster of a year, we’ve tried to prioritize our mental health and have encouraged each other to do what is needed to make it through. (As a parent of two small children, I feel like I hit the lottery, as my team embraced appearances by babies and toddlers in standup and pairing sessions.)
Iteration 4 life
Hopefully, some of these practices could be useful for your team! We don’t know what the future of remote work looks like at BackerKit once it’s safe to be in an office again, but using experiments to improve our process is definitely here to stay, no matter what.