Remote Work: Introduction and Tips
Many companies around the globe are hiring remotely and this number is only increasing. A remote worker is an employee who does not need to commute to an office or any kind of central place of work.
I currently work at Magnetis Investments, on a team with around ten software developers for. Most of them, as me, are fully remote and we live in states other than the one from our company’s headquarters.
As a remote web developer, I'm writing this post with a small introduction and some useful tips for those who are considering this alternative. This post is also for those who already are remote workers and seek for improvement in their routine or practices. Even though we're a team of developers, most of the concepts and tips bellow can work for any area.
Let's start with…
Some Pros and Cons
First of all, what do you have to keep in mind when considering going remote. There are way more topics on each subject and each person may consider different things as pros and cons.
One of the main advantages for working remotely is the lack of commuting. Spending a couple of hours daily on traffic can be a pain in the ass for most people.
The lack of geographical barriers also enables companies to hire good employees wherever they want.
The other way around is also totally true. Even if you don't live in a tech hub, you'll still be able to find a good job somewhere else without moving.
It demands more organization from both the company and the employees. People will have to take care of themselves and be trusted with this kind of responsibility.
Loneliness may also be a problem for some people and must be addressed by managers with some practices I'll describe in this post ;)
Productivity can also be another problem. Some people can underperform due the lack of "supervision" while other can work way too much which can lead to burnout in the future.
"Remote work isn't for me"
Well, maybe it isn't and there's nothing wrong with it :)
But keep in mind that a whole lot of people already does remote work but does not realize it. Outsourcing workers mostly do their jobs as remote workers for other companies. One of my previous jobs was as a outsource developer. Even though I was located in Brazil, my client's team was located both in other cities from Brazil as even in the USA (in a different time zone). To them, I was a remote worker.
But again: it's totally OK to not be interested in doing remote work.
What do you Have to Keep in Mind When Working Remotely
Since your team will be distributed (some times even across different time zones), most of your communication will be done through writing. Being clear and concise is essential. Online text chats like Slack and Hipchat will sometimes be your main work tool.
But keep in mind that just text can't solve all of our communication problems. People have different schedules and have to work their own demands. Don't expect everyone to be available all the time and try not to break someone's flow (which in a nutshell can be described as the mental state that people achieve when they're fully immersed in what they are doing).
Here are some tips on how both a team and an individual can be remote friendly.
What a Team Can do to be Remote Friendly
Again, the main goal here is to avoid wasting people's time. Most of the following tips aim to achieve that.
Documentation and Phase In
To achieve that, your team can start by having processes and any other type of flow "documented". This can make the phase in / on boarding of newcomers very easy while preventing someone to have to spend some time on repetitive tasks over and over again. A list of software used by your team, and the reasons behind, as well as a list of obligatory appointments everyone must attend is a good start.
But be careful to not end up with a team too "cold" on newcomers. It's always a nice thing to spend some time and talk with them, specially if this is their first experience being remote. It must be clear to them that your team is open to answer any questions they may have.
Some Notifications are Welcome
As I mentioned, remote workers spend most a good chunk of their day on text chats. For some teams, it may be useful to have some automatic notifications on, to prevent people from having to do the same thing twice (doing the action AND notifying about it). For software developers, for example, it's useful to have a notification every time a new release is made available to their users of if someone found out a critical issue in their code.
You only have to be careful to not flood everyone with each and every type of notification possible. Too much noise can prevent people from focusing or even to paying attention to notifications at all, which can lead too important stuff to going unnoticed.
Make a Good Use of your Means of Communication
Sometimes, only text chats aren't enough. More detailed explanations or long discussions can often be done way more efficiently on online calls in services such as Google Hangouts, Skype and others (Slack, for instance now has this feature built in).
Other important topic on this matter is always try to involve in a conversation the least amount of people needed. If the subject is not from the interest of someone, they should not be involved. Again, this is to prevent people from going out of their "flow".
I have a whole post about means of communication, so take a look if you're interested.
Some Meetings are Okay
Having a short daily meeting to where people describe what they have worked on the previous day is a good way of achieving two good things:
1- Keep everyone on the team on the same page
2- Increase the notion of team
Make sure that those meetings are short and in a good time for everyone. In the middle of the morning or the afternoon are not usually good times for meetings since they can break people's concentration during an important task.
Screenshare and Pair Programming
This is a practice where usually two developers work together to solve a problem. Remotely, it can be done through screensharing tools, which allow your "pair" to see and sometimes even interact with your desktop while having a voice chat at the same time.
It's an excellent practice to promote knowledge sharing and reducing the feeling of loneliness.
Some chat clients like Slack have a built-in screenshare tool. Google hangouts also has this feature (even though it takes much more of your CPU). Screenhero is another great alternative and personally my favorite (but at the time I'm writing this, it's only accepting new users by invitation of current users).
When screensharing, one good thing to do is to disable notifications to keep up your privacy. Apps like Muzzle for macOS (their site is just great) can automaticaly disable notifications when a screenshare tool is on. Using different a different desktop area for work can also help.
But be careful: too much pair programming (like any other type of meeting, actually), can be very tiresome. Ensure that people have time to rest between work sessions. Some people like to use the Pomodoro Technique or other variations on it.
Don't Go Full BIG BROTHER on Your Team
Some companies that allow remote work do that under very strict conditions. They require their employees to install software to monitor stuff like keyboard activity, webcam and microphone, OS processes and others to ensure that their employees were being "productive". Time spent away from the computer (like bathroom breaks) are discounted from the employees paycheck.
I should not have to say that it’s very stressful to work under strict vigilance.
If you're a manager and you're trying to implement remote work for your team, keep in mind that tools like that are not well-seen by many. Trust your teammates and avoid this kind of stuff at all costs.
And if you're looking for a remote job opportunity, be sure to know if the companies you're applying to implement these types of policies.
And now, some tips for individuals on a remote team.
What You Can do to be Remote Friendly
Here the goal is to keep everyone aware of what you're doing.
Make clear to everyone whether you're available for chatting / questions or not. Slack, for instance, has a great status feature where you can easily describe what you're doing in the moment. But just to be clear, try not to annoy anyone in the process. Not everyone needs to know RIGHT ON THE SPOT that you're having lunch.
Having a routine can also help your teammates to be aware that they can or can't count on you for something in the moment.
With that in mind, remember that people have their work to do an they usually can't reply instantaneously.
Also, giving as much details as possible is always a nice thing to have. It'll prevent your teammates to have to ask you from something that was not clear and enable them to work more independently (if they work on a different time schedule than you, for example). Writing more, providing links, examples and related information will take you a little more time, but can prevent much more time waste in the future.
Take Care of Your Health
As I mentioned earlier, home office can be very tricky in terms of productivity.
Be sure to have a clear division between work and free time. When your workday is over, closing your chats, email client and any other thing that reminds you of work can help with this. Some may take this to a next level having an specific spot in their house just for working. Having different desktop areas can also help.
Snoozing notifications is also a great thing to do. It's hard to forget about work when you're constantly being reminded that something is happening there.
This is the type of issue that can, with time, lead to burnout and sometimes leave serious scars on one's mental health. But hey, this is something that already happens even with non-remote workers!
- Remote work can be a good opportunity if can't stand commuting or the place you live doesn't match your career goals
- But has its challenges, specially regarding organization and trust
- A team has to make good use of the means of communication available, always allowing people to have time to do their work uninterrupted
- An individual must keep people aware of what they're doing and remember that their teammates also have work do it
- And always remember to keep work and free time very apart.
Not all of those tips may work for you or your team, and that's just fine. Everyone has a different workflow, after all.
And if you have any other tips or questions, be sure to leave them in the comments :)
Thanks for the reading!