Remote work

Thiago Garcia da Silva
metr tech
Published in
4 min readAug 4, 2021

Since the beginning of Covid-19 in 2020 the whole metr has been working from home, and here I will talk specifically about the experience of the tech team. We were a very office-based team before, so moving to a remote environment wasn’t that straightforward, but we took the opportunity to try and get the best of it. Since day 1 we never planned our remote work as a temporary thing, even tough we don’t know if we are going back to the office.

A good example why we were a very office-based team was our sprint board, it was this huge board with all post-its in there, and we were very proud of using it. We’ve liked the feeling of moving real things around. But for our luck, one week before knowing that we had to go remote we moved everything to GitHub and that was the start of what we have now.

Moving everything to GitHub was not only a lucky move, changing everything to GitHub was the start to rework completely how we were working before. We took advantage to use everything available there, turning GitHub into the central place for our communication, both asynchronous and synchronous. We decided that since the code is in GitHub, our communication, that is mostly about code, should also be there. Our slack was left for direct messages and announcements, we rarely have a thread there to discuss an issue or something related to code in general, for example.

We exchanged our old physical sprint board for GitHub’s projects board feature. And we use it to have the scrum/kanban board overview as before: who is doing what, what tasks are being done, what is already completed. It works well, you organize the issues in the columns like any other board. It is possible also to have some nice automations like moving columns if an issue is closed for example. We have a few boards there to track different moments in our process. For example, we have one board just to track issues that needs refinement or are ideas for the future and another one just for the current sprint. We also have boards for other teams. The operations team is one example, they need to track and organize the work together with us related to the m-gates in the field.

But I think that until this point it wasn’t a huge impact in our processes, it was still the same board that we used to have. The change came when we started to move all of our conversations to the issues and PRs. Now, the conversation between our PO and developers was primarily in the issue and PR comments, asynchronous. Not only did it make it possible for people to have more time to focus on their work, but it also created an “automatic” documentation, that has the information about what was being done and also when it happened. We have another post about how we use commits instead of code comments, and now it’s even more powerful.

Now, to find more information about the code, the whole history of that code is accessible. Because that line of code has a commit, this commit belongs to a PR and the PR is related to an issue. It’s possible to track down all the decisions that were made to come up with that solution. That makes developing way easier, most of the time you don’t need to ask anyone for help because you have direct access to what you need.

I don’t think that would be possible without having a remote team. In the office, it’s almost impossible to contain the urge to just check something with someone. This kind of conversation is then lost, inaccessible to the rest of the team and for the future.

After realizing how powerful and organized having our communication asynchronous is, we started to become more aware of how we commit and open PRs. Writing text has become more important, and finding the best ways to share information became part of what we do now. We see more PRs with screenshots, better descriptions and more direct. It’s a path of no return. And not only did our PRs and issues improve, since we now have less sync communication, there are more Wiki entries, documentation on how to do something that you discovered once. This is accessible for the whole team. The consequence is that this change lowers the need for quick calls with your teammates to ask how to do something.

We still maintain some few synchronous meetings, the ones that we are not comfortable enough to let go, and it’s not all communications that are asynchronous, and we still have some DMs that should’ve been a public thread for the whole team. We are still adapting.

I believe we became a truly remote team. We take advantage of what online communication can give us. We are trying to share more with everyone, having less private knowledge and, as a consequence, giving our team more control over their time.

--

--