Twelve years of remote work

Twelve years ago I stopped writing PHP code at work. And moved to paid embedded consultant role. Remote paid embedded consultant role even. And never moved to office since. Companies paying for my work were changing, flats/cities were changing, desks too.

People ask me how it is to work remote at each conference I attend. Often say that they could not work because of a company they work for or because they do not feel that it would fit them. Usually it comes to distractions, being at home etc.

So what you may need for remote work? It can differ. For me there are several requirements:

Job requirements

First of all being remotee does not work when company does not allow to be out of office whole time. All those offers with “we allow one day per week to be remote” are a joke. It shows that company tries to follow trend but is not ready for it yet. In such cases most of the discussions are during physical meetings (so without remotees).

Work hours

Other thing is work hours. The first company I did remote work for was OpenedHand from UK. We had three time zones in use every day: UK, Europe, Finland. Which mean that if I start work between 8:00 and 10:00 then it is fine. But that is also common in non-remote work too. There I usually kept same/similar work hours that office guys did.

When I moved to work for other foreign companies (Red Hat Polska sp. z o.o. is Polish company but we can ignore that here) time difference usually got added.

Task oriented job

Time zone differences mean you can not keep same work hours as office. This is where task oriented job starts. You need to know what you have to do and when deadline is. And do that in time which fits you best.

This allows to take your child to a doctor or cinema during office work hours and spend other part of day on tasks.

If you bill by hours then some tool to mark hours/quarters you worked for customer is good to have.

With such kind of work come reports. Depends on company it can be weekly emails, jira cards, bugtracker issues etc.

I remember working for Vernier company where we had nine hours time difference. First we spent few hours on discussions what we need to do, how we split work into tasks. Then each day started with mail, ‘git svn pull’, changes, builds, commits, rebases and at the end of my day ‘git svn dcommit’. And email with list of done things, what needs work on their side, patches for review and plans for next day. This gave us 16 hours long developer days.

Free days

Depends on your contract you may or may not have days off available. If you have tasks to do then you can travel and work at your destination, right? I often took my daughter to my mother in a way that they were going to a beach or something while I was working.

Self discipline

This is where many of people give up. Not being in an office means you can do whatever because no one will notice, right? Yes and no at same time.

Wasting time

From one side it helps you waste time on whatever you want. But once you start piling not done work someone will notice. And you may have discussion with manager or lose contract.

When I worked on OpenEmbedded it was often “do some changes and have few hours of time due to build taking place”. Upgrading machine helped (or having remote access to powerful builders). Now my builds do not take so much time :D

This was also a time when to learn something, clean a flat, do laundry or even watch some TV series episode.


Make sure that you have proper desk and chair. Read safety regulations and choose wisely.

Select good input devices. I use Microsoft Ergonomic Desktop 4000 keyboard and A4Tech Bloody ZL5 Sniper mouse. Huge mousepad helps (I use 35x45cm one).

Go for two/three monitors (same model if possible). Or one ultrawide (3440x1440 is nice). Mount them on arm to have space under them available.

RSI and other issues

Repetitive strain injury is something I would not wish even to enemies. Here is where combination of desk/chair/keyboard/mouse helps.

Do breaks during work — I use RSIbreak application to force me to do them. 20 seconds every ten minutes and 60 seconds every hour. Enough to look at something other than display (short ones) or walk a bit (make coffee, grab a fruit).

If you feel pain in your back do something about it. Massage helps. Pay a specialist to do it. And then repeat from time to time.

Check your sight yearly if glasses/lenses or bi-yearly if not.

Would I go back to an office?

No. Got used to work in environment that I control. Where I can choose if I want silence or some music. Where I meet other people when/if needed.

From sprint experiences I know that two-three days of work with some other folks exhausts me. Then I required headphones for the rest of week and a place to sit and work without interruptions.

company life