Remote work processes have freed the organization from space and time. The Async Mindset is the philosophical underpinning required to cultivate and facilitate that freedom. - Running Remote

In February 2020, 17 percent of U.S. employees worked from home 5 days or more per week. By March of the same year, more than 40% employees of the US employees moved to remote working 5 days per week (Show Figure 1). Companies looking for talent in different countries made the concept of remote work quite popular a long time ago among developers.

Figure 1: Stats about remote work took from https://www.statista.com/statistics/1122987/change-in-remote-work-trends-after-covid-in-usa/

It is important to clarify the different between work from home and remote work:

  • Work from home: consists in making your home your place of work. In most cases it uses the same practices as work in place (some companies strictly that others)
  • Remote work: It is a new mindset, in which people can work from wherever location that they want. Indeed, it comes with new challenges, such as insurance policy, taxes models and asynchronous management

Having said that, this article is focuses in some learnings made from working remote, these are summarized in the next five points

Over communication

One of the most important things in remote work is effective communication, a strong reason for that could be that communication it's one of the four rules principles to survive in time of crisis. However, in remote work, communication would be a challenge, making small talk in the workplace with colleagues and coworkers is lost. Furthermore, a lot of companies only work as an autonomous team, which means each team in the company can take decision for themselves. But, with a great power comes with a great responsibility. As a developer part of your responsibility is keeping the context in the more quantity of features, bugs, and situations as possible, to reach these goals it is necessary to communicate effectively those.

There are some points that can be help you deal with communication problems.

  • Meetings don’t have to be toxic: Since I read about the pyramid communication show Figure 2 I realized the importance to escalate ways of communication, they should always do similar work, starting with the more asynchronous tools (deep understanding, message in slack, email, discussions) and escalate to the more synchronous tool (google meet, zoom, Microsoft Teams). Nevertheless, be careful with spending a huge time in deep work, trying to guess how to work something, “know your limits”, when you can't understand something, you need to look for the expert in the topic and clarify your doubts.
  • Inform when you do know about something or when you have blockage, it is common that your coworkers are busy, try to ask in general channel for help, tools such as pr in GitHub or Bitbucket can be a good place to discussion and resolve questions.
  • Divide and conqueror: technology is no easy, because it has huge branches, before sending a long question, divide your problem in small problems and try to ask shorter question, it can be more effective, and it can help you find a better solution
Figure 2: The Pyramid of communication took from https://michael.team/pyramid/

Focus

Let your mind become a lens, thanks to the converging rays of attention; let your soul be all intent on whatever it is that is established in your mind as a dominant, wholly absorbing idea. - Deep Work book

We live in a time where focusing our attention on only one task is a big challenge, what could be the reason for it? The short answer is because of notifications. Many people have the necessity to consume short videos and short content. The book deep work mentions the importance of working on only one thing at the time, for instance if you need to resolve a problem with math you can't resolve the problem and keep a conversation in social media. For that reason, it is better to break down tasks, assigns priorities, and take them one by one. Focus is the more important thing in the productivity, and it is a big advantage about working in office. I struggled developing this ability, however there are some ideas that helped me.

  • Pomodoro: it is a classic tool, Pomodoro is a basic strategy that can be appropriate for yourself depending on your necessities, for me pomodoro works better using the 45 minutes to work and 5 minutes to rest rule
  • Turn off notifications: Social media can consume all your time in the blink of an eye, when you start working, you must turn off your phone notifications, only leave the essential notifications like slack.
  • Booked your time to work on your calendar: That is a good strategy to notified in what time you are more efficient

Focus times is no about hard work, it is about efficient work, Focus is only useful if you can drive your efforts in the correct way.

Learn for fun

When was the last time that you learned something because you like it? And not because you think in business?  For me there are three types of learning.

  • Leaning to complement your career: it happens when you learned something that you intend to apply immediately in your work/ profession
  • Learning by hobby: Do you have a personal project? Starting a personal a project comes with different challenges which help you to learn about different topics and get more experience.
  • Learning by fun: That is a beautiful way to learn, because it hasn't relation with your major. You can deeply learn about history, about poetry, fantasy, whatever thing that you want.  A good strategy could be to reduce your time of procrastination and invest this time in this type of learning.

Be sponge

Be sponge that is a beautiful sentence, the meaning is “learning a lot”, take a breath a look around you, what can you see? I am 100% sure that you can see incredible people, so you must work collaboratively and learn a lot from your team. One manner to learn fast is being an observer, if you can't understand something, ask about it, if you are in doubt ask bout it, if you don't agree, raise your hand. I would like shared three situations in which raise your hand should be a rule.

  • Starting in new project: this is a common situation, by nature people communicate as playing a round of the telephone game, you must do always double-check, if you do not understand 100% idea, you can try to paraphrase the problem or solution, and validate that you and your team are in the same level of understanding
  • Unexpected behavior about functionality (?): Some projects have poor documentation, that is the main reason why the users don’t know how to use the applications, i.e. a client report an error message, when trying to enter a URL that requires login, you can spend a lot of time concluding that the behavior is correct, or ask directly to the person and clarify the situation.
  • Situations converting in too formal: it is easy to detected, however it is not too easy to management, many companies that move to remotely have no idea how to deal with “over formalized” situations, send emails work well for clients, but inside the company, it’s suggested to implement applications which helps with asynchronous management i.e. Slack, Discord, JIRA.

Transparency = Empower

One beautiful thing the co-author Liam Martin said of the  book running remotely said it was that running remote is about numbers, and the importance to share these with your team, how it is growing the company? What are the goals in Q3? Q4? These number are relevant, because they help to employees to take the correct decision in critical situations.

In management, transparency plays an important role too, such as estimation of the tasks, quality of code, security/performance and quality attributes. Perhaps, transparency is a powerful tool to help in the success of the projects because it creates more confident teams and allows the clients to understand the reality about software development.

Mentions

Thanks to Jeisson Rangel for reading drafts and give me feedback of this