As we approach more than 400 days of working remotely for Atomic Object, we have tried numerous ways to pair program virtually. It all started with simple Zoom sessions and screen sharing. However, as I joined a project with increased complexity and high demand for pairing, the communication barrier became more significant. Early on, the team tried to work around the barrier by using Discord for work.
Yup, Atomic Object has its own Discord server! Each project team can create its own category with text and/or voice channels within it.
Why use Discord for work?
Our project had a text channel along with three voice channels: pod, pairing, and paring2. The usual routine is that we hop on the “pod” channel to sync, chitchat, and ask questions. Whenever someone needed to talk through a problem or set up a full-on pairing session, we’d say “let’s hop on a Zoom call” while chatting in a pairing channel.
The reason we remain on Discord is to be available for anyone else who might have a quick question. This virtual environment simulates a real-life situation where someone can pop into a pairing session for something quick.
It’s not perfect, however. Consider the following scenarios.
Everyone is muted in the pod voice channel, working away. Earpods are in, and we’re all heads down, figuring something out
I jump up in my seat and scramble for the unmute button. I take a deep breath
“Hey, what’s up?”
I’m in a meeting Zoom call. All of a sudden, someone not in the meeting starts talking. I scramble around looking to exit Discord as I realize that I forgot to turn off the audio (“deafen”).
We’re pairing in a “pairing” voice channel while screen sharing over Zoom. Someone else hops in the voice channel, trying to find the right Zoom link to join the conversation.
In the scenarios above, we improved two areas.
First: Lower the barrier to screen share.
When teams are physically sitting next to one other in the office, it’s easy to ask someone to look at what’s going on in your code. In our initial setup, it took about 10–15 seconds to initiate a Zoom session, wait for the other person to join, and finally start screen sharing.
As our team grew, and the pairing sessions became more frequent, Atomic boosted the server. Now, we can share our screens right in the voice channels in Discord without ever having to say, “Let’s hop on a Zoom call” again! With this change, it now only takes a couple of seconds to screen share. It can also be done without having to switch to a different virtual space.
Second: Make frequent pairing sessions more pleasant.
When we can see one another in person, it’s fairly easy to notice when someone is approaching you or trying to get your attention. However, as we are now relying on voice channels as a virtual room, it’s easy to be startled, especially when concentrating on deep work. To address this, we came up with the idea of everyone having their own individual, personalized, voice channel!
With this setup, Discord will notify me with a known sound whenever someone enters my personal virtual room, so I won’t be as surprised when someone starts talking. Another side benefit is being able to acknowledge anyone else who has entered into an existing conversation.
If someone needs uninterrupted time or is away from their desk, the “deafen” icon lets everyone know that you’re not available right now. But the best part, of course, is the personalized channel titles!
Discord for Work? Yes!
The combination of everyone having a virtual desk as well as the ability to easily share screens gives our team the connection we need with enough flexibility to make frequent virtual pairing sustainable. As we near the end (I hope!) of extended remote work, our project setup over Discord is really helping our team reach that finish line strong.