7 months as a remote developer
At the end of last year, we decided with my wife to get back to Toulouse (France) after 5 years in London. As an Android developer at Deliveroo, I had a very exciting job that I didn’t really want to leave and I was very lucky to get the opportunity to keep the same job as a remote developer. My product team is based entirely in London so we needed to adjust a bit but I wasn’t very anxious, we have a very nice team culture and everyone supports each other when needed.
Working remotely was fairly new to me. I did work for a few months from home a while back, which didn’t really work for various reasons. But I wanted to try again making sure I wouldn’t do the same mistakes this time.
Over the past 7 months, I’ve built some habits. A lot of these could be applied to non-remote employees. But being remote have made them necessary for me. Of course, these habits were built based on my way of life, they might not work for everybody. Let’s go through them…
I could not always work from home, I would always be tempted to watch TV or do something else.
Most people think they would not be able to work from home because there are too many distractions. It is easy to think it is a less productive environment. I actually believe remote workers are more active than they would be if they were in an office. When I am not sitting next to my colleagues, I tend to over-communicate to prove that I am being busy. And this is not a consequence to an excess of pressure from the company I work with, the pressure comes from me. In an office, employees see each other come and go and it is easier to stick to work hours. At home, they are an avatar and a name in Slack. So the first thing I learned when working remotely is the least fun one: discipline.
Having a structure gives me more control over my work day. I boot up my laptop at 9:30am, take an hour break for lunch from 12:30pm and then get back to it until 6:30pm. For transparency, I keep note of each of these times as calendar events in Google calendar. And anyone who would want to book a meeting with me would know I am not online outside of these work hours. Of course these times are not set in stone, and sometimes I can start at a different time or take an hour break to go to the doctor. I would then adjust my calendar events around that. In any case I always make sure to work no more no less than I would work if I was at the office.
I know this may sound radical. But it has proven to be a great way to keep a good balance between my personal and my professional lives.
Communication can be hard
Another thing that needs to be adjusted when working remotely is communication. When I was at the office and I needed something from my fellow designer colleague, I usually went to talk directly to him at his desk. But this doesn’t really work when your only point of interaction is Slack. You can always ping the person in a DM or in a channel, you will get an answer when they open again Slack. And then sometimes they are out in meetings or on holiday and you find yourself not sure what to work on. I learned to get used to it but at the beginning it wasn’t easy to adjust myself to my new communication mediums.
Things got easier when I realised that I was working one day after the other without really planning ahead. When you are stuck in your task and rushing to finish it, the vision is limited by the end of the task. And then when the task is done, you are like “Ok, what’s next?”. That works well when working in the same environment and in the same timezone as your colleagues. But sometimes you won’t get that answer straight away when working remotely. So the solution is to plan ahead and try to anticipate this kind of questions.
And that applies on both sides. It is also important to give a way to your colleagues to anticipate this kind of things. They won’t see you every day so there won’t be any quick small talk around a coffee or during lunch. One thing I try to do is to share my progress as much as possible. In my team we have daily standups where project leads share the general progress of their project. So every morning before standup I share to my project leads/peers what I did the day before and what I’m planning to do the day after. And when something gets released or if a task gets done, I try to share a couple of screenshots and videos on Slack.
I’ve talked about Slack but it shouldn’t be the only medium to communicate with the members of your team. While Slack can be a fabulous tool, it is really hard to follow. So sometimes it is hard to get to the bottom of an issue and having a chat over a Hangout call can solve it in 5 minutes. I share my phone screen with Vysor and connect my phone to Charles and everyone is on the same page. While discussing a code change over a Slack thread is simple, it is much more painful than opening a pull request on GitHub and take it from there. I think the key is to find the right tool for the right kind of discussion.
And words are not your only language, use images, screenshots, videos, gifs to illustrate what you want to share. Use that internet bandwidth for more fancy things than UTF-8 characters. A picture is worth a thousand words.
My commute is the worst. After I jump out of the bed and prepare my bowl of muesli in my kitchen before a quick shower, my desk is in a separate room at the end of the corridor. If I’m in a rush, this can take up to 3 minutes, awful.
One risk of working from home all the time is to stay home… all the time. Six years ago I tried working remotely for a few months and it drove me nuts because I was never going outside. The human body is not made for staying inside all day long, sitting in front of a bright screen. This time I didn’t want to do the same mistake so I push myself to go out at least twice a day. Having a run in the morning is for me the best way to start my day. And I always try to find a reason to go out at the end of the day. It can sound silly but I believe it is this kind of little things which makes remote life work.
And there’s nothing worse than ending a day with a bug. How many developers get suck with a block of code in their bed because they didn’t solve it before 6pm? The nice thing about commuting is that it gives you the time to tell yourself “That’s fine, I’m sure I’ll get to the bottom of it tomorrow morning.” And most of the time you do, right? I don’t commute anymore but when I get stuck with some programming dilemma, I try to reproduce a commute by going around the block and coming back.
Me: See you tomorrow folks!
My wife: …
10 minutes later after a walk
Me: Hey Honey, you had a good day?
I might sound French when I say that but I love having a long lunch! In France, an expression to define lunch is “entre midi et deux” (between noon and 2pm). I can’t really take two whole hours every day but at least every day I take the whole hour to have a proper break. This year my wife was studying from home so I was lucky enough to have lunch with her most days. This was a great way to think about other things than work for a little bit. The brain needs this sort of things, we are not programmed to work 8 hours non stop every day.
Having breaks is another way to clear the mind for a few minutes. Nobody will come and poke you for a coffee when you work from home. I don’t take a lot of breaks but when I feel like my brain doesn’t follow my body, I do a few 52/17 sessions. I found it to be a very nice way to stay focused all day long.
The nice thing about working in an office is the socialising part. In a company of the size of Deliveroo, you get to meet a lot of people inside and outside the office. It is obviously something I missed from the beginning. But it also pushed me to get outside and do some social activities. Going out running with some friends, play boardgames when I can, spend more time with the people I love… It is a bit strange at the beginning as it feels less natural but after a while you get used to it and while I might not see as many people as before, I spend more quality time with my close friends and family.
Build a workspace
One of the cool parts of working from home is that you get to build your workspace as you like. The most important thing for me was to have a separate room. Being able to close a door at the end of the day is a nice way to say “That’s it for today”. It would be hard for me to separate my personal and my work lives if my desk was in my living room.
As software developers, we all know that we can’t do much without a good Internet connection. It is even more true for remote developers. My connection is not amazing but it does a good job. One day it stopped working for an hour and it was a real pain to rely on my 4G mobile connection. For remote developers, having a bad Internet connection is like losing your voice when you are at the office: you have a hard time communicating and you’d better stay off for a few days.
I found it funny when I saw myself building some habits when working remotely. In the morning when I “go to the office”, I put some shoes on and say goodbye to my wife as if I wouldn’t see her before the end of the day. It helps me to separate my work life and put my brain in “work mode”. And my wife and friends know that I’m at work. While it might be weird, they won’t go check my room and say “Hi”. They know they can wait for me to “leave the office” like they would do if I was working outside. I think it is important to have these boundaries to build a sane work environment.
Stay connected with your team
As I worked for a year at the office, I know most of my coworkers pretty well. So it is never been really hard to communicate with them. But sometimes, being an avatar can affect the communication. At the office, I usually had (very) random chats in the morning or over lunch. That’s when it is easy to build relationships with other people. You don’t get this sort of relationships anymore when you work remotely. It is easy to become factual and stick to work material. But no one would want to work in such environment, we all need small talks and to have a nice relationship with people we spend more than half the day with (well a bit less when working remotely, but you get the idea). I think it is important to be conscious of this and keep having casual chats when we can (over Slack or Hangouts or other).
When I went remote, we set up a new thing with my team. We call it the “window”. It is a permanent hangout with my team’s desk and I can join whenever I want. I don’t do it all day as open space environments can be noisy but I try to join an hour every day to say 👋 to everyone and work on the side. It helps me feel like I’m still part of the team and I think it helps my team be conscious I’m there too.
Finally I try to visit the office whenever I can. Deliveroo is very supportive and I feel like I can come when I need to. And likewise, when it can be helpful for my team to have me in London, I come over. I usually spend a week every quarter, which gives me enough time to socialise with my coworkers and especially the ones I haven’t met yet.
In short, I’m loving it
Working remotely gives you more control over your life, which also means you have to push yourself to make sure you get everything you need. It gives a lot of freedom, which needs to be used thoughtfully.
I think I started this remote thing as an experiment and it has definitely grown on me. Now I don’t really want to go back, that new freedom suits me very well. If you are unsure about it and the company you work for gives you the ability to do it, try working from home for a few days and see how it goes. I would definitely recommend it!