It struck me the other day, that I've now been a full-time remote worker for more than ten years. As the technology for working away from company offices slowly gets better, I'd like to hope this approach to work was getting more common. After all, it has the potential to save companies money and it has the potential to give you back a couple of hours of your day that you don't need to spend commuting.
So just in case anyone else is thinking about trying working this way, I thought I'd have a go at setting out some of the challenges I've had to address over the last decade.
The first thing I'd say is that working like this is probably not for everyone.
You have to get up every day, and get on with stuff without anyone you work for being able to see what you're up to. For anyone who finds themselves easily distracted, or not motivated by their work this can be a challenge – especially if your remote working is happening from home. Daytime soap operas and Facebook can seem way more interesting than that spreadsheet you're supposed to be creating, right?
To maximise your chances of success, try and segregate your work from your home life as best you can. If you have the space in your house, having an office room where you can go and close the door to work can be really helpful. This helps to reinforce a mental routine of "going to work", and it gives you somewhere you can leave the work behind in at the end of the day. If, like me you have children, then it also gives you a bit of protection against finding that the agenda for tomorrow's Big Meeting has been used for super-hero drawing practice...
Having a separate work space can also help you with the opposite problem too – being able to close the door on work at the end of the day helps to prevent work from spreading into your home life.
This is probably the easiest one for us technical people to deal with, right?
Having moved around a bit in my life, I'm also fairly certain it's not just that some companies are worse than others. A service which is great in one location may have terrible network contention or line quality problems in another part of the country. So local knowledge can be key to getting a good service.
While it will cost more, finding a business-oriented provider can have a number of benefits. They understand the idea of a Service Level Agreement, and will generally give better network uptime. And they are also much more likely to have technical people answering their phones when you do have an issue.
I work in a scenario where most of my development is done over remote-desktop connections to cloud-hosted machines. That tends to mean that no network means no useful work, rather than just losing access to company source control for a while. So if, like me, your connectivity is really critical to you, you might want to consider having more than one connection. I've ended up with my "home" broadband provided via a cable TV service and my "work" broadband provided by ADSL. The differing technologies here have complimented each other well, as outages affecting one rarely affect the other. So if the ADSL is on the blink I can swap over to connecting via the other service. When they're both working, it also means I have a high-bandwidth connection I can use for big downloads without affecting my work data. Grabbing that 10GB of ISO files from MSDN works much better over a cable modem...
A common alternative to using a UPS is just to do your day-to-day work on a laptop, since they have a battery in them anyway. If you're going down this road I'd suggest that investing in a laptop with a good screen is important. You're going to spend a lot of your time looking at it, so while that 13″ ultrabook might seem great for travelling, it'll probably lead to eye strain if you try to spend a whole working day staring at it.
And you'll need some software on top of all the hardware as well:
I've used most of the major players in this market over the years, and they all have their issues. You'll experience bad audio, dropped connections, invitation links which don't work and unexplained software incompatibilities. In much the same way that ordinary phones can be a bit flaky. But generally they'll work most of the time. I can't really recommend a best one, so I'd suggest trying a few and finding the one that you feel is the best fit for you.
You'll probably find you end up picking one service for your connections to colleagues in the office, but you'll also find that some clients will have chosen a different service. That tends to mean you end up using these other services less frequently. An important thing to watch out for here are software updates. I've you've not used a particular service's connection client for a few weeks, clicking the "join now" link in a meeting invitation can require you to download and install the latest version of their software. I find connecting to meetings a bit early to check the software is working is a really good idea for saving embarrassing moments with important client calls – trying to join two minutes late and then having to spend a further five minutes on a download and reboot can be very frustrating.
I'd also recommend a headset microphone rather than built-in or free-standing ones. You want a good quality one so it's comfortable to wear and has decent sound quality. Having the microphone stay a fixed distance from your mouth means a stable volume level for the people listening to you. Try to choose one with a directional microphone that's aimed at you so it's less likely to pick up extraneous noise. You might want to avoid the ones that have a "push to mute" button half way down the cable – they seem to be way to easy to activate when you didn't mean to.
A decent webcam can be helpful too – it's surprising how much easier a conversation is when you can see the person who's taking.
Quite a lot of people also swear by applications like Slack and Yammer instead of normal email. I'm not really a big fan of either of these, but I do agree that efficient text-based communication tools which suit your and your team are as important as audio and video. Try some of the tools on the market, and pick the ones that work best for you and your colleagues.
If you're lucky, your network admins will make use of the built-in VPN client software in Windows (or your preferred operating system) and the associated Remote Access Services which can run on your office network. I used this approach for some years, and it worked easily and well for me.
Take care if you find yourself using a VPN which relies on IPSEC packets alongside a router which employs NAT. My experience of this has been that it's very dependent on your router whether this will connect or not. Some routers which claim to support "IPSEC PassThrough" don't seem to mange it correctly. And a surprising number don't even have an option for this. Hotel and train services often suffer from similar issues – but here you rarely have the option to try fiddling with the settings in order to fix it. Generally, I've found that the SSL-based VPN clients are more likely to connect over whatever infrastructure is to hand. But I expect they have trade-offs in security and performance terms, so they may not be right for everyone.
Custom VPN client software can also be poor at keeping up with changes in operating systems. When my work computer moved from Windows 7 to Windows 10 this caused quite a bit of hassle with our current VPN client software. So it's worth checking the compatibility of new OS versions with your VPN software before upgrading.
Once you get past the personal and technical issues, the other thing you have to consider is that your work process needs to change to adapt to being remote. The rest of your office are going to need to avoid forgetting you're still working – out of sight is out of mind, after all. And you're going to need to change how you think about working to cope with the loss of all those "over the desk" conversations and glances at whiteboards that you used to get information from.
These are some of the reasons why the proponents of many common agile methodologies recommend having all of your team in the same room – the ease of communication. However, that's not to say that you can't have a good team who are in different locations – lots of people manage it. But it requires you to actively work on sharing information around the team.
The best ways of achieving this are going to be different for each team, I suspect. But things that have helped me include:
The other challenge you may face is from management. Some managers find it really difficult to cope with being in charge of people they can't see. They can fall really easily into annoying patterns of micro-management. Constant status meetings, calling you every hour to check if you're still there, doing that thing for them. This sort of communication can be really frustrating. The best way I've found with dealing with this to ensure that when you're given tasks, you get priority information and deadlines agreed at the same time. If you agree "I'll do Task A first, and have it done by 3pm tomorrow" you're justified in reminding the manager to leave you in peace if they start hassling for updates before the deadlines. And it's probably also worth noting that agreeing task deadlines like this is also good for helping you to avoid procrastination as well. (And of course this sort of trust cuts both ways – you have to meet the deadlines you agree!)
I suspect this post has gone on long enough already, but:
And on that note, I'll go back to work.