Because of the Corona pandemic, our whole company has now been working from home for 12 weeks. Before, we mostly worked in the office, although occasionally people would work from home, for example when waiting for a delivery. This abrupt switch has made for a great natural experiment on the differences between these two ways of working.
Many developers on both Twitter and Hacker News argue that remote work is the future, and that they want to keep working remotely even after the need for it because of Corona is gone. For me, it has worked quite well so far. However, I miss some things. Others were not quite what I expected.
TriOptima was actually well prepared for remote work. Once a year we have held exercises where everybody was working from home for a day, in order to make sure all systems can handle a fully remote workforce. The switch 12 weeks ago worked really well. The VPN has been very good, and the chats and video conferencing has also worked almost flawlessly. So equipment has not been a problem.
I have found that I interact with a lot fewer people at work now, compared to in the office. In my team I usually hear from everybody once a day in a common video call. But for the teammates I don’t currently cooperate with, that’s it. In the office I would overhear them discussing problems they were working on, or I would see them at the coffee machine, or at lunch. We still have all the regular chats, including several team chats, but I miss the small non-scheduled interactions from the office.
This is even more so for people from other teams. Before I would occasionally bump in to them, or sit next to them at lunch. In the office, most people would bring food, either from home or from nearby restaurants, and eat together at long tables in the kitchen. This meant that over the course of a month or so, I would chat a bit with many of my colleagues, even if I don’t work directly with them.
Every month or so, there would be a pub in the office after work. Not everybody would attend, but it was another nice opportunity to socialize with my colleagues. Typically, small groups would form, and you chat a bit before moving on to another group. Like a lot of other companies, we have organized after work (AW) video calls on Fridays, to try to replicate the pub/AW feeling. It has been really nice to see people this way, but it is a far cry from meeting in person. It is hard to have real conversations, and I really miss talking to people in smaller groups.
There is one interaction that has worked better remote than in the office. That is the monthly technology meeting, where the whole technology department (around 80 people) gets together for presentations on what is going on in the other development teams. This is now replaced with a video meeting that everybody joins. There is a chat where people can ask questions and comment on the various presentations. They have also included interactive Mentimeter polls. For this meeting, I think the remote version is better. This is probably because it is mostly about information transfer, rather than interaction between the participants.
Does it matter that there are now fewer interactions with colleagues? Maybe not for just getting the work done. But it does matter in terms of feeling like I am part of the team, the department and the company. Also, humans are social animals. Only seeing people over video is a poor substitute for meeting people in person. It doesn’t perhaps have to be every day, but it is nice if it happens regularly and fairly frequently.
I have worked in many different kinds of offices. For several years I had my own office, with a door I could close. I have also shared an office with one other developer, and I have worked in team rooms with up to ten developers. I have never worked in a completely open office (“cubicle farm”), but I think I would have found that intolerable.
At work, the whole team, including product owners, sits together. For about two years, the product owners sat by themselves down a corridor. When we moved to our new location, they moved in with the developers. The result was more and better conversations with them. Suddenly it was very easy to get their input and to discuss how to implement features, even showing them the code. This was of course possible before too, but it happened a lot more often when we were sitting together.
Another benefit of sitting together is that you overhear conversations between other developers, and you can easily join the discussion if you want. This is only good if you work on the same system. If it is unrelated systems, it is only a distraction, with no benefits. I know some people are distracted by overhearing conversations and would prefer silence. But for me, if it is within reason (not too often, not too loud), it gives me a better understanding of the system I am working on. It also often leads to productive discussions that may not have happened otherwise, and helps spreading knowledge.
A related subject is interruptions. Many programmers want to eliminate interruptions and just keep coding, since that makes them more productive. I don’t mind getting interrupted if a developer or product owner has a question I can answer. Frequently, a simple question can lead to surprisingly insightful discussions. Furthermore, it is often much more effective to find an answer by asking the original designer than it is to figure it out on your own from the code.
Not everything needs immediate answers, but sometimes you are stuck. If you interrupt me to ask a question, my productivity takes a hit, but you can keep going. Sometimes that is the right decision. I think it is better to optimize for whole team productivity than for the productivity of individual developers.
Yet another related topic is synchronous versus asynchronous communication, where asynchronous usually implies in writing. Many times written communication is better, because you can read it when it suits you, and you can go back to it many times. However, you can not get an immediate answer to a question you might have, the way you can during a conversation. Also, for a lot of discussions needed when developing software, a video call is much better than the back and forth in a chat. Many times in the last 12 weeks did we start out in a chat, but switched to a video call. In every case, the discussions were much faster, with higher quality, than when writing in the chat. Good as a video call is though, it is still not as good as face to face conversation.
The effect of the above is that collaboration requires some extra effort, compared to when sharing a room with the other members of the team.
Not having to commute is a great benefit of working from home. Now you can use that time any way you want. My commute time to the office is about 45 minutes each way. This includes a short bike ride, a 20-minute train ride, and a 15-minute walk. After a few days of working from home, I noticed that the number of steps recorded on my Fitbit fell drastically. In a regular work day I would get maybe 8000 steps, but when working from home I wouldn’t even get 2000.
When I realized I needed to move more during the day, I began walking 45 minutes every day at lunch. This, together with a shorter walk in the evening now means that I usually get more than 10,000 steps in a day. While I am happy that I can decide how to spend the time I previously used for commuting, it doesn’t exactly feel like I gained 90 minutes per day. When I walk, I usually listen to podcasts or music, but I also did that when commuting (except for the train ride, where I usually read a book).
There is also the positive environmental impact of not commuting, especially if you commute by car. In my case I cycle and use a commuter train, which is already quite OK pollution-wise. If your company is remote, but you rely on flying the whole team to meet in person once or twice per year, then I suspect the environmental impact might be as bad as everybody commuting every day.
Another great benefit of working from home is the flexibility to arrange your day to suit you. If you have young children, you can leave or pick them up at daycare or school. Running errands or waiting for deliveries can easily be accommodated when you work from home too. Even if you don’t need the flexibility every day, it is still great to have the option of using it.
I am lucky to have a separate office in our house. I also have a desk, a decent chair and an extra monitor for my laptop. However, not everybody has the space for an office, and may have to make do with the kitchen table or a couch. This can probably work for a few weeks, but eventually you need something more ergonomic.
I sometimes see the suggestion to work from a co-working space instead of working from home. To me, that means you get the bad parts with an office, without getting the good parts. You have to commute there, but you don’t get the face-to-face collaboration with colleagues. Even worse to me would be to work from a coffee shop, where you don’t even get the ergonomics of a desk and office chair.
Working from home for these 12 weeks has been quite fine for me, and I am happy I have that option. But even though I am an introvert, I miss the face-to-face interactions. I also think there is more friction to collaboration than when working in the office. However, I know that many people love working from home, and want to continue to do so. I see this as a trade-off you make. You are willing to put up with some disadvantages in order to get some other benefits. What is your experience? Let me know in the comments.