Cosive is a specialised cyber security company with a team of ten, founded in 2015 and based in Australia and New Zealand. From our very first day we’ve operated almost 100% remotely; we have no central office and only meet in person about once or twice a year.
As COVID-19 spreads globally, and employees are asked to work from home for the first time, we’ve seen many people looking for tips on managing a remote team. So, we decided to distill a few lessons we’ve learned about how to make a cohesive remote team work well.
We've found the benefits for remote work are:
- Allows focus.
We’re a highly technical team. The enemy of software development and other deep technical tasks is distraction. In study after study, open plan offices are proven sub-optimal with noisy neighbours and people dropping by “for a quick chat”. However, the temptation of 100 Slack channels with interesting links to articles posted constantly is good competition - we’ll talk about some strategies for that, too.
- Remote working perks.
Remote working gives you an environment you can control (say goodbye to battleship grey cubicle walls), zero commute time, and a flexible schedule. We try to preserve these perks as best we can while having enough structure for us to reliably plan for work.
These benefits also come with some challenges that need to be managed:
- Lack of socialisation.
We may not get to talk around the proverbial water cooler, so we need other ways for the team to connect socially when they may not be bumping into each other for a coffee.
- How people cope with remote working.
Some people take to work from home like ducks to water, others get cabin fever. We try to help everyone in the team feel comfortable in the way they work, and provide them with strategies to help them cope with the change.
MANAGING A REMOTE TEAM
The biggest fear of some managers is that since they can’t look over their employees’ shoulders, they can’t monitor that work is happening. This requires a change in management mindset, from the (frankly, counterproductive) assumption that you can enforce focus and diligence from your team every minute of the day using surveillance and fear. Instead, we should switch to focusing on outputs of work and setting expectations on tasking and completion. How people get high productivity varies individually.
Naturally, the lack of being able to physically see who’s around at any time and what they are doing does create some new challenges, Here’s how we handle some of those.
Clear communications
Cosive are heavy Slack users, but these tips will work for any of its alternatives, including IRC. We’ve developed rules over time for what makes for effective text-based communication.
- We flag our physical movements.
It’s very frustrating to need to talk to someone urgently about a project, but your message sits there unanswered because they’ve popped down to the shops for an hour or off to lunch. Our broad rules are: say hello in the mornings so people know you’re around, say when you start and stop lunch, flag when you need to step away for more than 10 minutes, say goodbye when you leave.
- When someone is away or off the clock, we don’t expect them to answer Slack messages.
Expecting people to be ready 24 hours a day to receive an ‘urgent’ Slack message is how we burn ourselves out and blur our work and family lives. Once someone has signed off for the day, that burning question is just going to have to wait until they are back tomorrow. And for actual urgent messages (read on)...
- We use Signal as our urgent comms channel.
Signal (https://www.signal.org/) is an encrypted instant messaging application that runs on mobile phones and desktops. If we absolutely need to contact someone out of hours urgently, we use Signal. The very fact that something is coming over this urgent channel is a cue which lets them know it’s urgent. We use this very sparingly (see also: alarm fatigue).
- Use per-project Slack channels.
We slice our many projects into dedicated project channels so the comms people get are focused to them. That can indeed result in an overwhelming amount of channels.
Some tips: encourage people to only subscribe to the channels they need; be judicious about which channels notify you (especially for @here); use Ctrl-K to jump to a channel; have a consistent naming structure so people instinctively know a channel’s purpose (e.g. #proj-antifraud, #cust-clientname).
- Encourage people to turn off Slack and email if they need to focus.
Slack enables us to exist effectively as a 100% remote company, but seeing that Slack icon lighting up all day can be a real foe for focus. Software development is one of our primary activities, where constantly losing the mental state of your work is the death of productivity.
We actively encourage people to say “I’m turning off Slack for the next hour, I’ll be on Signal if you really need me”. Then, close the program to avoid temptation.
Personally, I also have almost no Slack or email notifications come through on my phone. If something comes through on Signal, that’s when I know I actually need to pay attention to it.
Managing movements and factoring mood
Since we’re a remote company, we can’t see people sitting in their seats. People announcing their movements helps, but we need ways to ensure we still function smoothly and can understand people’s physical and mental state while they’re hundreds of kilometres away.
GUARANTEEING COLLABORATION TIME
We use the idea of “core hours”, which we have declared as 10am-3pm. That gives us a solid five hours where we know everyone will be here and can collaborate. Past that, other than making sure we all work a roughly eight hour day, we leave it to people to start and stop when it suits them. This flexibility is a very nice perk for us all, and helps people pick the times that are most productive for them.
MAINTAIN A LEAVE CALENDAR
We can’t see empty seats, so we make sure we maintain a company leave calendar for awareness. You can also have this auto-alerting into a Slack channel to say “All day: Sally on leave” because people don’t tend to check calendars all the time.
SUPPORT WORKING ENVIRONMENT PREFERENCES
In those happier times where we’re not threatened by a pandemic, we offer employees the choice of working at home or paying for their co-working space subscription. That zero commute while working from home is a big perk, but some people prefer to separate their home and work environments. Personally, having an energetic toddler at home can make phone calls challenging, so I walk to a local co-working space normally.
Whatever people prefer, we’re happy to support the environment that makes them happy and productive.
ENCOURAGE CALLING OUT PROBLEMS EARLY AND OFTEN
Every software developer or system administrator has experienced the feeling of staring at a screen all day and getting nowhere. Working remotely makes that problem more acute - no-one can see you swearing under your breath and banging your keyboard in frustration.
We encourage people to spend thirty minutes on a problem, and if they haven’t begun to make any headway, harness your team’s collective wisdom. Chat to the resident expert. Throw a question out to a Slack channel, “anyone seen this before”? In a profession where much of our value is what we know, admitting you don’t know something can be especially confronting for some people. Help people get over that by:
- Leading by example.
Team leads and managers should prepare to be vulnerable and ask questions to the people they oversee. “Hi brains trust - has anyone ever seen an error message like this?”
- It's fine not to know.
No single person has all the answers. We encourage people to acknowledge when they don't know something so that they can learn the answers faster from someone else in the team. We're all in this together, and being honest helps us get to the optimal solution faster.
- Making sure people are respectful and helpful with their replies.
One of the worst responses to “I can’t figure this out” is a context-free “lol”. There’s no body language remotely, so we don’t know if you’re laughing at the fact that you hit this exact issue two days ago, or that you’re implying the questioner is a dimwit. Some people will immediately assume the second.
Replies should respectfully answer the question, and seek to illuminate rather than denigrate a gap in someone’s knowledge.
- Reminding that we’re here to support each other.
Technical folks can also have a tendency to want to be the hero of the moment and be the one to crack a difficult technical nut. Reiterate constantly that we improve and build each other up by sharing knowledge.
- Blame-free culture.
It's important that people know they can declare a gap in knowledge or need help and that it won't result in any negative consequences. The team needs to know that management has their back. We use failures and misunderstandings as a chance to improve our operations, not to blame.
Remote meetings
In a 100% remote company, it’s easy to forget that your co-workers even exist. Regular, but selective, meetings can help keep everyone feel connected.
FULL TEAM MEETING
Once a week, we run a full team meeting for our staff. We’re a relatively small company, so this will not scale for everyone, but you could consider it for immediate team mates in a larger shop. We:
- Require everyone to turn on webcams.
This makes the experience much smoother and more personal. I’ve been on far too many awkward teleconferences in my life with disembodied voices and odd silences because it’s very difficult to read the room. Our team calls are much more smooth and social for it.
- Have formal minutes and an agenda.
We are heavy users of Google Docs - the collaborative real time editing functions are the best out there. We copy our meeting minutes Google Doc from last time and update the status of everything for the last week. Everyone can also follow along with the edits going on inside the document so we know where we all are. This helps us stay focused and get the meeting closed out on time.
- … but do allow some time for chatter.
Something you can lose in a remote office are those random conversations that help people bond. We like to have some time for us to talk about other things going on in our lives, interesting tools and technology we’ve found, and overarching events happening (particularly relevant now).
- Have a meeting chair.
Have someone pilot the meeting through the agenda and rein things in when discussion gets too far off the rails. The idea is to give everyone a quick overview of what’s going on. As technologists, we can often passionately get into the weeds of what we’re doing, and we sometimes need a helping hand to get back on track.
- Mention upcoming leave.
In a remote company it's difficult to know where everyone is at any particular time. Mentioning who is on leave helps people know when someone is unavailable.
PROJECT MEETINGS
Most of this doesn’t vary too much for in-person meetings:
- Schedule meetings, and put them in your calendars.
It can be tempting to want to pull someone into a meeting immediately because you know they’re sitting at their desk in their house, but that breaks people’s mental flow. Give them some lead time so they can get to a natural break in their work.
- Use the Slack Google Calendar plugin to show when people are in meetings.
See via Slack status when someone is occupied with something else.
- Have a standard way of setting up project calls.
If you’re using Slack, its group call features might be the solution here - just place a new call to the project channel. We’ve found some quality issues with Slack calls at times, so have settled on Google Meet. We make a dedicated virtual meeting room for each project, and put the link in each project’s Slack channel description.
ONE ON ONE MEETINGS
We try to check in with everyone at least fortnightly over video conference to see what their condition is like. That’s not just for Cosive’s employees, but also the three of us who founded Cosive to check in on each other.
Personal events happen which have a major impact on our work. While we are very mindful of each other’s privacy on things like health and relationship issues when it comes to discussing situations, it’s invaluable to have awareness and provide support if someone is going through a rough time.
Sometimes, we don’t even know yet ourselves that we are gradually getting worn down. A video conference showing someone with slow blinking, irritability, or unusual behaviour can help us know that there's something going on we need to talk about and see if there’s a circuit breaker we can employ like leave or a change in duties.
Taking care of each other is possibly even more important when working remotely, and especially at a time like this.
Stay safe and healthy out there!