It is becoming more frequent to work with remote teams as companies are opening offices in other countries and outsourcing. And many developers are working remotely so they can live close to their families. I will share what I have learnt working with remote teams.

Use online collaboration tools

One of the drawbacks of being separated is that we can not share physical spaces like a meeting room or a whiteboard. Because of this, we need tools that allow us to keep working together. There are tools like Slack to improve the communication, Google Docs to work collaboratively in documents, Webex to have online meetings, Jira to manage the work and have a shared Kanban/Scrum board, …

Multiple communication channels

When the communication happens over the internet, it is important to have separate conversation channels. E.g. one for the team day-to-day activities, one per project, another for specific activities like a big release, to discuss technologies (e.g. one for security, another for backend or front-end development, …).

Document everything

You can use some online platforms like Confluence to share processes, best practices, technical guides, etc. That is a great complement to training sessions, people can access it when the rest of the team is offline, and it makes it easier for new joiners to learn how the team works.

Multiple reviewers for each piece of code

When developers are in the same office, they may talk more about their projects while having lunch or having a coffee. It is good to add some people to the reviews so they know what others are building and can work on their projects while the others are on holiday.

Support rota

Mostly when the team covers different working times, it is important that everyone knows how to maintain multiple applications even if they haven’t built them. It may be looked at as a bad idea, as people perform better when they are focused on only one project, but you will appreciate it when people go on holidays, and you know that at least one person in every zone can pick up any piece of work.

Over communicate

One of the challenges of working remotely is that we cannot see others working, and we miss the casual chat about how they are progressing or what they are doing (sure, it is covered in the daily stand-up, but there is a lot more than what is discussed by the whole team in just a few minutes). Due to this, in case of doubt, it is better to over-communicate and explain not only what you are doing but also why, as many people may wonder why you are working on something that may be key for a project but may not sound very important to them.

Do more team activities than if they were at the office

It is easy to lose track of what others are doing or why they are doing it, as we cannot go for lunch together, spend time out of the office doing social activities, or team lunches, etc. Due to this, it is important to talk more about what is being done and why, so others know what is going on, have demos to see what others are building, do knowledge sharing sessions about technologies you are learning, etc.

Have 1-1s as if they were at the office

Some managers don’t have 1-1s with remote developers, especially if they are contractors or they work for an outsourcing company. However, that way they cannot give frequent feedback about how they are working, what is expected from them, if they should try to improve in certain areas or skills, etc. Also, the developers feel less confident as they don’t know if their managers are actually happy with what they are doing.

Don’t work in more than two separate working zones with the same team

I used to have people in the team working from India and San Francisco. This sounds great as it covers 24h and makes it easy to offer support, but makes it very difficult to do team activities like design or training sessions, as some team members finish working hours before others wake up. Also, if you manage the team, you will find yourself replying to emails from the moment you wake up in the morning until you go to bed in the evening, which makes it difficult to have a work–life balance.

Call if you want to discuss something

When we are in the same office, it is easy to have a chat with a colleague as we can see when they are free or taking a break, and we just have to pop over, but it feels less natural to call by phone as we don’t know if we may be interrupting when they are focused. However, it is good to call when you see that a topic needs to be discussed more broadly than over a chat window, mostly when others are not very talkative and need to be pushed a bit to discuss unclear requirements.

Try to meet the team regularly

It is really important to meet in person the people we work with, as we can understand better how they are, and it helps strengthen bonds, which is very important when we have to trust them to get the work done. If you don’t live too far from the remote offices (e.g. a few hours train ride), try to go at least a couple once per month. If you live on the other side of the world, try at least once per year so you can meet in person the new members of the team, spend some time going out with them for lunch… so you really know how the people you work with on a daily basis are.

No comments to show.

Leave a Reply

Your email address will not be published. Required fields are marked *

Let’s keep in contact!

Fill the form and you will be the first one to read the new posts 😎

Check our privacy policy to know more


Leave a Reply

Your email address will not be published. Required fields are marked *