In March 2020, the workforces of pretty much every major city in the world found themselves working from home. The shift from workplace to home office was as swift as it was sharp – there was hardly any time to prepare for what would become the globe’s greatest remote working experiment.
Here at Cogent, we’ve been transitioning to a ‘remote-first’ culture for a while, with some of our most senior team members working from homes across different states of the country. However, our beloved office (The Treehouse) is still the home to some of the best parts of Cogent; it’s where we invite our clients to see exactly how we do things, and it’s a space that our people genuinely enjoy working from.
Dan (pictured on the left) works remotely from his home in sunny Queensland, a short 2,800-ish kms from the Cogent office in Melbourne.
As we start to transition out of this remote work experiment having had nearly a full 12 months of results to investigate, we couldn’t help but ask ourselves which Engineering focused pandemic habits should we take with us into the new year, and which should we leave in 2020?
To answer, we’ve collated some of the top tips from our Engineering team with the hope that these insights will smooth our collective transition to a new ‘COVID normal’.
Psst…if you’re looking for some quality data on how remote work has impacted product teams across Australia and New Zealand then head here for our recently published report.
Seek out answers – Erin, Community Engineering Lead
One practice that we’ve picked up in 2020 is something we call “Slack Driven Development”. This is something we’ve learned at Square, where they’ve been doing it for a while, as part of their distributed working practices. Whenever you have a question about something, first, you search Slack. Then, if you don’t find an answer, you ask your question in a public Slack channel. If you want to ask a specific person, you can tag that person, but you do it out in the open. To support this ideal, Square has set up their Slack instance to automatically delete private messages after a short time, but to keep public messages forever.
The obvious upside to doing things this way is that other people can also benefit from your question. It’s often a huge relief to discover that someone else has had the same problem as you, that you’re not alone – and it’s even better when there’s an answer as well! This way of working has some advantages over traditional documentation too. Everyone knows to look in Slack, whereas documentation might be anywhere from in a git repository, Jira tickets, Confluence, or Notion. You’ve also got a better chance of getting answers to things that don’t usually make it into documentation – like problems with specific builds, versions, or combinations of apps. Finally, you get a bit more context. You know when the question was asked, so you know how up to date the answer is. There’s often some conversation around the issue, so you get a bit of extra information. Plus, now you know who else you can talk to about your problem. Of course, if you do ask them anything, you’ll do it in a public Slack channel!
Find your most productive time of day – Dean, Senior Developer
Our dev team agreed to try and schedule meetings for the morning if possible. This resulted in more afternoon focus blocks and fewer days that were broken up with small meetings.
Find tools to support collaboration – Jason, Developer
Since 2020 forced us all into our homes, working remotely made it challenging to collaborate or huddle. Without a whiteboard and a shared space, riffing off ideas and possible solutions was hard. Getting feedback at the PR level was also a waste of time because adding lines and then deleting them was redundant. So, using diagrams and a little upfront design was something I found to be helpful in connecting asynchronously. There a few tools out there but these were ones I’ve played around with:
Excalidraw – a simple diagram editor
App.Diagrams – a bit more complex with templates for sequence diagrams or infra architecture
Mermaid-js – a markdown type language for technical diagrams
Integrate for ease – Brett, Developer
Zoom can seem like a chore to use – create a new meeting, find the invitation link, paste it into Slack so that other people can join… it can seem like a lot of manual work, especially if you do it a lot. Well, did you know that you can integrate zoom with Slack? The Zoom App for Slack can take away all the chore work, all you have to type is /zoom and it will create a meeting, and post a nice “Join” link in the channel you’re in, so all you (and anybody else) has to do is follow the link to your meeting!
Create space for connection – Alaa, Developer
Without daily face-to-face communication, a lot of the activities that contributed indirectly to team building have diminished or even disappeared. So, a more proactive effort needs to be made to create space for those connections to be formed.
Some things that I’d found helpful include having regular 1-on-1 chats to help build trust between team members. Having a Ways of Working session early helps get an understanding of everyone’s values and how they prefer to work. You don’t need to create rigid rules from these sessions, rather let everyone express their thoughts and create a way forward that can evolve.
We’ve also started scheduling in time to play online games as a team. We’ve had a go at Skribble.io and Codenames, and both are very easy to learn so they don’t add a mental overhead after a long day of work.
There are many ways to keep up connection and build strong teams, whatever you do make sure the end goal is to form trust, create a sense of ownership and a safe and inclusive space for everyone to work.