I work at Automattic where I lead a distributed development team. I shared a few thoughts from my first few months working at a distributed company. Working remotely is currently a topical issue (March 7 2020) given the spread of the Coronavirus, and many companies asking employees to work from home.
I wanted to share some additional thoughts and resources for:
1) Why distributed work is going to become even more important and mainstream
2) Tips for setting up and running your distributed team
The availability of high quality collaboration software combined with the availability of fast, reliable internet all over the world is making distributed work easier and more common by the day, especially for technology companies.
Many amazing technology companies in the world have set themselves up as ‘distributed first’ including Invision, Gitlab, Zapier, Basecamp, Upwork, Stripe (later) and Automattic to name a few and have grown to significant scale (1000+ employees). As companies reach significant scale and become even more global (e.g. Google and Facebook), they run more and more distributed teams collaborating towards the same goal.
Distributed work has a lot of advantages for your business; you’re able to recruit globally, your teammates have more flexible hours, working environments and mobility which ultimately expands the available talent pool and improves employee retention.
You’re also able to set up systems and institutionalized knowledge for your company that do not rely on synchronous, in person interaction which are more durable over the life of your company.
Here are a few good resources about distributed work:
- A great podcast and blog from Automattic’s CEO Matt Mullenweg: https://distributed.blog/
- Some good stats on the growth of remote work
- A balanced article from Vox: https://www.vox.com/recode/2019/10/9/20885699/remote-work-from-anywhere-change-coworking-office-real-estate
- Finland’s culture of flexible work: https://www.bbc.com/worklife/article/20190807-why-finland-leads-the-world-in-flexible-work
Running distributed teams
If you’re thinking about setting up your company to be a distributed company, then the most important thing to do is set up your company as ‘distributed first’ from first principles. Even if you do have one or many offices you need to set up your culture and systems to make all employees feel like first class citizens no matter their location. At Automattic, we have a written creed and one of the ones I really like is ‘Communication is Oxygen‘.
Set of common tools and norms: Decide on your norms are for the business – this does not have to be perfect in the beginning, but write something down then iterate. For example, we don’t email each other at Automattic – Slack is for synchronous discussion, P2 (our internal blogging tool) is for long form writing and roadmapping, and Zoom is for video communication (we never have audio calls). Here is a minimum set of tools you’ll need all functions:
- G Suite: This is a no-brainer as you get email, calendar, storage, document and spreadsheet capabilities all easily shared in your organization.
- Long form communication/collaboration: Basecamp, Notion, and Confluence are all good workplace solutions and the first two are more opinionated wheras Confluence is a bit more flexible and connects better with external tools but needs more set up and customization. Google Docs is also an alternative.
- Chat: Slack is the most common, and works generally well. It’s not great when you have poor internet and I’ve seen folks use WhatsApp as an alternative given the speed and reliability.
- Meetings: If you’re going to have meetings, choose a tool like Zoom that everyone uses. For recurring meetings or 1x1s, like to add a Zoom link to the calendar invite and a synced Google Doc for that meeting to it so that notes can be taken and shared more broadly if necessary.
- Project management: There are lots of good project management tools but I like Asana the best. Trello is great for simple boards and many engineers like GitHub Issues as it’s close to the code but works less well for non-development folks. Jira is the most customizable and robust product for complex and established workflows but requires a fair bit of set up to be useful.
- Standup: Many teams like to do asynchronous standups. I like the following questions and a tool like Geekbot is easy to use to administer in Slack:
- How are you feeling? Colors (R/Y/G) or Thumbs (Up, Down) to give this structure.
- What did you do yesterday?
- What are you doing today?
- Where are you blocked?
Async and written: Set up your systems to be “async and written first” and have clear escalation paths to notify your colleagues if something is urgent or you are blocked. Long form, written content forces you to think and communicate clearly and exposes the gaps in your own thinking. It takes more time to write, but ultimately the trade off is worth it especially at scale.
Public by default: Many companies communicate privately or in small groups by default. In reality, most communication which is not about sensitive topics (usually people/hr) should be public, especially if it about product or priorities. Defaulting to public first allows more people across the organization to learn from each other and to dive in and get more context rapidly if they require it. There is some risk of information overload or separating out what is important from what is not, but this is something that you get better at with practice.
Quality video and audio matters: I still think synchronous communication can be important, in particular 1x1s with your direct reports, managers and close peers. When you do have synchronous meetings having quality video and audio matters. Good lighting and a decent mic (I recommend a boom headset/mic combo like this Jabra Evolve) do matter when having video calls.
Time zones are hard: Even if you set up good systems for distributed, asynchronous work, a very large spread in time zones can be hard for building a team’s culture, feelings of isolation and unblocking colleagues. If you can set up teams with reasonable time zone overlap, it’s easier.
Onboarding guide for new employees: Invest in a written onboarding guide for new employees with a checklist they can complete themselves. Ask each new employee to improve this onboarding guide for the next person.
When being in person is better
There are times where being together is superior to working distributed and asynchronously. It’s also worth trying out virtual meetups – synchronous and distributed versions as well (time zone permitting) which can be less expensive and time consuming for everyone.
New teams / new projects: For new teams working on new projects together, it can be helpful to have some time together to kick off the project, especially if it’s a substantial investment from the company. Group conversation can spark creativity and being in person helps accelerate the process of team bonding, creating alignment and hashing out the inevitable differences between vision, personality types or different working styles. It is be great to summarize this in a co-written document of priorities and team norms and roles.
Change Management: If the company or team needs a change it can be harder / slower a distributed environment. It’s more challenging to rapidly understand and improve the energy and output of teams rapidly as some of the feedback loops from in person real time communication do not exist in the same way. It requires adapting or replacing your mental models as a manger to a distributed working style (an area I where I personally need to develop).
Building human connections: When working with people, it’s simply easier to build trust and better human connections in person. Sharing a meal or a drink and laughing with them in 3D is much more engaging than a 2D Zoom call or Slack exchange.
Personal: Working from home can lead to feelings of isolation or lack of separation of work/life. I’ve seen good results from spending more time with friends and family (and being fully present) and shutting off your work notifications (closing Slack, Email etc) in pre-set windows.
There are a lot of good articles and guides out there for remote work and here are a few of my favourites:
- Quick read from Matt: https://ma.tt/2020/03/coronavirus-remote-work
- Getting set up for remote work by Erin (also from Automattic): https://intenseminimalism.com/2020/quick-work-remote/
- Tips from Google, who now have 100k+ people working from home – https://www.blog.google/products/g-suite/8-tips-for-working-from-home/
- Good list from LocalGlobe – https://www.notion.so/Digital-Working-COVID-19-c39e55d0f6024e7f85560ea7b2632997
- Zapier’s remote work guide (excellent): https://zapier.com/learn/remote-work/
- Collection of articles from Notion: https://www.notion.so/Remote-work-wiki-1b21ef5501714fffa9f5c5c25677371f
- Two good articles on building connections in a distributed team
- Basecamp remote work book: https://basecamp.com/books/remote
- Twist’s remote work guides: https://twist.com/remote-work-guides