Olá pessoal!
Não escrevo há muito tempo e esqueci como isso é feito, mas quero compartilhar informações que podem ser úteis para muitos. Afinal, eles constantemente me incomodam com perguntas, como:
- "Vale a pena trabalhar remotamente?"
- "Como você organizou o trabalho remoto para sua equipe?"
- "É difícil trabalhar com desenvolvedores remotos ..."
A postagem saiu mais do que o planejado - tentei descrever todos os pontos que você precisa considerar. Neste artigo, mostrarei diferentes estruturas de comandos remotos, como e por que os comandos remotos funcionam de maneira diferente quando estão em pé e quando não estão funcionando remotamente e, finalmente, darei exemplos reais. Obrigado pela leitura.
E um ... dois ... três ... Vamos lá!

Estruturas diferentes de comandos remotos
Comandos remotos significam coisas diferentes:
● Equipes de satélite
○ Várias equipes se sentam em escritórios diferentes.
● Funcionários remotos
○ Quase todo mundo está no escritório, e apenas dois homens trabalham remotamente.
● Equipes totalmente distribuídas
○ Tudo é remoto.
● Pelo princípio de "remoto primeiro"
○ Na verdade, eles são completamente distribuídos,
○ mas alguém trabalha no escritório.
○ Tente se comunicar para que os funcionários remotos estejam cientes de tudo.
Por comandos remotos, quero dizer comandos remotos primeiro válidos e totalmente distribuídos. O resto eu considero híbridos.
Por que é tão importante ver a diferença?
Só que esses são tipos completamente diferentes de equipes com necessidades diferentes.
Requisitos de processo
As equipes remotas têm cerca de cinco vezes mais requisitos de processo do que as equipes de escritório.
Por exemplo,

Adoro reuniões.
Sim, ninguém gosta de reuniões. Mas para equipes remotas, esse é um prazer especialmente caro, complexo e tedioso.
Como uma equipe remota de cinco pessoas se reúne:
- Anunciamos a reunião com antecedência.
- Gravamos tudo, porque nem todos vieram.
- Chegamos a tempo.
- Estamos escrevendo uma intimação.
- Tentamos não demorar.
- Depois, escrevemos algo no Slack, etc.
No escritório, em uma equipe de cinco pessoas, você se levanta e diz: "Está tudo aqui, há uma conversa". Embora se houver 20 a 25 pessoas no escritório, você ainda precisa mexer. Enquanto isso ...

- Dizer é fácil.
Em uma equipe remota, você não pode simplesmente se levantar e conversar com todos. Bem, de jeito nenhum. Alguém está offline, alguém está dormindo, alguém está de cabeça para baixo no trabalho.
As reuniões são apenas um bom exemplo, mas estamos falando sobre qualquer comunicação ou trabalho em equipe. Em equipes remotas, os processos são cinco vezes mais complicados.
É necessário sistematizar a interação e as expectativas.
Eu chamo processos não de trabalho duro com um monte de papéis, onde cada ação precisa ser confirmada com um selo. Quero dizer uma interação sistemática e expectativas compreensíveis.
Por exemplo, todas as manhãs celebramos ou sempre fazemos uma tarefa antes de outra. Com essas regras compreensíveis, as pessoas sabem o que esperar e evitam comunicações desnecessárias.
Não quero decepcioná-lo, mas ... afinal, isso é trabalho, e você precisa se comportar como se tivesse mais companhia do que realmente é. Você precisa de regras estritas. Problemas de comunicação ocorrem o tempo todo - e em grandes números.
As pessoas geralmente reclamam desses problemas de comunicação quando pensam em transferir equipes para um site remoto ou contratar desenvolvedores remotos. E eles decidem sobre híbridos ...
É muito difícil com híbridos
Imagine que você faz parte da equipe que está em um site remoto. Você tem requisitos de processo completamente diferentes. E você está sofrendo.
É difícil ser um renegado na equipe do escritório - você tem cinco vezes mais requisitos e esquece de pedir discussões, tudo é decidido sem você, você não tem idéia do que e por quê. Em geral, a vida é dor.
Os escritórios satélites também têm problemas. Existem cinco vezes mais requisitos de comunicação entre escritórios e, nos próprios escritórios, as pessoas trabalham normalmente. A menos que os escritórios operem quase independentemente um do outro, a comunicação entre eles sofrerá.
É difícil criar processos para requisitos de comunicação nessas equipes. Isso geralmente é contra a natureza humana. Vou à cozinha beber água e conversar com alguém no meio. E no Slack não vou escrever nada sobre isso, porque ... bem, porque estou em pedaços! Cara sou eu ou onde?

"Eu não sou tão preguiçoso." Eu simplesmente não me importo.
Por padrão - remotamente ou no escritório?
Eu tentei todos esses modelos. Pessoalmente, recomendo que você evite híbridos e lute por equipes totalmente distribuídas - ou abandone completamente o controle remoto e fique no escritório. Ambas as abordagens funcionam.
Se você precisar de um escritório pequeno, não deixe a maior parte da equipe ocupar-se dele e não exclua os funcionários remotos das discussões.
Em tais situações, se a equipe padrão trabalhar remotamente, um pequeno escritório funcionará.
Pergunte a si mesmo:
- Por que você decidiu criar uma equipe remota?
- Os benefícios valem o esforço?
- Se sim, o que terá que mudar?
- Quantas vezes você se encontrará pessoalmente?
- Se você precisa de um pequeno escritório, como se conectar com funcionários remotos?
○ Exemplo. Incomoda você se todas as pessoas no escritório em chamadas em conferência estão sentadas em seus laptops?
Por que trabalhar remotamente?
Muitos falam sobre economia. Como, udalenka é mais barato. Às vezes isso é verdade, especialmente se você está acostumado a salários no Vale do Silício. Mas os estrangeiros esperam um salário de classe mundial. Você ficará surpreso com o que as pessoas têm expectativas. Sonhando com terceirização barata? Então o udalenka não é para você.

- Olá, dê uma garrafa do seu melhor vinho.
"Você tem US $ 1.600."
- Bem, então por favor, seja gentil comigo, o mais oito baksovy.
A contratação de funcionários remotos oferece quatro benefícios: você contrata as melhores pessoas, onde quer que elas (ou você) estejam; aumentar a qualidade de vida; gerencie sua produtividade; você tem uma baixa rotatividade de pessoal.
"Temos uma startup legal, todo mundo quer nos ver!" Alguém quer. Alguém não é. E esses últimos são um monte de pessoas que você sente falta.
Por outro lado, com a abordagem correta, até gênios do Vale do Silício podem ser atraídos: "Olá, você não pensou em se mudar de São Francisco? Esse número não funcionará com o Google e somos outra questão! Você trabalhará com pessoas de todo o mundo em um projeto interessante onde quiser. Bem , vamos discutir ?
Quanto a mim, não se trata de despesas, especialistas legais e otimização da qualidade de vida e da sua produtividade. O principal é a retenção de pessoal. Você sabe quanto tempo as pessoas trabalham em equipes remotas? Muito mais tempo do que no escritório.
Iterações vs Inovações
Você perceberá rapidamente que, no Hangout ou no Slack, muitas nuances humanas são perdidas. Essas são nuances importantes, especialmente se você tiver um projeto criativo.
Suponha que você esteja mudando a direção do desenvolvimento. Por um longo tempo, você diz com entusiasmo o que a equipe deve fazer e em resposta: “Desculpe, você tem algo com a Internet. O que você acabou de dizer agora?

A inovação é melhor em reuniões presenciais, nas quais até o funcionário mais silencioso e discreto pode pegar um marcador e explicar alguma coisa.
E quando você já concordou com alguma coisa, todos se sentam em suas tarefas, e é mais fácil fazer isso remotamente.
- Iterações - distantes
- Inovação - pessoalmente
Mesmo se você trabalhar remotamente, concorde com a frequência com que precisa se encontrar. Eu recomendo reunir-se uma vez por trimestre ou duas vezes por ano com toda a equipe. E permita que as equipes de projetos individuais se encontrem conforme necessário.
Solidão
Muitos reclamam que é solitário em um site remoto. Pessoalmente, não tenho esses problemas, mas já vi isso com amigos e entendo por que as pessoas se preocupam.
O chefe da empresa deve garantir que todos estejam saudáveis e felizes. Aqui está o que nos ajudou:
- Trabalhamos não em casa, mas em escritórios alugados em conjunto (no coworking você se distrai o tempo todo).
- Não estamos encontrando amigos do trabalho.
- Nos encontramos regularmente pessoalmente.
Otimização para iteração - otimização para um jogador

Em equipes remotas, tudo deve ser organizado para que as pessoas possam trabalhar da forma mais autônoma possível. Isso não significa que você precise deixar os funcionários em paz. Dê a eles a oportunidade de trabalhar sozinhos, se necessário.
Sozinho, as pessoas tomam decisões rapidamente, e a equipe geralmente fica mais lenta. Para alcançar o resultado, você precisa trabalhar nos dois sentidos, mas tente evitar a burocracia da equipe, se não for absolutamente necessário.
Pergunte a si mesmo:
- Como definir uma estratégia para que as pessoas a entendam e tomem decisões no espírito dessa estratégia?
- Como definir metas para que as pessoas as entendam e se concentrem nelas?
- Como estabelecer uma hierarquia de decisões para resolver apenas os problemas mais importantes?
- Como incutir confiança nas pessoas? (funciona mais rápido com ele)
- Quando você pode passar sem você e quando precisa intervir?
- Como garantir que você participe apenas de cada décima decisão e cancele apenas a cada centésimo?
- "Como organizar o ambiente e os processos para que funcionem mesmo em casos de emergência?"
Se você contratou pessoas inteligentes e talentosas, por que não lhes dar liberdade de ação? O que está faltando? Você contratou os errados? Você poderia identificar claramente os objetivos? Você não tem certeza dos elementos estratégicos? É melhor resolver esses problemas de uma vez por todas do que lidar com as consequências a cada vez.
Faça essas perguntas não apenas para toda a empresa, mas também para cada vertical individual.
Aprofundando: gerenciando equipes de desenvolvimento remoto

Aqui estão alguns exemplos para equipes de desenvolvimento (é fácil fazer analogias com outras áreas):
Como você ou um membro da equipe:
- ... problemas sozinhos no meio da noite?
- ... ajudar novos desenvolvedores a aprender por conta própria?
- ... compartilhar dicas para escrever código?
- ... não transformam solicitações de pool em um processo prolongado?
- ... para não encontrar sem necessidade especial?
- ... permitir que os desenvolvedores tomem suas próprias decisões de produtos?
- ... evitar os piores cenários?
- E novamente - como aumentar a confiança? (trabalha com ela mais rápido!)
Nós da Product Hunt ponderamos por um longo tempo e eis o que pensamos:
- Delineie claramente estratégias e objetivos globais.
- Deixe os desenvolvedores serem responsáveis por suas equipes e projetos.
- Seja responsável por seus produtos e objetivos (a estratégia vai de cima para baixo e a execução de baixo para cima )
- Indique claramente em quais casos a opinião de várias pessoas é necessária (por exemplo, alterações na pilha, problemas de segurança etc.).
- Você deve ter uma documentação cuidadosa para iniciantes e orientação dos funcionários.
- Permita que novos funcionários aprimorem esta documentação.
- Use palavras claras.
- Descreva claramente as regras e proibições.
- Não implemente soluções até que surjam problemas (especialmente para processos ou infraestrutura).
- Às sextas-feiras, os funcionários podem fazer o que consideram útil (se o projeto estiver desativado) - corrigir falhas técnicas, melhorar a interface do usuário, experimentar uma nova biblioteca, reconstruir a infraestrutura ...
- Grave vídeos em vez de demonstrações ao vivo (por exemplo, para protótipos da interface do usuário).
- Obtenha um conjunto de testes confiável (mas não enorme) (para integração de funções e testes de unidade para peças de risco).
- Tente usar componentes padrão várias vezes, em vez de colar sobre cada pixel.
- Certifique-se de usar linters para cada idioma (mesmo para HTML / CSS).
- Ative a formatação automática (para não discutir estilos de código).
- Ative a complexidade contando no linter (️ idéia brilhante).
- Não entre no console de produção se este não for um caso extremo (com logs e alertas).
- Permita que as condições de produção sejam recriadas facilmente no desenvolvimento (sem dados extras).
- Os ambientes de desenvolvimento devem ser reinstalados em uma etapa.
- Selecione um horário para visualizar as solicitações de pool (a primeira coisa todas as manhãs).
- "+1" em solicitações de pool é bom, mas não necessário.
- Se houver riscos à segurança, peça "+1" (usando danger.js ).
- Nos comentários, escreva por que, não o que
- etc e assim por diante
Escreva para mim se precisar que eu pinte tudo em detalhes. Enquanto isso, detalhes podem ser encontrados em minha primeira apresentação sobre como trabalhamos no Product Hunt: https://www.slideshare.net/andreasklinger/engineering-management-for-early-stage-startups-97402850
Se você estiver com preguiça de ler muitas cartas: idealmente, o desenvolvedor deve entender por si mesmo se está tudo em ordem e quando precisa revisar as análises dos colegas. E deixe os detalhes serem verificados automaticamente. E o mais importante - trate-os como adultos.
Estes são problemas não apenas de equipes remotas
Todos esses problemas dizem respeito não apenas às equipes remotas, e as soluções podem ser usadas da mesma forma que no escritório. Só que as equipes de escritório não precisam de regras tão rígidas - elas sempre podem consertar algo ao longo do caminho. Talvez os desenvolvedores não estejam felizes com as reuniões e as conversas, mas funciona e todo mundo faz.
No escritório, os problemas com os processos são resolvidos por reuniões frequentes e interferência constante no trabalho dos membros da equipe.
As equipes remotas são mais exigentes nos processos; portanto, os problemas com o gerenciamento de funcionários simplesmente surgem mais cedo e são mais impressionantes.

- Regra número 1: não se incomode.
Como é caro atender, é necessário considerar a sistematização dos processos.
Como os funcionários não podem ficar acima de suas almas, é preciso entender em que eles podem confiar plenamente.
Como você não pode seguir todas as etapas, é necessário determinar a estratégia e os objetivos e tratar os desenvolvedores como adultos capazes de tomar decisões.
Você acha que ainda não está longe?
É claro que você pode discutir todos os prós e contras do trabalho remoto, mas vamos ser honestos.
Já estamos trabalhando assim. Verificamos correspondências nos finais de semana, lemos jornais sobre o caminho para o trabalho e terminamos os projetos domésticos à noite. Você já trabalha remotamente, a única questão é com que frequência e quantas ferramentas necessárias você possui.

Se você trabalha em um site remoto ou não, não é mais uma questão. A questão é quanto.
O trabalho remoto é um desenvolvimento lógico do trabalho com tecnologias digitais . E os métodos de trabalho de equipes remotas podem ser aplicados a todos que trabalham no espaço digital.
O fim

Deixe-me saber se eu não tentei em vão. E se você tem experiência em trabalhar com equipes remotas, conte-nos como pode melhorar o artigo!
PS. Por muitos anos não escrevi nada no blog ... Fiquei muito nervoso e pedi feedback enquanto escrevia. Mais de cem pessoas ofereceram ajuda, eu nem posso mencionar todos aqui, e estou muito satisfeito com os comentários. Essa ajuda significa muito para mim. Obrigado a todos.
Se você quiser me ajudar com rascunhos de postagens, assine . Agradecemos antecipadamente.