Work from Home

Mercari announced on 18th February, 2020 that they will be implementing a work from home polcy for all employees starting the next day and continuing till the end of February. This past week the policy was extended one more week, until March 8th. More extensions are possibly around the corner.

So, I have been working from home since 19th February! I have a desk and a monitor at home. I brought my split keyboard (A Kinesis Freestyle 2) back home from the office. Setup-wise, I would say I have managed to re-create a very work-like environment. My house is a typical apartment in Tokyo with a floor space of 25 square meters (about 250 sq. feet). There’s a living space of about 150 sq.m and the rest is a kitchen, a bathroom and space for a refrigerator and a washing machine.

Work from home has been going fairly well, I believe. I was working on a project with about 4 other engineers. Understandably, communication has gotten slightly harder because we don’t sit 3 feet from each other 8 hours every day but fundamentally, we have a good idea of what we need to do and how everyone else is progressing with what they are doing. Often times when working on a big project that has several components with different people working on each component, there’s a lack of clarity about which piece is being built and how the pieces are dependent on each other. For backend development, this is perhaps even more of a problem because the way we break things down is generally by the various stages in a user’s usage of the project (the so-called user story) rather than the actual parts of the various repositories one would be changing. Most of the time, these things actually match up fairly easily and there’s no conflicts / wasted time because two people ended up writing the same code and one person happened to be done first.

Another part of the development process which I expected to take a hit from not working in an office was code review. This, I am happy to say, I have been wrong about. Code reviews have been coming in at the same pace, and there might even have been a slight decrease in the time between consecutive rounds of review because everyone is keeping fairly strict hours. While working at the office (with the privilege of having flexible hours) there were only a few hours of the day when everyone was at work at the same time and one could go through several cycles of review pretty quickly, while also addressing all the feedback that the reviewer had in the previous cycle. This guide on why code reviews should be done within a full working day has been very useful. It’s a pleasure working with developers who have read this / follow the advice in this instinctively.