After the coronavirus pandemic upended The Way Things Are Done, the world has seen firsthand that knowledge work doesn’t have to be done in the office to be done correctly. Similarly, collaboration doesn’t have to happen IRL to be effective.
For software engineers, remote work can be a godsend. Asynchronous communication, reallocating those commute hours to self-improvement goals, fewer meetings, no pants — there are certainly plenty of perks to be had as a remote developer.
However, working remotely does pose its own challenges. While many in-office collaboration tips stay true for a distributed team, there are ways to collaborate effectively that are unique for remote software development teams.
In this post, we go through our top tips for developers on how to collaborate effectively when working remotely.
Looking to hire the best remote developers? Arc can help you:
⚡️ Get instant candidate matches without searching
⚡️ Identify top applicants from our network of 350,000+
⚡️ Hire 4x faster with vetted candidates (qualified and interview-ready)
Try Arc to hire top developers now →
1. Communicate the Appropriate Amount
Don’t under-communicate.
As the saying goes, less is more. Unless it’s not. For remote developers, too-little communication can easily cause problems. As you work on features, products, and projects, every stakeholder needs to be able to understand what you’re doing in order to take up the task after you in the development process. Follow-up questions for clarification and improperly carried-out assignments waste everyone’s time.
At the same time… Don’t over-communicate.
I believe it’s just about unanimous among software engineers that every extra huddle, stand-up, and one-on-one meeting is a waste of precious time. Similarly, being too wordy in your Slack messages or emails can become tedious to your coworkers. Rather than achieving your goal of communicating clearly, you may end up turning readers into scanners — those who merely glance at text to understand the gist within a few seconds, so as not to read the whole thing.
Avoid miscommunication.
Write a message with everything they might need to understand without having to follow up. Link to documents or URLs you refer to so as to avoid misunderstandings. Attach screenshots. Use all the markup available to you to format your message for clarity — make use of bullet points or numbered lists when helpful, and call out any actions you’d like taken in bold. For more complex communications, use bold sub-headings to signpost key information.
2. Be Flexible and Adaptable
Remote work would be impossible without some level of flexibility and adaptability, both on the company’s end and on the part of employees. Likewise, collaboration becomes more effective when colleagues (at least the majority of them) are willing to make changes and respond to changing conditions creatively, constantly, and without much negativity.
For remote software developers, there are many ways to go about this. Be mindful of team members in different time zones — make use of the “schedule to send” button, or learn to communicate asynchronously. Send jokes and ridiculous memes when the situation calls for it, but be on your A-game when it’s crunch time.
While planning ahead is great, don’t forget to be agile, responding to just-in-time requests and changes in stride. Remain calm, stay optimistic, and be open-minded.
When you increase your flexibility and adaptability, you’ll be making your team a better place, your coworkers happier, and your own life a whole lot easier.
Read More: How to Keep Learning on a Busy Developer Schedule
3. Use Collaboration Tools Collaboratively
Working effectively on a remote team requires powerful collaboration tools and procedures. You’re probably already using Slack to communicate, Jira for project management, GitHub for version control, Dropbox or Google Drive for file management, Figma or Invision for prototyping, and Zoom or Around for video conferencing.
And that’s great!
But, keep in mind that these tools are powerful and effective for remote teams specifically for being collaborative. Meaning, those tools which only you use or have access to are useless when it comes to remote collaboration. Not only are you creating information silos, but there will likely be redundancies in information, as well.
So, build in public, so to speak.
Rather than using a notepad or your personal to-do list app to create follow-up reminders for yourself, create a page on Notion with your upcoming tasks that are accessible to your teammates. Instead of sending Slack messages to the intended recipient, consider pinging them in a team channel to keep everyone on the same page (something we practice here on my team at Arc).
If you take notes when planning a sprint, give document access to the other meeting participants. And, to manage logins for all these accounts, use a shared team password manager plan rather than opting for your personal account.
Work the way you want from anywhere in the world 🌎
Find top freelance and full-time remote jobs.
Learn more about Arc →
4. Establish SOPs for Communication
Standard operating procedures, or SOPs, can often take the fun out of things, especially when there are just way too many of them. However, it can be effective — even fun — when lightly and properly implemented. Whether you are the only WFH software developer on the team or your entire team is made up of digital nomads, great communication is critical to success. While it may feel overly-engineered, SOPs work because they keep everyone on the same page.
For example, here at Arc, our marketing team uses a standardized Slack emoji system for communication. Prior to this, the lack of clarity in the intent behind some messages became a blocker for many team members. However, this improved drastically and almost overnight with this creative-yet-simple solution.
Essentially, for some of the more important messages we send on Slack, we now begin them with a particular emoji, depending on the result we’re seeking. For the recipients of said message, we’ve assigned several emoji reactions to specifically mean one thing, used as an immediately understood response. We’ve chosen actions that our team do frequently and the type of work we do — so take that into account if you want to design your own!
Here’s a look at our current system:
Bonus: If you’re a junior-level or mid-level developer, pitching the creation of a set of communication SOPs like these can help show leadership potential. Even if you don’t move into a senior position at your current company, you can still showcase the implementation of this project on a future resume. This will easily highlight your initiative, problem-solving skills, and communication skills, all in one go!
Read More: The Complete Networking Guide for Remote Software Developers & Engineers
5. Participate
To have an engineering team that functions like a well-oiled machine, everyone needs to participate. But, there are unfortunately some developers (and other team members, of course) who do the bare minimum. They do just enough to get through their tickets, their day, and their sprint, and nothing more.
Since you’re reading this, and looking to improve your skills, I’m sure you yourself don’t fall into this category. Still, there’s always room for improvement! Participation isn’t a Boolean yes or no. Instead, it’s a spectrum, and any IT department or engineering team that considers itself to have excellent collaboration likely has excellent participation across the board.
Now: what is good participation?
Good participation is being active. It’s about doing your share, just as in any relationship. Let’s break down some of the key aspects of this:
- Learn to be proactive rather than reactive, using empathy and a deeper-level connection with your colleagues to anticipate any obstacles or better paths forward.
- Actively listen to the others, whether it’s a one-on-one meeting or a sprint planning session.
- Ask for feedback, and return the favor constructively.
- And, quite importantly, always give recognition, publicly and privately, when it’s due — you’ll be making someone’s day, or, at the very least, putting a brief smile on their face.
6. Learn How Others Work Best
This may come as a shock to you, but your ideal way of working might not match the way your colleagues prefer to work. Whether you’re new on the team or their Hire #3, take the time to learn how your colleagues work best. Find out how they prefer to communicate, their ideal deep-work times, and any expectations they have of you.
Perhaps set up a meeting with each of them, one by one, to have an informal conversation. You could do an email thread, of course, starting with giving your preferences and hoping for the same in return. You might even do it over Slack.
Here at Arc, we’ve recently jumped on the personal README bandwagon. We’ve written about management user manuals before, but, really, these can — and should — be used across the company.
Essentially, a personal README or user manual is a simple doc that outlines your personal and professional background (just a few key bullet points), a few tidbits about your role, how you work / how others can best work with you, things you like and dislike, and just about anything else you think your teammates might find helpful or interesting.
While it may sound corny to the cool kids on the development team, it really does work, increasing connectedness and teamwork, two important prerequisites to having good remote collaboration. Consider: Some of your dev teammates might be skeptical about taking time away from coding to make this. But it’s good to keep in mind that increasing team connectedness and teamwork will lead to better results down the track. Oh, and it’s a one-and-done deal, anyway!
Read More: Learn 50+ Remote Work Words and Phrases in Our WFH Glossary
Practice Makes for Perfect Remote Collaboration
A well-functioning team doesn’t happen overnight, especially in a larger department. It could take some time.
Be patient and do your part.
Learn to communicate effectively — sometimes less and sometimes more. Be more public and transparent to avoid information silos and redundancies. Share. Be flexible like a black belt yoga instructor (I don’t know how yoga works, tbh). Give support when needed, and always give credit and congratulations.
In time, you’ll start to see a difference.
Do you have any other tips for collaborating effectively on remote software development teams? Any stories to share? We’d love to hear from you! Leave us a comment below and let’s chat about it asynchronously 🙂
Find your dream remote job faster with Arc.
- Development, design, and marketing roles
- US-based startups and tech companies
- Choose freelance or full-time remote work
Work from anywhere in the world on your terms.
Join Arc now →