Around a year and a half ago, I transitioned from a full time onsite position to a full time remote position (same employer).
Many friends and coworkers tried to pick my mind on why I ended up working remotely. It was unexpected, especially because I had been a bit vocal against remote work in the past. I used to think that it wasn't possible to be as productive when working remotely. However, I have since changed my mind and would like to share with you some of my past beliefs and what I think about them now.
Note that in my current remote position, I work in a time zone that is 8 hours away from the rest of my team.
“Remote work slows down software development”
I used to think that when remote, certain software development processes would slow down. I thought this because:
- Getting the attention of somebody who you might need right away is harder. This is because you can't just walk up to people but also because of timezones.
- Motivation (which increases productivity) is harder to come by because you don't spend as much time with your coworkers.
- Brainstorming and discussing tecnical and UI/UX decisions is harder because of video chat latency (more on this later).
I still think these points are somewhat true. However, they don't mean that remote software development is slower. The truth is that there are many aspects about remote work that counter the previous points and actually speed up software development:
- Decisions and overall communication has to happen more asynchronously which has the added benefit of making information easier to find.
- More respect for everybody's time (e.g., not always expecting people to reply right away because you can't see them at their desk) creates a less stressful (and thus more sustainable and productive) environment.
- People can much more easily work in a distraction-free environment which means that they can engage in deep work (which is necessary for a lot of harder technical tasks in software engineering).
- Less time spent in commute and more "useful" time in our lives results in tremendous happiness and productivity boosts. This is by far the most important aspect of all. It's hard to put this into words but in the long run nothing allows for as much productivity as living a happy, stress-free and stable life.
“Work-life balance requires an actual office”
I used to think that in order to have a healthy balance between work life and personal life, one needed an office so as to properly "disconnect" at home. I still think this is true for some people, but working remotely does not imply working from home. In most modern medium-to-large sized cities, it is easy to find a coworking space where people can work from. I personally signed up for a coworking space that is situated at the perfect distance from home. It's around 10 minutes walking time which makes it not too far but also not too short (allows for separating my personal life from my working life without too much commute time).
One underlooked aspect of working from a coworking space is that you meet and hangout with people that don't work for the same company as you do on a daily basis. This means that you can more easily learn about different things outside of your work environment. To me, this is amazing. I have conversations about more widespread topics with the people around me instead of always talking about the same stuff.
“8 hours of timezone differential is too much”
This one is tricky. Timezones are indeed really tough. To give you some context, 8 hours of timezone difference means that if there is one person on each timezone and they both work 9 to 5 (standard working hours), then they will never have any overlap. Without overlap, there can be no calls nor meetings and that doesn't really work out. So, I had to learn to compromise. Sometimes, I'll start working a little later than I normally would in order to have some overlap and attend meetings. Other times, I'll take some time off in the middle of the day and then work a little bit more after dinner. To sum up, I have to take advantage of the freedom I have but at the same time I have to be disciplined in order to stay sane and never overwork.
Overworking can very easily lead to burnout and I would say that one of the biggest dangers of remote work is indeed overwork. To be a sustainably productive employee, one must be careful to have a healthy work-life balance. Company culture and managers should help with this by making sure their employees are not working more than expected.
Finally, there are also days when I work 9 to 5 and have no overlap. These are not incredibly common but they are great if you have a good amount of individual work to get done.
“Mentoring requires physical presence”
Mentoring a less experienced engineer does not necessarily require the mentor and the mentee to share the same physical space. However, phone/video calls have some disadvantages:
- Connection issues can decrease audio and video quality.
- Humans read each other's body language cues. These cues allow us to interrupt each other more easily and speed up conversation times.
- In the specific case of sofware engineering and design, showing somebody how something is done can be much faster than explaining it in words. Screen sharing applications can help with this but this type of flow is usually faster when we are physically together.
However, working remotely does not mean people can't meet. I fly to be with the rest of the team many times a year and those weeks that I spend with them are always very productive. They are mostly focused on learning, bonding, sharing knowledge or collaborating on very specific complex tasks. These moments are perfect for mentoring but it is important that these mentoring opportunities are well planned.
Bonus: some tips for remote workers
Now that I have presented my thoughts on remote work, I'd like to share with you some tips if you ever find yourself in a position similar to mine:
- Be disciplined about separating work and personal life. This means not working from bed and not having Slack (or work email) installed on your phone. It can work for some people (and for people who travel a lot these can be really important) but it's really easy to mess up your life to the point where you don't have a clear boundary between what is work and what is personal life.
- Learn to respect other people's time. Don't expect Slack (and similar tools) to be instantaneous. People can be in meetings, in the bathroom or simply resting a litle bit. Trust coworkers to get their work done on time and schedule calls if you need real-time interaction with somebody for a certain amount of time.
- Document, document, document. Learn to document as many processes and "gotchas" as you can within your team and company. Internal wikis are great for this, especially if they have a VCS-like history feature.
- Plan, plan, plan. The more planning you can do for all sorts of interactions between team members, the easier it is to do all of the above things (separating work from personal life, respecting other people's time and documenting stuff). Great remote workers should be great communicators and great planners as well.
Let me know if you have any tips for me or if you have anything to add to my article.