Working Remotely — What We’ve Learned after 15 Months

4 months ago, I wrote an article that highlighted 3 tools that have helped our team work remote for over a year now. I got a lot of great feedback, and so I’m writing this as a follow up to explain exactly how we’re using each of these tools. I’ll also talk about a few of the other tools that we us as well.

A Quick Background

We’re a small startup of 10 people, who have been together for over 8 years now. We started in Rexburg, Idaho as a team of 6 and have picked up a few others along the way.

It turns out that “middle of nowhere” Idaho is a great place to limit distractions and build a product. However, it’s not a great place to grow a business.

We needed to move the business somewhere bigger. Many of our team members had deep roots in Eastern Idaho, so that was easier said than done. We had dabbled with remote work before but could never get it quite right…

A few members of the team that lived in the surrounding area didn’t want to drive 20 minutes into work. Idaho winters are known to be particularly nasty. Others had moved to Rexburg to attend school, but didn’t want to stay in Idaho forever.

Fast forward about 6 months and we found a series of tools that have worked well for us. Now we have people ranging from Rexburg (6 houses apart) to SLC, and down to St. George Utah. At one point we even had someone located in Costa Rica.

While we’re not spread across the globe, once you get it right, it doesn’t matter where you are. That’s the beauty of remote work.

The Tools

I’ll highlight each tool in the order of most to least “critical”. Keep in mind though, each of these tools is an integral part our workflow. None of them do it all by themselves. It’s these tools together that have allowed us to work as a remote team for over a year now.

Slack

Slack is our bread and butter. While it has its weaknesses, it’s the most effective way we’re able to communicate. We use Slack not only as a team, but to communicate with our users as well.

On our site we use Intercom (which is exceptional) for “live chat”. Any time a technical question comes through, the first thing we do is invite the person to join our Slack team. Slack makes it so easy to troubleshoot with images, code snippets, private messages. It’s awesome.

nanobox-slack

We’ve got Slack set up as a series of public and private channels, each with specific goals.

Nanobox is a polyglot platform designed specifically for application developers. This means we need to accommodate for developers of all different backgrounds.

We have standard channels like #general, #getting-started, and #debugging.

But, Nanobox is solving a very difficult problem for people. This means we often get very difficult questions. For this, we’ve added channels for dealing with specific language/framework issues. This helps reduce noise in the general channels.

Our private channels are how we really function as a team though. We have the “event” and “onboarding” channels, where we get web hook notifications. The “lobby” and “random” are our general discussion channels.

The remaining channels correspond to different internal teams (marketing, platform, and sales). Anyone can join any channel, but for the most part, people tend to stay in their teams channels.

Each morning, people put in the channel what they did the day before, and what they plan on doing that day. This gives everyone on that team a clear idea of what everyone else is working on.

nanobox-daily

We used to do this in a general “daily” channel. As we grew, we found we didn’t need to distract developers with what marketers were doing every day.

That’s where Discord comes in…

Discord

As I mentioned in my previous article, Discord is the best voice client we’ve found so far. Hands down. The voice quality is superb, it’s very easy to create teams and channels, and no need to manage any of it yourself. It always just works.

We have Discord set up in a very similar way as Slack. There are different channels, each with different purposes. Although, the breakdown isn’t quite as granular as in Slack.

The keen observer will notice that our channel names come from the game “Clue”. That just happened one day and stuck.

nanobox-discord

The “Lounge” is our “water cooler”. Whenever someone isn’t working with a group, they’re here, not necessarily talking the whole time, just… hanging out.

With remote work, we found it important to establish status at a glance. In the real world, you walk into a room, and it’s easy to see if it’s empty. With Discord it’s not so obvious…

We created the “Cellar” as a place for people to go when they are “AFK” (Away From Keyboard).

We also needed a place where people could work without interruption. In an office you can close and lock a door if you need a private conversation or some peace and quiet. On Discourse we created the “Library” and “Study” for this.

In the “Library” you’re working but open to interruptions. In the “Study” you don’t want to be disturbed (voice, chat, or otherwise).

Google Hangouts

Google hangouts is the tool we use for pair programming, and giving internal or user demos. We have a single hangout that we all use, and anytime someone has a question, or needs some help, we screen share.

TIP: When in a hangout we mute the hangout audio and continue to use Discord.

We’ll even get various groups sharing screens at the same time for different reasons. This works because all audio comes through Discord. It doesn’t matter how many screens are being shared, you simply watch the one you’re interested in.

The Extras

The next set of tools are things that, while we use them on a daily basis, aren’t critical pieces of our remote success. They do however, contribute very deeply.

Google Docs

We use Google Docs to store all our business “stuff” – marketing and sales projections and strategies, onboarding strategies, lists of articles to write, or people to reach out to. Pretty much anything related to the business end goes here.

It’s great because we can give permissions on a document or folder level based on who needs access to what. We’re pretty open so it’s pretty much accessible to the whole team, but it’s nice to know the feature is there.

Trello

Trello is the place where we keep track of our actionable items. It’s essentially a bunch of giant Kanban lists. As individuals, groups, or even the company as a whole. We even have our public development roadmap on there.

Trello is also a great tool for keeping track of “progressive” type data. We use it for managing our onboarding and sales “funnels”, and keeping track of bugs and things like that.

Github

Because we’re a technology company, Github is a huge part of our team. We use it for all our version control. It’s by far the best around for “social coding”, which is pretty much what a dev team is doing (remote or not).

What works (and what doesn’t)

While remote work has been great, there are a few things that don’t quite work. We’ve had to figure a few things out the hard way, and work around others.

Voice vs. Text

We quickly learned that when typing, you lose most (if not all) emotional context. At first, we typed almost everything. This frequently led to people getting offended by completely harmless comments and feedback.

Now when we need to have a serious conversation we use Discord. This helps avoid any unnecessary fights or unintentionally hurt feelings.

White-boarding

There are times when it’s just easier to work things out in person, on a white-board.

We tried at least half a dozen online white-board solutions. Ziteboard was the best we found, but in the end it just wasn’t the same…

Now when we need to whiteboard, we fire up a screen share and use a literal white board. It’s not ideal, but it gets the job done.

Conclusion

So, 15 months in and things are still going great. Our team is productive, and still works well together. It’s also very easy to integrate new members because we don’t have to ask anyone to relocate.

I do miss one thing. The camaraderie that you get from working in an office. We’ve been able to adjust to that by getting together during lunch to play a game online every now and then. Which is nice.

With the money we save on office space, we can afford to get everyone together for a party now and then. As a business I would much rather spend a few thousand dollars on a cruise for the team than an office.

Posted in Development, Nanobox, Working Remote, Remote Work