Loose thoughts on Remote Work

(I’m going to write this post in English since I believe this is a concern to everyone in the World and not just for Portuguese speakers)

Some years ago I was one of the non-believers of Remote Work (RW).

And the reason for that was because RW for many years (and even today) has been misused, let’s see:
– it was for cost reduction (e.g. salaries, office space);
– to deal with crappy work (that co-located folks didn’t want to do);
– to work in an asynchronous way;
– it used several timezones (some of them with +8 hours difference);
– to have access to a very specific skillset;
– to have the minority of the team (usually one person) working in satellite mode (i.e. all the team is co-located with just one or two people working remotely);
– for the developers to be productive / be in the zone without noise/interruptions (in fact the only behaviour that was being valued here was individualism and not productivity).

No wonder a lot of people (like me) didn’t believe in remote working.

And we also need to take Agile in consideration and the legion of Agilists “preaching” for the co-location of teams.

But… And there is always one but… RW can actually work and be an amazing thing! You just can’t mess things up and follow a KISS approach.

And what showed that to me was actually two examples, that although didn’t work flawlessly… they did work:
– I once worked next to a team that had a remote person (with one hour difference) and in order for the team to work well he was projecting himself all the time and had his microphone “open” all the time and he was accessible to all the team. He was on being projected on a computer and if anyone from the co-located team needed the person they would just walk to the computer and spoke to the remote person. The team also worked all the time in pair programming which I believe helped a lot;
– I also worked for about a year with a brilliant person that remotely ran a team of +100 engineers. This particular person helped the engineering team grow from 10 engineers to 100 remotely. Yes, you read it right… Remotely!

Now that (hopefully) I convinced you that RW can work… I’m going to tell you what I believe RW should be like in order to work flawlessly:
– everyone is remote. There is no middle ground here… or everyone is co-located… or everyone is remote. Plain simple;
– everyone should be in the same time-zone… with “tolerance” for one hour (plus or minus) difference max;
– all work should be synchronous (just like co-located teams);
– you need the right tools (e.g. Sococo) where you are all projecting your video and talking to each other all the time (just like in an online First-person shooter – FPS – videogame);

And the advantages of that are:
– you are all remote with the (majority) of the benefits of co-location;
– you can work from wherever you like (e.g. home, coffee shop, country house)
– it can give you access to some people (and some skillsets) that due to their location you couldn’t count on them (e.g. Alaska, Grenada, Tuvalu, Freixo de Espada à Cinta);
– you’ll be working from a more comfortable place than the typical office
– you won’t need to worry about commute time;
– you can (be closer and) spend more time with your family, friends, pets and other things that have meaning in your life.

For me, it is a no brainer that RW works and it will be an increasing trend of this century.

So hopefully we’ll stop “suffering” from so many approaches from recruiters (usually on LinkedIn) asking for professionals to relocate to locations thousands of km/miles away from where you are currently based… and we’ll see more remote jobs appearing and with that changing (and dramatically improving) people’s lives.

Don’t get me wrong… Co-location is (usually) better than RW… But not only RW can work… As it can unlock some very interesting possibilities that co-location can’t. So both are great… you just need to decide which one is better for you.

Unicorn On-call :: “Portugal tour” :)

Apesar de estarmos no Verão, estamos a viver um Agosto a fazer lembrar o Inverno.

Com o Verão faz-se uma pausa no calendário das conferências (salvo exceções).

No mês de Junho tive a honra de fazer a minha apresentação “Unicorn On-call” em três eventos nacionais:

  • DevOpsDays Portugal;
  • Tech in Porto;
  • Landing Festival Lisbon.

A apresentação tem como objetivo celebrar a coragem, determinação e dedicação dos engenheiros que abdicam do seu tempo livre para olhar pelos sistemas das empresas e por consequencia pelos seus clientes. Esta atividade é normalmente designada por “on-call” ou “prevenção”.

Dos vários temas abordados na apresentação, gosto de destacar três:

  • Sofware Engineer a fazer on-call, na medida em que não acredito em equipas dedicadas a fazer on-call e porque acredito que as pessoas que desenvolvem sistemas devem também mantê-los;
  • O on-call deve ser em regime de voluntariado, ou seja, as pessoas não devem participar por serem obrigadas mas sim porque acreditam que o devem fazer;
  • Quando utilizamos “gamificação” conseguimos excelentes resultados (em vários níveis).

Deixo ficar os meus slides, aqui, aqui e aqui. Todos têm (ligeiras) diferenças. 🙂

Deixo ficar aqui também o video de apresentação do programa Vanguard (programa de on-call com gamificação):

E aqui fica a minha apresentação no Tech in Porto:

Até para a semana.