TLDR; Read how I cope with working remote.
As it is en-vogue nowadays to talk about remote working and one’s experiences, I thought I am gonna join the flock.
This does not mean that this resembles anyone else’s experiences, but I still think there are some tidbits worth sharing in here.
I joined Elastic five years ago without any prior experience in remote working.
Side note: There are folks differentiating between working remote and distributed. I do not in this post, both terms means the same for me, which might be due to not being a native speaker.
There are a ton of upsides to me. Let’s talk about them first. There is no commute time anymore. Even living in a big city means, you got to commute across it and that takes 30-45 minutes - twice per day. The amount of time you save is just crazy. Conservative calculation: Working 180 days a year, saving one hour in total per day is more than a month of working time. On the flip side you usually tend to work longer from home.
Second, I stopped working in an open office. The focus gain is impressive, when you can decide if you want to be distracted or not. At a previous job I had to refactor a core component of our system and knew it would take a few days. So I asked my boss if I can work from home for a few days instead of hanging out in the open office with a over dozen other people. He said I could work from home for the whole week if it helps. That’s basically admitting defeat for your own office and super weird. But just shutting off noise is such an incredibly big advantage. Also visual noise, no one passes by your desk all the time.
Third, I can set up my perfect work environment. I have a small desk, external display, and a swopper as a chair. I am currently thinking about a standing desk, but so far the swopper is pretty awesome, I have not had any issues with my back for years and the swopper looks the same as the day I bought it. I can pick my hardware like external microphone, headsets and keyboards all by myself without having to care for any company standards. Also, awesome coffee machine. Reliable internet connection is a requirement though. At our former flat I had to deal with outages every 10 minutes for 30 seconds, which was super bad for webinars.
Fourth, and this is the biggest luxury, I could see our daughter in her first 1.5 years pretty much all the time, compared to having an office job, where I leave at 8am and return at 6pm. Watching her grow up, being able to play with her during lunch is a huge advantage that I cannot imagine to miss out.
Fifth, if you have the freedom to roam around, keep in mind, that all you need is a stable internet connection. I spent four weeks in Wales in 2017 in a house right next to the sea, a week in lake constance, some time at my parents, a week in the black forest, some extended time in the US just because of this. I have colleagues living a pretty nomadic life, which obviously does not work if you have a kid, but there is literally no need to stay at the same location all the time.
There are many more tiny advantages to me, but I think you get the broad picture.
A few work facts
Let’s look how my work changed over the years based on completely unscientific github commit rates. I do not track my time, so I do not have any other good indicator.
2013 - The beginning
I started in March. It takes some time to get used to home office - it’s OK. I was also travelling a bit, doing trainings and going to conferences and of course meeting new colleagues. My expense stats show 13 travel events this year.
2014 - On the road
A very travel heavy year in the first half. Turned out that I get really tired when travelling too much so I cut back a bit in the second half of the year. 17 times on the road here, mainly doing trainings and conferences. This also showed me, that travelling is quite exhausting for me, despite liking the work I do travel for.
2015 - More coding
Another year with more coding, despite being on the road 17 times.
2016 - Travel cut
You might notice a pattern here. Much more commits, mainly because I stopped travelling from April onwards pretty much. No more trainings, no more conferences, the little one had somewhat priority.
2017 - Full regularity
Last year I kept my travelling pretty low as well, and you can see more regular commits. I only travelled six times this year. We had to move to a bigger flat with the little one, so there was enough action.
One of the upsides at Elastic was the chance to change travel habits easily, just rejecting any travel for trainings was easy, as my main task is writing code (I do miss it though).
Of course, not all of these commits are done on behalf of my employer, but most of them are. You can clearly see I try not to do anything on weekends or on holidays. Works most of the time. Unless I am either eager on a new topic, doing on-call or work on hobby stuff, when my wife is not watching.
Things to be aware of
You will have less social connections compared to working in an office. Fewer drinks together or lunches or sport. This is how it is. The people you work with are scattered across the globe in many cases if you do work at a truly distributed company.
I also had to stop playing basketball due to health reasons and thus switched from a team sport to running. Another social connection reduction. And we got a daughter. You do not go out often in the beginning, you are becoming a big fan of hanging out at home to catch some sleep :-)
The main question is, if you can cope with this. If you have been living in your area for a long time, you usually have a big enough of a social network, that this does not pose a problem.
Stopping work is something that can be hard, especially when your company is distributed across time zones. There is always someone needing help or to sync up with. If I lived alone, I would pretty surely work in a co-working space to make sure I stop working. It is much easier as a family when you have to have dinner with the little one, though. I still peak at mail late in the evening or have meetings at 10pm, and it’s fine. I have the freedom to change my rhythm accordingly.
Getting out daily for a dose of air is also good advice. I usually try to get out at noon, and if it is just to get something from the supermarket.
On the personal side, I need to fight the urge of only doing home office. If your employer allows you to do something outside of home office like doing trainings or going to conferences or giving talks, you might want to take that opportunity, just to be sure you get out every few weeks for a few days. I have do to this to feel good and it is crucial for me. This usually also involves meeting or colleagues or going to locations I have never been to which I am super thankful for.
One last tidbit: do not accept a remote position, if you are the only satellite person and the company is basically only doing this because of not finding anyone nearby their office location. This is usually frustrating on both ends, as the infrastructure and the motivation for doing remote is lacking and you will always be treated as an outsider, even though your co-workers do not actively intend to do this, they still will.
My personal rules to live by
This are my personal rules to make working remote as feasible as possible for myself and the people I work with.
If someone is not available there is a reason
I trust my colleagues. A lot. If there is a meeting and someone is not there, it is very likely that there is a reason. Even if that person is on a compatible timezone.
Respect holidays of others
Holidays are sacred, if you work remote. It is much harder to switch off, because you do not have the commute time to shut down. My head pretty much always spins around work until late evening. My only way to relax is to do at least three weeks of straight holidays. That is one of the reasons why I try to be super strict when it comes to holidays of others.
If a person is needed while being away, you got a bus factor that needs elimination.
That said, holidays are the best possible absence, they are timed and have a defined end. Illnesses and accidents can be far worse, so see holidays as a training session for such bad cases.
Communication is almost always asynchronous
Do not trust in synchronous communication. Team decisions need to be done asynchronous. This has various reasons. First, folks might be in different time zones and thus cannot be part of a decision. Second, folks are very different how they come to decisions. If you run a meeting to make a decision without preparation, some folks might not say anything, because they need time to think. Many problems are more complex than the first impression.
Value other people’s time more than your own
This is a big one, when working distributed. When writing emails, ensure you address the right amount of people. If a company has 500 people, and you are writing an email that takes a minute to read to everyone, you just burned a whole work day - think if this is necessary for the one year anniversary of an employee in a five year old company. The same of course applies to something like slack or hipchat. Notifying the whole channel with several hundred members to get this one question answered will cost a lot of other’s people time who will not contribute to this question. You need to have other more channeled mechanisms to allow for this kind of questions.
This is even more important with regards to meetings. If you organize or run a meeting, be crazy meticulous about being there on time. If a meeting with 25 people starts 5 minutes late, you just burned another two hours. If this happens on a recurring meeting, people will start being late all the time and stop caring about the meeting. Broken window theory at work here.
Do not have meetings end-to-end, create buffers of at least 15 minutes between meetings. This is also important for context switching, or getting a coffee or checking up on the little one, which kept knocking on the door during the meeting.
Prevent bus factors at all costs
This is not really about distributed companies, but I still find it crazy important. Bus factors are the worst. If you rely on single persons for certain things, you need to fix this. Basically both sides have to fix it. The person having the knowledge needs to spread it, but the company needs to help by providing time, people and resource to allow sharing of this knowledge. If you start pushing this back and ‘doing this later’ it will just get much worse.
If you can, un-bus-factor (I like this verb) across time zones.
If someone has a small question, do not postpone it, but try to help immediately. Otherwise many small tasks will start piling up on your desk and this usually prevents you from tackling the bigger issues.
If you do not have resources to help immediately, either suggest someone
else or try come back when you are less busy. But make sure you are coming
back in time, instead of asking three days later
do you still need me?. I
consider this super rude - and of course I am guilty on this myself.
Also, this is not always a positive trait, when you have to deep dive into things, but more on that below regarding signing off.
If you have feedback to share, do not let it pile up. This results in a mountain of critique that has accumulated over time and leads to frustration. If something is wrong, ping people directly and have a video chat over it.
Different cultures are different
Even worse, different persons are different. Some are introverted, others are not. One of the advantages of working for a company for a long time is, that you should know the habits of many persons you deal with on a daily base, allowing you to treat them differently.
If you join a company, allow yourself to study your colleagues super carefully, it will help you to judge a lot, realize if they are stressed out, have personal issues, feel uncomfortable talking about a specific topic, etc. This is as important as technical skills to me - but much harder to learn compared to technical knowledge.
Sign off for productivity work
I am very bad with this. I try to be available for others most of the time, but this makes it super hard to focus on complex tasks. Disable notifications, disable social media, put away your phone, close email if you have to and just focus on what you want to do. Do this on fixed times, mark them on your calendar and ask everyone to respect those - if this makes you more focused. Try and see if it works for you.
Assume good intentions
No one tries deliberately to behave bad, if you are working in the same team or company. Try to understand viewpoints of others, be empathic - but if that does not help, also be able to ignore others (if that does not work, judge by yourself if this impacts your work or makes your job a less fun job or stress you out otherwise). Talk to them, ask them why they are so keen on certain topics.
Assume different knowledge
If someone asks for help, do not assume both parties are on the same knowledge level, do not try to sound fancy and come up with complex explanations or only half the explanation and hinting at things that could be done. Link to concrete code examples if possible. If you are busy and do not have time to help, explicitly mention that you will ping the asking person, instead of trying to do some quick help, that is not tailored to the question.
Favor video over everything else
I cannot overstate the importance of seeing someone else’s face while talking to him. Seeing reactions, facial expressions and gesture is irreplaceable and you will never find out certain things if people are just typing back and forth.
The only thing better than video is real facetime, so make sure you meet your colleagues every now and then.
You cannot have enough feedback loops
One of the big issues with working remote is disconnect. Are you doing a good job? Is everyone around you happy with your result? How can you improve? What is your next step career wise? Is there anything blocking your work? Do you feel tensions inside your team?
I think you cannot have enough 1:1’s when working remote and I do think, bi-weekly meetings are mandatory.
Write a positive message to your colleagues
I am personally not a big fan of those praising email threads, where everyone
uh awesome, go XYZ. Congratulations!. Those messages tend to loose
their power, when written from people that you have never met in the
company. What I do value much more is a direct slack message, one sentence
long, telling a good thing. A colleague of mine was not used to do public
presentations/training when he started his job (as all of my colleagues he
is crazy smart and keeps churning out line after line of awesome code for
Elasticsearch). I saw an ElasticON talk from him this year and he was
owning the stage, cracking jokes and smiling, not the slightest bit stressed
out. I wrote this feedback to him, that he changed so much and his talks
are awesome to watch. He told me that this meant a lot to him (which was
exactly the reason I wrote it) and I think it is much more powerful and
lasting. Oh, and easy.
Find something outside of work
Make sure that you have something to power down your mind. It used to be basketball for me, where I was able to not think about anything else than the ball in my hands. For you, it might be meditation, wood working, origami or whatever. Do it regularly, it’s incredible how important it is to get work related things out of your head. It also helps me a lot to step away from a problem in order to come to a solution - which is much harder when working remote.
I have to admit though, that I have not found anything comparable to basketball yet, that allows me to power down as needed. Still on the hunt though :-)
Over the last five years I became a huge home office fan. I cannot imagine sitting in an open office currently. I do think home office only works if you like your job, otherwise it is a bigger pain than working in an office due to the isolation.
Fun fact: I was not ill a single day since I started working remote in 2013. Not sure if there is a direct link to liking your work, or if I just dodged all the bacteria from Munich subway trains this way.
Does this mean that home office is for everyone? I don’t think so. You have to deal with less social connections. You have to be confident in your work and you have to be able to call for help when you do not proceed as you planned. I do think it would have been hard as a first job after university for me. There are still frustrating days for me until today, where you feel, that you did not get anything done or that there is no one answering your (often rubber-ducking like) questions.
Does this mean you should not try home office if you are not sure about it?
Even less so. I hear so many people telling me
Oh, I could not do home office but if you ask them, if they ever tried it, the answer is always
no. And they are usually afraid of things that you never think about after
so many years of working remote.
I also think, that companies - especially in Germany - are only realizing slowly the value of home office. I am flabbergasted, whenever someone from a big company tells me, that they are going to open up an office in Munich. As if this has not been tried by all the other companies before. It will just increase cost-of-living, but it will not adopt more talent for a single company, especially it will not be easier at all to retain them. Yet, I think it is still hard in Germany to find great employers which are cool doing full time remote. I also hear from a fair share of employees who tell me that there is no policy against home-office, but it is not wanted.
Fun fact: The company I mentioned above, where I had to refactor a piece of software, also allowed one employee to work from home for some time due to personal reasons. Turns out he was more productive - but of course this was not a reason to allow for more home office.
If you have further questions about working remote, you can ping me on twitter, drop me an email or check out the ElasticON talk from either this year or last year. Having a distributed company or team is no easy task, also not for the leads/managers, though I have yet to see a company which has been fully distributed from day one and considered this a mistake over time.