Remote work comes with its own unique sets of challenges and, as we’ve seen, unique opportunities. When a team is already working remotely, be it partially or fully, it typically means set schedules and communication tools already are in place. This makes it easier to continue to focus on remote communication and collaboration tools over time.
Remote work also means that the workday isn’t governed by the same structures as an office would be. Teams working remotely are more self-organized and can set their own hours. Flexibility can help promote focus, creativity, and efficiency. However, it also takes a proactive and conscious effort to make sure each team member feels valued and heard.
This challenge of communication is what makes remote working challenging. To successfully manage remote workers, you need to make sure you address each of the three phases of communication management.
Planning
To ensure great communication, you need to set aside time to discuss the goals and update everyone on progress towards that goal. You should also consider how you’ll share ideas and feedback. This might require more than one meeting per week. It’s imperative to address these goals and ideas as a group. Individuals don’t know what the other members of the team are working on and, most likely, have different perspectives. Both of these issues will lead to frustration and wasted time and prevent team members from forging a single team identity.
Communicating
Once you have answers to your planning question you should set up a system to communicate them. This could be as simple as setting up a shared group calendar, or it could be a complex email system with strict rules about how many emails can be sent per day and a heavy focus on archiving all the previous threads. The important thing is that everyone is on the same page.
Reviewing
Following the communication, it’s vital to review everything. This doesn’t have to be a long meeting or over in one day. Asking a simple question, like “what goals for the next week and what did we do to hit those goals last week?” is a great review that can help everyone stay connected.
Working across different timezones
via GIPHYWith geographic distribution becoming a more common feature in the software engineering industry, remote teams need to rely on technology to collaborate effectively. Communication channels that are fast and asynchronous are necessary for distributed teams to keep things running smoothly.
Now that you have to depend on other teammates to get your job done, you need to make sure you’re communicating clearly. You need to make yourself available during work hours, but more importantly, you need to take the time to come up with a real plan for how you’re going to collaborate with people across time zones. Here are some tips for staying on track when you are working with teammates across timezones:
Use video/voice calls
It may be tempting to skip a call and just shoot off a few messages, but a video meeting every few days is highly recommended. This gets everyone on the same page in terms of what others are working on, who else may be available to jump in on a problem, and who needs to be kept up to date on a certain project. If someone is unavailable during a scheduled meeting time, make sure to reschedule once the person is available again.
Inform teammates of schedule changes
If you are going to be unavailable for the next few weeks, make sure to tell your team. If you’re still working, you can still help with issues even if you’re not in the office. Plan project meetings in shared times. Some cities are better for this than others. Try to work around your work schedules, and find good times for everyone to connect.
Use asynchronous methods
If you don’t have a close relationship with someone, tool like Slack and email are very useful. They help prevent cases where your coworker is waiting on you to respond so that they can move forward with their own work.
Asynchronous vs Synchronous communication
via GIPHYWorking remotely as a software developer provides two ways to communicate with your team: asynchronous communication (email, chat, video, etc.) and synchronous communication (video-conferencing, instant messaging, collaborative IDE, etc.). Both are useful and effective for different kinds of decisions and tasks.
When you work with a remote team, asynchronous communication systems can help to manage the load when you need to interact with each other, thus helping to make everyone's lives easier especially when working across different timezones.
You need to understand that once you are remote, you don’t need to sit down at a table, look at each other and talk. Instead, you can work independently with remote team members. This is a huge benefit for a lot of people who aren't able to communicate well face to face. You don’t have to worry about how to work better together or be side by side in the same room. You will have a lot more flexibility to choose when to work with your remote teammates.
One of the biggest problems with asynchronous communication systems is that it is easy to lose sight of what's going on. It is extremely difficult to get a sense of what is happening unless you have someone “watching” the communication channels 24/7. This might be one of the reasons for a gap between the communication systems and the actual communication. You can't assume that people read what you said, or that they will get back to you by a certain time, or even that you will get a clear answer to specific questions.
The different people will have different styles of working and communicating. If the team plays well with asynchronous communication this is a great way to keep in touch with each other. But if the team doesn’t have a great sense of working in this style, you will be in trouble. The team members will need to be proactive about communicating with each other since it is not an automated process. They will need to stay on top of their communication and make sure they're getting what they need.
In synchronous communication, the communication is happening in real-time. After a group decision has been made, the people who are working on that group decision can get together and work on it together. You can have a collaboration using Duckly or other video chat software. Synchronous communication is really important for any project that is working in more than one place, or on more than one person. For example, if you are working with a team that is in different time zones, you will need to do a lot of synchronous communication to make sure you are all on the same page.
Time zones can make it hard for engineers to communicate during work hours. It can make working together feel like an inconvenience. But there are technical solutions to help with timezone differences. The two most popular time zone challenges are asynchronous communication and lean timezones.
With Asynchronous communication, you are able to send messages to each other when it is more convenient for you. There is no time pressure for your message so you can take your time to think about what you want to say. Then you can type out your thoughts and send them off to your teammate. This is effective because you think on your own time and then send when you’re ready and it is quick for the person to get back to you.
With Synchronous communication, you call your teammate during normal business hours from your desk or on your cell. Your teammate is sitting close to you and you can communicate while the ideas are fresh in your mind. The person on the other end of the phone can respond to you immediately. This is effective because you can shape your idea before you lose it and stay in the moment with your teammate to respond to your message.
Time zone differences are one of the most challenging parts of working with your team. Having your team share a similar time zone will help make it easier to talk to each other and work with each other effectively.
How to ask for help
via GIPHYWorking remotely presents some challenges. You can’t just ask your neighbor a question and walk over to their desk. Developers who work remotely need to be efficient and independent. Yet they also need to collaborate with the rest of the development team if they are to be truly effective. However, many developers find it hard to have the right conversations and ask the right questions when working remotely.
The perception of distance and delay can make it difficult to get help. On the other hand, there are advantages to remote work that set us up to ask for and receive help.
It may seem obvious, but including a screenshot or a video walkthrough is the easiest way to get technical help quickly. If you need help with a project, a tool, or a concept, consider setting up a code-sharing session. Have a video call with a coworker, give them a project on GitHub, and walk them through it via a code-sharing tool like Duckly.
Here are some tips:
Know the context
Before jumping in and asking for help, it is important to understand the context. Is the question specific to your project? To the build, you are working on? Or is it a more general coding question? Ask yourself and the people you work with if you have the right context, and dig deeper if not.
Have patience
While a developer might be ready to ask for help immediately, remember to pause, take a breath and try and look at the problem another way. This will help you formulate a better question, and reduce the frustration of asking for help – which is really counterproductive when working in a team.
Go to the right place
When asking for help, sometimes it takes two to tango; two people knowing the right questions and the right answers. Going to the right person can make a massive difference, the developer should consider that they are part of a team, where others also help each other, and they also need and deserve help.
Another tip is to relay the context for the problems you are trying to solve. In terms of communication, let your team members know what you are trying to achieve when you are asking for help. This will help them to be more helpful.
While having the right information at hand is important, providing context for your question also helps your team members to understand why you need the answer and what you are aiming for. This will help them to provide you with better suggestions or feedback.
What about junior developers
via GIPHYIf you’re a junior developer who has just joined the team, you might be wondering how to ask for help. You’re not sure where to draw the line between working independently and collaborating with other team members.
The best way to get technical help when working remotely is to ask for it in the form of questions. Too many junior developers mistake asking questions for failure. Why is this? Because it’s often very hard for them to articulate what they are doing and why they are doing it in a way that’s easy to understand.
Rather than approaching a more senior team member simply as a “teacher”, it is best for the junior developer to approach a mentor as an equal. In other words, if you have a question, just ask it. If the person you are asking is too busy to help you or does not have the time, she would say so and, if there is a chance, she would ask someone else who does. However, this rarely happens.
Also, if the senior engineer is not available, it is best to go to the source and simply ask the question on Stack Overflow or other platforms. The network of developers who contribute to Stack Overflow are highly qualified and are masters of their own domains.
The fact is that there’s rarely a need to ask someone for help in the form of teaching. People are usually more than happy to help. Inexperienced developers might think they need to be spoon-fed, but this is not true. People are more than happy to help you out on Stack Overflow or in a Slack channel when you ask for help in the form of questions.
Here are three things to help the process of asking for help:
1. Take ownership
Instead of saying, “I’m having these problems because you guys suck at X,” I wish I came to the conversation with a more productive attitude. Instead of saying, “I’m having this problem. What do I need to have done by Friday?”
2. Don’t apologize
When asking for help, don’t apologize for the fact that it was even necessary. It’s better to ask for a meeting before you’re in a crisis, instead of after. You can avoid it altogether.
3. Be specific
If there’s an issue that has already happened, try to remember the steps you took to get to that point. If it’s in the future, be as specific as possible.
Never assume that someone will know what you’re talking about. Discussing your issues as soon as possible will save you a lot of time and unnecessary effort, preventing a lot of unnecessary work.
Working remotely with healthy routines
via GIPHYAt first, remote work might seem counterintuitive. No office or commute? It’s easy to reason that a remote worker must also mean no productivity. But as more companies launch and succeed with remote work policies, it’s undeniable that flexibility is now a part of the job description — for good. And that comes with a host of benefits.
To work remotely, it’s important to create a routine for yourself. In a world where work is available 24/7, and you are able to work from anywhere, it is vital to set a schedule for your work and your life.
Focus is imperative in a work routine. Not only focusing on smaller tasks, but also on the overall goal. The key to being productive is to maintain a balance between the time spent on planning and executing.
Working from a cafe is fun from time to time, but in the long run, it’s best to set up a separate working space. This prevents others from distracting you as they come and go, and it also keeps your items secure.
The environment in which you work is also important. It can be hard to keep working in a noisy cafe. Make sure to take breaks, and to set up personal space for your working routine. While it is not a must for everyone, working out each day can improve your mood and help you sleep better. Working out is also proven to help you feel less tense and more energized.
Remote work can increase collaboration and it's a critical part of improving people's work-life balance. With the correct methodologies and the best tools working remotely can be a huge productivity book. But remember, there is no one-size-fits-all approach to communication.
Working remote requires a team effort. Hone your communication skills together with your team to create a powerful culture for remote work in your team.
First Gif illustration by Pako.