Author: Nick Cameron (Database Engineer at PingCAP)
Editor: Caitin Chen
I’ve been working remotely (in various ways and at various companies) for nearly ten years. I love working remotely, I am happier and more productive. However, it takes some adjustment and it’s not for everyone. Given that we are currently seeing the world’s largest ever experiment in remote working, I thought now would be a good time for a few blog posts.
In this blog post, I’ll go over why you might benefit from remote work and some of the things that I think make remote work successful. In follow-up posts, I’ll give some practical advice for communicating remotely and maintaining a work/life balance when working remotely.
Why would you want to work remotely? More focus, more flexibility, less commuting, a more comfortable office, better work/life balance, etc. For some people, the benefits are overwhelming. For others with a more social personality, or in jobs with more ‘hands-on’ collaboration, it’s torture.
As a company, or team, why should you support remote work? The key reason is that it lets you hire better people. If you can hire for remote work, then you can hire anyone on earth. If you can’t, then you can only hire people who live within a few miles of your office (or are willing to relocate there).
However good you get at remote work, I think a given team working remotely will not be as effective as the same team in one office. However, that is not the question! Supporting remote work means you can hire a better team, and the better team can perform better remotely than a not-so-good team can in one office.
If you have multiple offices, then supporting remote work means that you have more flexibility in making teams since you can choose from the whole company, not just one office.
None of these are completely necessary, but the more boxes you can tick, the more remote work is likely to be successful.
At an organisational level, the most important factor is that your org actually wants to support remote work. It takes some work to accommodate remote workers and some changes to institutional thinking. For example, the org are going to spend more on travel and tools like video conferencing equipment, but less on office space. If deep down, the org doesn’t believe in remote work, then there will be friction at every step.
The org will need a culture of good management. If performance is judged by time-in-seat rather than the quality and impact of work, then working remotely is going to be challenging.
Remote work is easier the more open an organisation is. If there are complex rules about who can see what, then it’ll make life more difficult (you have to think about the security of your computer and network, etc). At the other extreme, if all code is open source and processes are open (e.g., using public GitHub issues for issue management) then things will be better (being able to Google for info is much easier than having to explore some clunky knowledge management system).
A team should have a remote-first culture, even if most of the team are office based. For example, make the default mode for lightweight communication sending an IRC or Slack message, rather than walking over to somebody’s desk. Anybody should be able to get any information they need, or get input to a discussion, online; rather than requiring physical presence.
If you are the only worker on a team who is not in the office, remote work might be difficult. If the team has a good mix of in-office and remote workers, or is distributed across multiple offices, then remote work should be easier.
Management is hard, managing a remote team is even harder. Management is all about people. Doing ‘people stuff’ online is more difficult than doing it face to face. Remote work will be best with an experienced and skilled manager. Even better if they have previously worked remotely and/or managed remote workers.
For an individual, I think whether remote work succeeds or fails is very personal. There are lots of psychological/personality factors which have an influence.
I believe some indicators for success are: previous experience of remote work (and enjoyed it), seniority, intrinsic motivation, self-direction, thriving on non-interuption and focussed time, and not needing too much social interaction.
Tools and processes
Tooling is essential for a good remote experience. A lot of tools which make life a little better in an office are essential for a remote team: issue tracking, CI, chat (IRC, Slack, Discord, WeChat, etc), shared calendars, being able to share and collaborate on documents, video conferencing, etc. Spend some time learning and customising your tools, it’s worth spending a few hours to get a smooth experience – make using your tools as easy as yelling across an office.
Formalising processes is conducive to good remote work. Because online/remote communication is more challenging, informal processes (requiring ad hoc communication) tend to exclude remote workers.
For example, if the ‘process’ for starting a new project is to find interested management and chat with them over lunch, that is very difficult for remote workers. If there is a formal process documented in a wiki, which could be as simple as ‘discuss with your manager, then email this specific person’ then remote workers can be as involved as office workers.
This post was first published here.
A fully-managed cloud DBaaS for predictable workloads
A fully-managed cloud DBaaS for auto-scaling workloads