Remote Responsibility

It’s been a log time since I’ve worked in an office.

Since moving to Portland in early 2012, the vast majority of my work has been performed remotely. While I’m currently working as part of a fully distributed team (with members in Chicago, New York, Germany, London, and Guatemala), I’ve also spent a solid amount of time as the lone remote member of a mostly co-located team. My experiences the last four or so years build on previous experience back in 2008–9, when I worked mostly as a lone remote. All told, I’ve spent a good five years of my career working remote-only or remote-mostly.

All of that experience has led me to the conclusion that working remotely is neither absolutely positive nor absolutely negative; its appeal will vary greatly from person to person. But what is universal about working remotely is that it requires the cultivation of certain skills in order to be worthwhile for both the individual and the team. Everyone always jokes about the time and personal management aspects of working remotely (yes yes, shower and change out of your pajamas). But working effectively as a remote developer (or remote anything, really) depends upon building a specific set of communications skills and habits.

Ambient Interactions

In Scrum, we talk about the Taskboard serving as an “information radiator” — a passive, ambient source of up-to-date information on our progress and status as a team. But for co-located teams, ambient communication extends far beyond the static Taskboard. One developer walks past another’s workstation, catches some interesting code on their screen and asks about it. Someone adds a book on programming Elixir to their stack of technical compendia on their desk, indicating an interest in the language. Conference stickers on a laptop demonstrate different areas of experience.

Ambient communication provides even further detail when it comes to personalities and team camaraderie. An album cover on a Spotify window, what people eat for lunch, logos on tshirts; the list of passive cues indicating interests and hobbies is fairly inexhaustible.

All that ambient communication is gone for a remote developer. They don’t see what their teammates are passively sharing, nor are their own interests being shared.

Team cohesion and productivity, to say nothing of happiness, depends upon these passive day-to-day connections, to such a degree that Steve Jobs famously positioned the bathrooms in Pixar’s office to foster serendipitous encounters.

If you’re working remotely, it’s your responsibility to proactively surface what would be passively revealed in an office environment.

Showing Off

Slack has greatly eased the friction of expressively chatting with teammates, but there’s still a unique set of skills that you need to develop to communicate effectively as a remote worker. Surfacing ambient information about yourself, or recreating chances for serendipitous sharing, requires a way of communicating that’s different from co-located coworkers. It takes awhile to get used to, but if you include the following strategies in your daily chatting, you’ll find your connections with your teammates improving.

  • Hobby-drop. It’s sort of like name dropping but for your non-work interests. Bring up the tv show you watched last night, the movie you plan on seeing this weekend, the book you’re reading, the tickets you scored to a concert or sporting event. Sometimes you’ll get a totally blank response, but other times you’ll be really shocked by which team members share your interest. It’s the kind of ambient connection that wouldn’t ordinarily surface for a remote worker, unless you consciously bring up the subject. Just keep in mind not to bring up the same things over and over again, or bring up an outside interest when the chat is busy with, you know, a production emergency or something more important than what happened on last night’s Game of Thrones (note: nothing is more important than what happened on Game of Thrones).
  • Learn your emojis (and your animated gifs). Look, I’m in my early 30s. I’m not naturally one to pepper my communications with emojis. But when it comes to my work messages, I liberally sprinkle a wide variety of emoji and gif responses. (Especially helpful here are Slack’s “reactions”, which allow team members to feel like you’re paying attention specifically to them.) While emojis might lead to the death of civilized discourse, they’re excellent for expressing what it’s impossible to express remotely: namely, body language. Yes, those little smiley heads are taking the place of your corporeal existence. Use them wisely.
  • Speak up. Leaving behind text for speech — you need to learn to speak up on teleconferences. Loud, clear communication is key. You’re not in a conference room, so your silence can make you easily disappear from the mental landscape of a meeting. Likewise, your inability to show body language (even during a video call) makes the clarity of your words more important. I’m not suggesting to speak just so that your voice is heard; rather, if you have a thought that’s pertinent or potentially helpful, don’t keep it to yourself. Bring it up.
  • Engage with others’ work. As a developer, serendipitous encounters allow for both learning opportunities (“I haven’t seen that technique before”) and teaching opportunities (“why don’t you replace that for loop with a map?”). Working remotely means that you have to forcibly create those potential opportunities. Peruse the pull requests that you don’t actually need to read, just to see what other people are working on. Try to share your screen whenever you have a question as to a coding approach, and ask to see someone else’s screen whenever they have their own question. Make sure to be as engaged as possible in the work of your teammates.

Following through on the suggestions above takes effort and consistency. It belies the notion that working remotely is in some way an easier path. Remote working is not easier than co-located working! It’s just different. It requires different skills to do well, but it still requires the cultivation of good communication skills. And remote work isn’t about being a loner, either. I’ve become friends with co-workers who I’ve barely met in person, or not even met at all. It’s the grind of daily work that builds trust and loyalty; shared interests and learning allow that trust to blossom into friendship.

So if you’re new to remote development, pay attention. Build the skills you need to succeed in the role, or realize that maybe that commute isn’t so bad. And if you’re hiring for a remote position, remember that communications skills (especially for remotes) are just as important as technical skills.