Remote work: The Open Source Way
Tags: opensource, remotework
Published: 2020-03-13 22:40:59

Working remotely has become mission-critical now more than ever. Since one of the recommendations to stop COVID-19 massive spread is to stay at home, many companies are seeking effective strategies and tools for remote work.

For many people, this situation could be an overwhelming first-time experience, but for many others this is not something new: People behind Open Source programs have been involved in remote collaborative workspaces since decades. How does the Open Source ecosystem manage remote workforce? 


## Everything starts with culture

People is desperately asking for collaborative tools to stay productive and connected. But is that the best approach? 

Think about it, *Why giving to someone that has never handle remote work, a bunch of tools without context?* In fact, tooling is the last thing you should be thinking of. Open Source has succeed over the past years not just because of tools, but because of culture

Before going nuts with *what tools should people use*, I suggest to first investigate *what strategies are used within open source communities* and *what can companies learn from them*.

> This way of thinking can somehow relate to InnerSource term: a methodology which main goal is to establish *open source-like culture within organizations*. It has a consolidated and active community, called [InnerSource Commons](https://innersourcecommons.org/)

## Hands on remote-work: Best practices and suggestions

In my company -Committed Open Source practitioners- working from home has never been a problem- We have been doing it since always!- This might be the reason why, some people from Twitterverse and Instagram asked me about best practices to follow in order to manage remote collaboration and productivity. Then I though that the best way to answer was by sharing *my top 6 best practices*

* **Document everything:** As in person-meetings are not an option, internal documentation plays an important role to ensure collaboration. This is a really common practice within open source projects, as code is being build collaboratively and remotely, done by people from different time zones and cultures. Some of them are experienced contributors, others are just newbies trying to get into their first open source contribution. in both cases, they need to know *how to contribute* - as well as pitfalls to avoid, guidelines, etc- and such information needs to be accessible and visible for everyone.

* **Build a Kanban board**: One of the main resources coming from Agile methodologies that can be applied for any situations that requires organizing and scheduling tasks. This is so helpfull that I'm not only use it at work to coordinate tasks with my team, but also with my classmates for my Data Science MS... Even for my personal projects!

![Kanban board](https://dev-to-uploads.s3.amazonaws.com/i/itck9tnxctfd54tbhb11.jpg "Kanban board")

* **Schedule daily meetings to keep track of current work:** This will help to keep your team synchronized, know what they are working at and find potential bottle necks... A good idea is to focus on short tasks, that can be done within 1 or 3 days period to track better the activity

* **Set your own working hours and breaks:** set up an alarm and create a daily routine for work. The same way you do at work,dress up -avoid full-day pijama- and have specific clock-in and clock-out hours. This is very helpful to divide work vs spare time, and *not fall into an endless working state* that at some point will lead into a *burnout*.


![time](https://media.giphy.com/media/3o6Mblpo7jq1JBaXLi/giphy.gif "time")


* **Socialize:** working from home doesn't mean you can't have great coffee break conversations with your teammates!. At my company, Every Friday at 2:00pm, we have what we call *coffee-chats* -. We join the call,  talk about our week, and enjoy a nice cup of coffee with friends!


![Coffee time](https://media.giphy.com/media/687qS11pXwjCM/giphy.gif "Coffee friends")



* **Do Exercise + healthy diet:** I'm quite a restless person*, which means I need to remain focus and productive as much as possible if I want to do all the activities I've planned for that day. 


> *I have full-time work, Data Science MS, Japanese, and boxing classes, while saving time for my family and friends... All in the same week!

Boxing classes helped me a lot when covid-19 situation was not there, but now that gym is not the best place to be, I still doing some cardio at home to relieve stress. Moreover, avoiding added sugar and fast food intake made me feel less tired and more proactive during the day

## Tooling

Once you have define a way of collaborative work and clear daily routines, it's time to look at the resources you need to make that possible.

There are lots of things you need to keep an eye on when choosing the best tool for you: Data Privacy, licenses, budget, scalability and more. However, taking into account that I'm not an expert on this field, I'll just enumerate some of my favorite tools I have been using during the past year at work or personal projects, grouped by different scenarios:

**Communication Apps**

[Slack](https://slack.com/): similar to telegram, but more specialized for remote teams. you can have different channels which makes great to communicate among different working teams, topics or departments


**Video chat**

[Jitsi.meet](https://meet.jit.si/): No log ins and completely free video conferencing. You know what's best? it's fully encrypted!

**Time management**

[Trello](https://trello.com): really useful for those willing to use a [Kanban](https://en.wikipedia.org/wiki/Kanban_(development)) board to manage daily tasks

**File hosting services**

[NextCloud](https://nextcloud.com/): Actually this is the only one I haven't use it yet, but I've heard a lot of positive feedback about this tool! Despite other alternatives, this solution does NOT store your data.


**Podcast/interview recording**

[Etercast](https://etercast.com/) If you're planing to have several guests for an interview, Etercast might be a good solution. No log in, free and very easy to manage

> Note: [This post by Jesús González-Barahona](http://jgbarah.github.io/Notes/foss-distance-learning.html) shows more resources, also applied for *distance learning*. The best thing is that all of them are entirely free, open source software (FOSS)

## Closing thoughts

Not every business is suitable for remote work: My goal here is not to show that everyone can work remotely -cause we can't-, but to give some guidance to those few who *potentially can* but *don't know how to start with* and share my thoughts and experience working in remote and collaborative environments.

Thanks for reading until the end. For those experienced people in collaborative and remote environments, I'd love to see any suggestions or tools that you might find useful to share to folks who are facing remote work for their first time. 

Feedback is more than welcome :)