Remote work

Remote work

In this post I would like to voice my opinion about remote work.

Introduction

Remote work grew a lot in the 2020 because of the COVID-19 pandemic, but now it has started to being seen as diminishing from the corporate world. Less and less remote positions, more in-office requirements, and more one-sided conversations about the benefits of in-person work, or blaming remote workers for slacking or being simply lazy (as if there weren’t people who go to the office and do nothing all day).

I think remote work is perfect for Software Engineers, not only it benefits them but their employers in a myriad of different ways. Let’s start:

Does remote work perform as good as in-office work?

It performs better in my experience. Most of the offices have worked on are open-plan spaces where the noise travels from one side to the other without any kind of obstacle.

Noisy environments are known to decrease working memory, and in the case of the software engineering, there is a clear decline in performance.

Apart from the noise, interruptions cause a lot of pain in the developers and engineers, as they interrupt their mental processes, hurting their performance.

What about meetings?

I do not think that in-person meetings are more productive than remote meetings. The actual question would be Do you know how to use remote communication tools?.

I think that some traditional managers do not want to deal with learning new tools like video-call platforms, tracking tools, or AI tools to do their job.

For example, virtual meetings are better in a way, as they can have automatically created summaries with the discussion of the meeting. This is not something that can be don for in-person meetings. Now, managers should always be sending meeting minutes, or the action points agreed in the meeting. Maybe that is the issue, that they do not do that, hence they do not see value in tools that help them with these tasks.

Remote work provides opportunities for everybody

A while ago, I listened to an interview to Kent Beck about remote working. Those of you that do not know who he is, let me tell you that he is one of the most prominent figures in the Software Engineering world, mostly known by his contribution to the agile manifesto, and of course the creator of pair programming (in the form of Extreme Programming). To sum up, a titan.

For a defender of the in-person work you would expect him to attack the remote work or somehow enforce the idea that the remote work is flawed when working with others. Well, it was the opposite actually. Beck focused in several strengths of the remote work over the in-office positions. I remember several of them:

The talent pool is bigger

Say you want to hire somebody, would you limit yourself to people with a particular eye color? Or a specific hair color? Or a gender? No, right? You want to the most talented person on your team, those characteristics (or dimensions) are not relevant for the work they need to perform. So, why are you limiting by the geographical dimension?.

Thanks to the remote work, the talent pool now is bigger, and being in the right place is not as important as it should be. Now, people can show their talent and work for companies far away.

The possibility of having people providing value for the company, without being limited to your geographical zone is endless. There are great engineers in places you do not even know. Are you willing to lose these talented people? Can you afford to lose this talent? Just because where they live?

Opportunities for people with different backgrounds

He put in value that there are a lot of people that are not able to reach good positions in the Software Engineering world because they are in the wrong place.

Not being able to work for a company just because you cannot afford live there, or cannot live there because of family commitments should not be a limiting factor for your career.

If you have talent, why do you need to leave your home and go to live in a different place (sometimes thousands of kilometers away), just for being able to go to the office every day, and work on your laptop?

This remove workers could use their money to improve their community, so they could foster the betterment of their family, town, city, or even country. This cannot be considered for granted in this global world we live in.

Why are you not helping unfavored communities?

Cultural/background enriching for the team

Even at the same talent level I think that having people from different cultures, experiences, age, etc. proves to be valuable.

Having a different background is useful because they are going to give different inputs when encountering the same problem. Software Engineering is not a science, and there are many parts of it that are based on culture and experience. Mostly on the user interfaces, but also in the functionality itself.

Why are you hiring only people with the same culture than you?. Could not that cause issues because of culture misalignment?

We all know the story of the US President Nixon doing the A-OK sign to a Brazilian crowd without him expecting to be booed. Why? Because that sign in Brazil is considered an insult. Having people from that (or similar) culture can avoid us from having embarrassing mistakes in our products.

What about working together?

Thanks to the particularities of our job and the innovations based on the internet, there is no need to be in the same room to do any kind of task related to the software development process.

I would say that having remote meetings to work together is better because we are forced to create and record deliveries for each meeting that could be use as foundations of the next step in the process. We are not tempted to rely on our memory and closeness to other members of the team.

What is written is what it exists, the rest does not exist.

What about personal relationships?

Let me put you a counter-example: I have a more personal relationship with my current manager that lives in the other side of my continent, than with the engineers I shared space at my previous job.

Relationships are a matter of effort. Small talk as a tool to establish relationships can be done via video-call, and other personal conversations can be done via video for sure.

You do not need to be at lunch time or in a break to socialize. You can just ask somebody how are you? via a direct message in Slack/Teams.

It is true that you cannot be all the time socializing, but just having a 5-min conversation on the mornings from time to time is enough. And that counts as a personal relationship!

The company culture needs to be aware of that. Indeed, the company needs to support relationships among people that work remotely. If not, you can encounter having silos, and that is a problem (that I will deal in a future post).

Good way to create new relationships among your workers could be allowing temporal rotations in different teams. Allowing changing of teams for employees. Fostering collaboration among different teams. Organizing technical book clubs, hackatons, etc.

There are a lot of ways a company could do to improve the environment, and create a network of collaborations that can improve productivity too.

None of those ideas are related to being in an office or not.

Conclusion

You can create a culture when doing remote work.

You even have a closer relationship with your team mates while working remotely than by working in an office.

Remote work is an opportunity for people with different socio-economic backgrounds to work in better positions.