Having worked remotely before as a software engineer in different settings and finding myself in a fully remote position nowadays, I’ve discovered that it is not as easy as one might think at first. There are a few obstacles and pitfalls you might encounter.

Fortunately, I’ve also found a few methods, tools and tips that really helped me and you might find useful as well.

Routines

  • Find a schedule for your work hours and stick to it as close as possible. This will make it easier to avoid falling into two related traps: under-working and over-working. You’ll have to take into account how asynchronous your team is when building this schedule and account for any meetings you might have. Having activities around those hours will also reinforce that you should start and stop working at certain times of the day (see the next point).

  • Create habits that allow you to get out of the house before, during and after work hours. This could be going for a walk/run/cycle before working, having a coffee after lunch in a nearby coffee shop and go grocery shopping after work. The main goal here is avoiding isolation at your place, since for many people most social interactions are made at the office. 1

  • Allocate some space in your home exclusively for work. Again, the goal here is to help your mind figure out when is work time and when work is finished. I find that having a physical space that represents that is very helpful, even if it just a different desk in a room might be used for other activities.

  • Communicate with your family/house mates when you’re working to avoid distractions and interruptions. It is very easy for the people in your household to interrupt you for “just this small thing” whilst you’re in the middle of some very complex train of thought, wrecking it to pieces. Ideally, you would have some ways of signalling that you’re busy and should not be interrupted. This could be having your office’s door shut or having an headset on your head.

  • Dress up as if you were going out for the office. Do not fall on the stereotypical “working from home in my pyjamas”, as it will make it harder for you to distinguish work and leisure time. The same applies to all other morning routines you might usually have before work (showering, brushing your teeth, getting a proper breakfast, etc).

Communication

  • Let your team know what’s your status: say “hi” and “goodbye” when you start and end your day, let them know when you’re out for lunch and when you’re available for pairing or having some other formal or informal chats. It is very easy to fall into the trap isolating yourself from your team and these really simple and small messages on whatever communication hub you’re using can avoid that.

  • Think out loud by writing. This could be in the form of documentation, design proposals or just leaving your thoughts in a chat room. This will make your work more visible and increase the cooperation opportunities within your team.

  • Let your team know when you’re having a bad day, e.g., feeling sick, tired, etc. Since you’re not sharing an office with your team mates, there won’t be any visible clues to how you’re feeling. It is helpful to share how you feel, so that you won’t compromise any expectations that they might have for your work output for that particular day.

  • When participating in video calls, keep your camera turned on and set it up so that your face is clearly visible. We communicate a lot through our facial expressions and you’ll only convey part of your message if you don’t show your face when talking. For instance, emotions can be very hard to convey with words alone.

Tools

  • Get a proper headset, with a unidirectional or bidirectional microphone. Your team mates’ ears will thank you! I’m using the SteelSeries Arctis 3, which is wired, cheap and has a decent microphone.

  • Invest in ergonomics and comfort in your home office. Get a proper keyboard (you’ll be alone most of the time, time to get those clicky mechanical keyboards out!), an ergonomic mouse and a high-resolution, big display (I’d recommend at least 23’’ inch Full-HD display, but a 4K display is preferable) and a good chair (it should have arms raiser, a flat back and be as adjustable as possible). A standing desk might also be helpful, although I personally do not use them, as I just tend to move plenty and often.

  • Discuss with your team what tool-set will you be using for pairing and have you and the rest of the team setting and testing it up. If you’re not on a fully remote team, having a dedicated space in the company’s office for remote pairing is great, since it avoids distracting the whole team when one team member is pairing remotely and talking through an headset. I’ve found that Visual Studio Code with its Live Share extension is great for pairing on code and that Zoom is good enough for discussing ideas and for shadowing on potentially critical and risky operations.

Health

  • Always keep a filled water bottle (500 ml or more) near you. It may sound silly but it is very easy to forget to keep oneself hydrated and having that constant reminder near you is a great way to avoid it.

  • Try to move out of the desk for a few minutes every hour. Go grab a (healthy) snack, refill your water bottle, or just go to the other end of your place. Your eyes and legs will thank you.

  • Physical exercise is a great way to start the day feeling energized.

A final remark

I can’t stress enough how powerful routines are for keeping you feeling productive and find work-life balance when working remotely. If you can only take one piece of information from me, take this: find a time, place and rhythm for your remote work and stick to it as much as possible.


  1. If you’re reading this around the publish date, you’re probably aware of the current COVID-19 pandemic and that you should be isolated; you can however go for a walk on yourself and avoid contacting other people, it’ll make you feel better anyway. ↩︎