Captain's log, stardate d425.y38/AB
Maintaining a strong company culture can be tricky, but it's trickier in distributed teams and all-remote companies. In this post, we discuss how we do it in our officeless development consultancy.
This is the final post in our series about company culture. If you want to read the previous ones, go check How We Came Up With Our Company Culture, Our Company Culture Helps Us to Hire Faster and Better. Here's How! and Leading by Example: Transmitting Company Culture in Your Organisation .
Now, I am going to focus on how to maintain company culture in remote environments: for us, it boils down to two things: it has to be stronger than a company culture of a non-remote company, and it has to make things easier.
It has to be strong(er)
When it comes to company culture, the main difference between a regular business and a remote-working one is that regular businesses tend to be more loose about it. Since there's frequent facetime and in-person interaction, it is more difficult to stray from the way you're supposed to do things. Merely by being around your peers and seeing them interact with one another and working helps you to soak up - both consciously and unconsciously - company culture.
Regular businesses also leverage their offices' physical space to remind you constantly of the company's values. They are oftentimes printed in the welcome mat, the corridor's walls or in the common spaces of the offices, to provide a constant reminder of the company's ethos while providing a unique way to decorate the walls.
Neither of the things I've just listed, of course, happen in all-remote companies.
First of all, because remote companies meet very seldom and therefore it is hard to mimic your peers or learn from your bosses if you don't get to interact with them very often. Since virtual meetings are preferred, it's hard to get the full picture and understand the nuances in tone, manners, language and ways to act.
In our company, we try to enforce communication across projects. Not all projects are big enough to have more than one of our developers. We want those working in projects on their own to be able to explain what they do and share their struggles with other team members. We do so by hosting a weekly one-hour session of nerding out we call Martian Tapas or by having them ask other Martians for help for specific topics.
At MarsBased, we have a very strong set of values and we mention them often in the content we produce: company presentations, keynotes, reports, our playbook, blog, newsletter, etc. I also explain our values when I give talks in meetups and conferences to help the audience to understand who we are and why we do what we do.
Every occasion is good to remind people of your values. For instance, when I decided to create this series of four blog posts about company culture, I reminded everyone that I followed the simpler is better principle. Four shorter blog posts are easier to read and digest than a long and tedious one.
Another example: when we have team meetings and have to explain the why of a certain decision or change in strategy, we always do mention our values. For instance, when we do our annual cleaning of tools & SaaS we use, we always do it for the sake of simplicity. When we communicate a fuckup to a client, it's because we believe in transparency, and so on.
It has to make things easier
A good company culture has to enable everyone in the company to work better.
For a start, it needs to be clear enough for everyone to grasp it right off the bat. If it requires explanations, those are better given right away, lest your hires' performance is affected by it.
In remote environments, we should favour simpler and easier company cultures to ensure everyone is onboarded swiftly and without an excessively complicated process.
Remote companies should also favour good practices like open by default, which assumes that everyone has access to everything to avoid blocking situations; transparency, to ensure everyone is on the same page and understands what's going on in the company; or async by default, which prioritises asynchronous communication over real-time to facilitate communications across different timezones and to really force everyone to be as independent as possible.
We are a 100%-distributed team. We have no office and our team is spread across the entire country and we follow the aforementioned practices. Of course, there are countless good practices, but let's focus on these three:
- Open by default: Everyone has access to all the stages and tools for every project, thanks to 1password. This way, we avoid blocking situations where someone couldn't work on a project for a day because of a lack of credentials and a delayed response.
- Transparency: Daily interactions in an office build a level of trust that is hard to replace. In remote environments, we believe in being transparent and communicating things proactively to earn the trust of our employees on a daily basis.
- Async by default: We always try to communicate using an asynchronous way. For instance, what's the point on scheduling a videocall to have 13 different people to decide where they want to go for the next year's company retreat or to communicate their food allergies ahead of the christmas dinner? Nonsense. A well-thought thread on Basecamp will do, or a good description on a Github issue will easily replace a call with the technical team.
Thank you for reading thus far! I feel like I might have left out a few topics, but didn't want to extend myself excessively. If you have any specific questions, feel free to share them using the comments section below!