Covid-19 has plunged hundreds of companies across the globe into adopting a required work from home policy almost overnight. Many companies were not prepared to adopt and adapt in such a short timeline. Pipeline has been working a partial remote model for over 14 years. In particular, the engineering team which comprises roughly one third of the company has always been 100% remote. We have software engineers in the US, Poland, Dominican Republic, Canada, and more. And coincidently, the rest of the company enabled a work from home option in January 2020 for the Seattle Headquarters based people. Given the abrupt changes companies and teams are making, I wanted to share the best practices we use to ensure high productivity, high morale, and success.
Remote work success boils down to a great set of tools and accompanying processes and defined culture to enable above and beyond communication. Let’s first talk about the tools.
The Tools
Collaboration and Video conferencing
Chat and Conversations
The next critical piece is a real time communications vehicle. We use Slack. Slack is not just chat for us. It is our platform of all company communications.
Productivity
Let’s start with productivity. For productivity we live and die by slack. Here are some of the various ways we put it to work:
- Engineering team technical discussions
- Product development discussions
- Customer support help from the engineering
- Product planning discussions
- Innovation discussions.
#daily-updates
Multiple time zones make daily standups impossible. Especially since ours span 9 hours of differences. So we took the standups to slack asynchronously. Meaning, people enter their daily updates when their workday is over on their own schedule. This keeps everyone informed on progress, who is working on what, and if anyone needs help.
#support
Our Customer eXperience team is connected to the engineering team who can help them with difficult customer technical issues in real-time. Our company is above and beyond when it comes to how we want to treat our customers and this channel is vital to the success of that mission.
DevOps
And then there is development and operations, otherwise known as Devops. Here are some key channels
#engineering
All of our design, architecture, and forward looking thinking usually enters through this channel. Engineers talking tech.
#deployments
We deploy our code to production several times each day. And we use slack to do it. “Hubot deploy app: [build | deploy | cleanup]” can be seen regularly by the engineers in slack. Through this channel and “Hubot deploy:status”, everyone knows exactly what is going on.
#operations
Our cloud operations are all monitored and then alerted through slack. If our site has an issue, we know first through slack. Our team uses PagerDuty to be alerted to critical operational issues. While the engineer on call will get an alert through the PagerDuty app, the rest of the team will see the issue in this channel. We dedicate this channel to seeing and fixing performance, security, stability, reliability, and more. This channel is also open to the company in case others want to see what is going on at an engineering level
#circleci
Build status. Like any agile team, we do continuous integration of our code which means after code is committed and pushed, automated tests are run to ensure nothing has broken. The team watches this channel for state of the build
Why So Serious!
It’s not all work and productivity. Maintaining connection with each other is equally important to the success of the whole remote dynamic. Here are some of the channels that add to this dimension
#music
We share our favorite bands, albums, songs, and videos
#trackoftheday
Someone picks one unique song from their music collection that they think people will enjoy
#whatscooking
Photos from the dinner tables of our amazing Pipeliner chefs
#holidaycheer
We get festive virtually!
The Rest of the Stack
The Remote Culture
- Quality of Life
- Positive team dynamic
- Alignment
- Collaboration
- Productivity
- Progress
- Reliability
- Engagement
- Achieving our goals
- Overall satisfaction
If we could achieve these things, we are achieving the company culture we desire. So we tapped the engineering team, who has been doing this since the inception of the company to find out what has been important to them. This is what they said:
#1 CONTEXT
Searchable, text-based record of all decisions and discussions (Slack). Secondly, no side conversations. 1:1 conversations can be started but are moved to #engineering or #operations, so that others can benefit and refer to whatever info later.
#2 DAILY UPDATES
Posting simple and short daily update messages: what I did, what I’m working on, any blockers. Easy and searchable way for everyone to know what’s going on without synchronous communication (#daily-updates channel in Slack).
#3 DISCIPLINE
Communication habits slipping means that communication doesn’t happen, there’s no running into others in the hallway and remembering what you need to tell them
#4 TRUST
Being trusted to work reliably and professionally from home without supervision inspires people to never break that trust. The flexibility the company grants in organizing days outside of required meetings makes life easier, and in return employees have no issue with checking in after hours, doing the PagerDuty on-call rotation, etc. People have a sense of ownership over our platform, and it’s as much a personal mission as a professional one to make sure it NEVER GOES DOWN