Na véspera da
equipe, leve o café da manhã “Equipe remota. Start ", conversamos com o diretor técnico da wemake.services - Nikita Sobolev (
sobolevn ). Apesar de a busca por um desenvolvedor, especialmente um experiente, ser o pesadelo de um líder de equipe ou gerente de projetos, poucos ainda decidem mudar para trabalhar com trabalhadores remotos. Nikita, no entanto, há vários anos resolveu esse problema radicalmente. Como Vamos descobrir!

Mais adiante, na entrevista, aparecerão dois: o entrevistador (I.) e Nikita Sobolev (N.)
Sobre métodos de trabalho em geral e o número de pontos de controle
I .: Quase todos os líderes de equipe e gerentes de desenvolvimento reclamam que não encontram um desenvolvedor no escritório. Especialmente nas regiões. Veja Kazan, por exemplo. Por seis meses, eles não conseguem encontrar um desenvolvedor para si mesmos, mas ainda se apegam a todos que estão sentados ao lado no escritório. Isso parece dar controle ilusório?
N .: Precisamente - a ilusão de controle. Provavelmente vamos começar definindo o trabalho remoto. E aqui não quero primeiro fazer a diferença entre trabalho remoto e não remoto, mas preciso examinar o trabalho em si. No trabalho, eles exigem coisas diferentes. Há trabalho onde você acaba de chegar, das 9:00 às 18:00, senta, faz alguma coisa e, em princípio, é suficiente. Eu chamo essa abordagem de "horas" - aqui você vem e, portanto, deve ficar de fora. Só isso. Não há mais requisitos formais. Empregadores particularmente astutos podem criar um KPI ridículo para minimizar o número de bugs no produto. Ou alguma outra bobagem. E então, programadores não menos astutos aprenderão a otimizá-lo sem atividade útil. E nada vai mudar.
E o segundo método é chamado "para o resultado". Quando você começa a verificar o resultado, em princípio, não importa a que horas a pessoa chegou, a que horas saiu e o que fez. Ou seja, se é importante para você que na segunda-feira esse recurso funcione e na segunda-feira funcione - em princípio, tudo o mais não lhe interessa.
I .: Bem, você entende que então deve haver muito mais pontos de controle. Porque você pode esperar um mês pelo resultado, e então a pessoa não fez nada.
N .: Sim, com certeza. O resultado não é algo grande. O resultado é algo pequeno. Quando tentamos alcançar um resultado global, temos muitos intermediários pequenos. E esses pequenos resultados intermediários também são valiosos e importantes para nós. E graças a eles, vemos um processo claro, como uma pessoa vai do ponto A ao ponto B, que decisões ele toma, que código ele escreve, quais recursos ele vê a seguir, em que ordem ele os toma. Temos total transparência. E, em princípio, não nos importa onde está localizado, remotamente ou não remotamente.
Temos um projeto, uma meta global e um certo ritmo com o qual estamos nos movendo em direção a essa meta. Vemos todos os resultados intermediários, podemos controlar sua qualidade, controlar sua direção global. Como você pode ver, o trabalho remoto ou não remoto não é importante aqui. O trabalho não remoto é importante para quem é o primeiro.
Sobre pessoas, programação meditativa e os dois princípios principais de udalenka
E .: Eu sei que toda a sua equipe está distribuída. Parece que você acredita muito nas pessoas, e eu li em outro técnico que ele não acredita nas pessoas, mas apenas no controle e nos prazos. Parece-lhe que sua posição é tal que uma pessoa é capaz de realizar a tarefa de forma independente, sem instruções claras e constantes e controle de sua parte. O que você acha: todos os desenvolvedores podem trabalhar nesse modo? Que tipo de pessoas lidará e quais precisam de monitoramento constante?
N .: Eu realmente acredito nas pessoas. Mas existem algumas nuances sutis. Se uma pessoa viesse e dissesse o que faria, naquele momento eu confio nela. Outra coisa é que seria ilógico confiar nele com algo grande e muito importante. Não porque ele é ruim e engana, mas porque é algo grande, pode conter muitas dificuldades com as quais uma pessoa não consegue lidar fisicamente e se decepcionar, o projeto e eu. Por que trazer para esta situação? Portanto, a idéia principal é que as
tarefas sejam pequenas e compreensíveis .
Confio completamente em uma pequena tarefa compreensível para uma pessoa e digo: “Aqui você tem uma tarefa por uma ou duas horas. Você pode fazê-lo como achar melhor. Aqui estão nossos critérios de conclusão, aqui estão suas ferramentas. ” E, consequentemente, durante essas duas horas ninguém toca nele, ele é livre para fazer qualquer coisa. Duas horas depois, ele traz e diz: "Aqui está o meu resultado". Ou ele diz: “Isso não pode ser feito em duas horas, e é por isso. Eu vim com essa solução para o futuro. ”
Acontece que as pessoas vêm até nós acostumadas a trabalhar no escritório ou acostumadas a trabalhar em outra terceirização. E eles não podem ganhar nada em um mês. Só porque, em vez de seguir nossas regras simples, eles tentam trabalhar no modo antigo. E, naturalmente, eles não conseguem. Além disso - eles ignoram meus conselhos e recomendações de nossos bots. E sim, existem problemas. Consequentemente, se uma pessoa é um funcionário de escritório tão típico que está acostumado a ter três reuniões por dia e 15 minutos escrevendo código, provavelmente encontrará dificuldades. Como não há reuniões ou outras distrações, há apenas código e documentação. Assim, estamos caminhando para uma programação meditativa sem distrações e alternâncias de contexto.
E .: Uma coisa me surpreende neste esquema: quando você dá pequenas tarefas às pessoas, deve haver alguém que vê todo o projeto e entende para onde estamos todos nos movendo. Acontece que sua carga está aumentando. E você tem que manter essas cem pequenas tarefas sob controle, certo?
N .: Uma pessoa deve ter uma imagem completa em sua cabeça para onde estamos indo. Se as pessoas no projeto não entenderem para onde estão indo e por que estão fazendo algo, elas não serão capazes de fornecer um resultado normal. E assim está em todo lugar: remoto, não remoto - não importa. Mas, para compilar essa visão completa, as pessoas precisam entender a área de assunto, precisam entender o problema de negócios, precisam entender alguns marcos globais e sua conexão com as tarefas de negócios e a área de assunto.
Isso pode ser feito com uma descrição detalhada do que fazemos na documentação. Ou seja, a criação de um idioma único, requisitos compreensíveis, criação de modelos e cenários de negócios, gráficos e diagramas compreensíveis, decisões tomadas, casos de uso e cenários de usuário. Isso não significa que apenas precisamos desse recurso, não, mas por que é necessário, quem o usará e, nesse caso, quais são as armadilhas desse recurso.
A documentação cria uma compreensão completa de onde estamos indo . Vou dizer mais, porque temos todas essas pequenas tarefas conectadas, temos uma "cadeia de tarefas" e o desenvolvedor pode entender por onde começamos, para onde estamos indo e onde estamos.
O código em si também é muito importante, que não está escrito no estilo "aqui temos um monte de lixo". E com uma arquitetura clara, com regras claras, com bons padrões. E o código está vinculado ao que fazemos em um alto nível de negócios. Quando você olha para uma turma, já percebe que não é apenas uma turma, mas uma turma responsável por uma determinada área de negócios - “ah, aí está!”. Nesse ponto, bons desenvolvedores entendem o que estão fazendo e podem começar a criar tarefas por conta própria. Eles farão uma pequena parte e depois entenderão: "Ah, ainda precisamos seguir adiante".
Meu único papel em tudo isso é simplesmente controlar a direção, bem, uma certa adequação.
E .: Entendi sua ideia de que uma visão comum é a coisa mais importante para uma pessoa entender / executar corretamente as tarefas e ver sua contribuição para o projeto. Porém, no seu sistema de trabalho, vejo mais dois princípios - isto é, levar em primeiro lugar desenvolvedores de um nível excepcionalmente alto e, em segundo lugar, essa é uma documentação muito bem escrita. Certo?
H .: Isso mesmo. E agora estamos voltando ao trabalho remoto. Por que, consequentemente, escolhemos essa opção, e não a opção "escritório". E agora você percebeu precisamente que esses dois pontos são fundamentais.
O primeiro são desenvolvedores fortes. Onde encontrá-los? Desenvolvedores fortes em todo o mundo são distribuídos de maneira desigual. E há pontos em que há desenvolvedores mais poderosos e, ao mesmo tempo, são mais baratos. Por que deveríamos competir, por exemplo, com empresas de Moscou, que podem pagar muito dinheiro por um desenvolvedor forte quando nossos recursos são mais modestos? Há um maravilhoso mercado regional, o mercado asiático ou o mercado africano, ou o mercado de outros países pós-soviéticos. Existem desenvolvedores fortes lá, mas eles são várias vezes mais baratos.
É importante entender que não revendemos o tempo de desenvolvedores baratos por caros, como todo mundo costuma fazer. Tentamos encontrar o melhor pelo mesmo dinheiro. E nós oferecemos um
sistema de pagamento transparente. Quanto ganhou - tanto recebeu. Devido ao mercado local, as empresas têm problemas com bons desenvolvedores, mas nós não os temos.
E o segundo ponto é a documentação. Uma boa documentação só pode ser escrita quando for necessária. Porque se ele é escrito sob um bastão e não é visto, atualizado, rapidamente se torna ruim. Boa documentação, por exemplo, em projetos de código aberto, como está escrita? Ela é a única fonte de como as pessoas podem aprender e tirar proveito desse projeto de código aberto. Se as pessoas vêem que algo não está funcionando na documentação, elas criam uma tarefa e dizem: "Algo não está funcionando na sua documentação". Você diz: "Oh, eu vou consertar agora." Se uma pessoa se sentar ao lado dela, ela simplesmente perguntará: "O que deve ser feito neste momento?" E você é forçado a responder a ele. E nesse processo, a documentação não será boa. Para que a documentação seja boa, as pessoas precisam estar à distância e não conseguir se comunicar diretamente.
Sobre o sistema de remuneração e formação de equipes
I .: Engraçado, acontece que quando as pessoas estão à distância, é mais fácil se envolver no projeto, porque elas podem ler a documentação e, no escritório, precisam procurar quem começou a escrevê-la, de onde veio essa peça e o que isso significa?
N : Sim, fica mais fácil para eles, porque todo o processo de trabalho remoto é baseado no fato de que novas pessoas virão. Existem duas opções de trabalho: automação e documentação. Muitas coisas são mais fáceis de automatizar: por exemplo, implante. E como algo funciona é mais fácil de descrever em texto ou gráfico.
Nas equipes que trabalham no escritório, parece-me que isso é impossível de alcançar. Muitas vezes ouço dizer que você precisa gastar muito tempo nisso e, se estiver sentado nas proximidades, trabalhará mais rápido. Se esse for um sprint curto e você precisar criar um protótipo de algum aplicativo em uma semana, provavelmente será mais rápido trabalhar cara a cara. Mas se estamos falando de um projeto que dura vários anos, ele acumula criticamente todos os problemas conhecidos muito rapidamente. E depois de algum tempo é impossível usá-lo. Esse é o problema de todo o software que eu vi, escrito em um modelo tradicional.
I .: Que medos e preconceitos você teve quando passou a trabalhar com uma equipe distribuída? Ou não eram?
N : Naturalmente, havia medos, e nossos primeiros funcionários, contratados em um local remoto, trabalhavam de acordo com o antigo sistema, isto é, pelos salários. E quando você paga um salário, você não se importa. Porque você deseja aproveitar ao máximo o tempo que uma pessoa lhe vendeu. Eu tinha muitas dúvidas e preconceitos. E não havia controle algum. Logo percebi que, nesse formato, o trabalho remoto não funcionava.
Como resultado, reduzimos esse experimento. E agora tenho um preconceito em relação ao escritório.
Alguém quer que eu esteja em algum lugar em um ponto específico da Terra, limitando minha liberdade de movimento. Ele também quer que eu gaste todo o tempo com ele, limitando minha liberdade de atividade. É estranho que para muitas pessoas essa opção pareça normal.
É claro que sempre há obrigações. Mas no meu caso, essas obrigações são sobre o resultado. Ou seja, nesse momento, eu tenho que fazer isso. E no trabalho de escritório, tenho a obrigação de ir ao escritório todos os dias. E de cima eles apresentam alguns outros requisitos que posso adiar com habilidade para mais tarde.
A resposta é tão complicada. Se você paga dinheiro por algum motivo, a equipe remota é um inferno. Porque você não pode controlar nada. E se tudo for feito corretamente, a equipe remota é o próximo nível da organização do trabalho em comparação com o que é agora.
I .: Como é um trabalho remoto construído corretamente do seu ponto de vista? Há um certo desenvolvedor que está pronto para trabalhar em um site remoto, o que acontece a seguir?
N .: Há um exemplo muito bom para desenvolvedores. Este é um fenômeno de código aberto. Código aberto - milhões de desenvolvedores que se auto-organizam remotamente, ninguém realmente ajuda. E eles fazem coisas incríveis que o mundo inteiro usa.
E um bom trabalho remoto parece exatamente o mesmo. Como é iniciada qualquer comunicação em código aberto? O desenvolvedor cria uma tarefa, diz: "Algo não funciona para mim" ou "Não entendo a documentação" ou "Quero um novo recurso". Você olha o que precisa ser feito para satisfazê-lo. A seguir, é apresentada uma discussão, algumas perguntas esclarecedoras, que talvez essa tarefa supere várias tarefas. E então é enviado um código que fecha essas pequenas partes. O código é verificado por testes e linters, ocorre uma revisão. E então uma nova versão será lançada. Na verdade, é tudo.
E todo o mundo criado artificialmente em torno dos projetos, que agora é da categoria de "temos 15 líderes de equipe, 6 gerentes de projeto e dois mestres de scrum", é necessário para extrair mais pessoas do mesmo dinheiro. Porque ninguém pode verificar o resultado com toda a ficção de importância e controle. Com foco nos resultados, tudo funciona sem eles.
I .: Você acha que existe uma maneira segura de mudar para esse modelo? Imagine que há uma equipe no escritório, há líderes de equipe, produtos, análises e assim por diante. Eles são extremamente carentes de desenvolvedores, ou têm fakaps permanentes ou os prazos estão em vigor. Em algum momento, eles concluem que não se pode viver assim.
N .: Vou explicar, eu mesmo não estive numa situação de transição segura. E não conheço empresas que mudariam gradualmente para essa opção. Eu tive uma experiência muito traumática. Tivemos um grande buraco de dinheiro devido ao fato de trabalharmos da maneira antiga e, de alguma forma, tudo correu mal. Eu tive que dispensar todo mundo que tivemos naquele momento e, na verdade, começar de novo. E esse momento, por um lado, foi muito difícil, doloroso e, por outro, muito simples, porque não precisei fazer a transformação ao longo do caminho. Eu apenas piquei e comecei novamente.
I .: Muitos gerentes acreditam que a equipe é seu principal valor. E você demitiu todo mundo. E agora você considera seus colegas que trabalham para você em diferentes partes do mundo uma equipe?
N .: Claro que não. Geralmente sou contra o uso da palavra "equipe" nos negócios. Acredito que uma equipe é realmente algo único. Agora, tudo o que tradicionalmente existe no mercado é uma equipe, na melhor das hipóteses. E, no nosso caso, nem sequer é uma equipe, é apenas um conjunto de pessoas que juntas fazem um projeto e ganham dinheiro. Eles não são algo que não é um time, nem sequer são familiares. Basicamente, agora a palavra "equipe" é usada como outra manipulação de pessoas.
Eu .: Interessante. Parecia que metade dos artigos e discursos sobre o gerenciamento de uma equipe distribuída sobre como reunir essa equipe em diferentes fusos horários, fala diferentes idiomas e como tornar a interação eficaz. Isso é um problema para você?
N .: Não vale a pena. Além disso, sou contra o fato de que as pessoas se uniram à força. Eu acredito que tantas pessoas cruzam fronteiras. Há uma fronteira de trabalho e há uma fronteira de vida pessoal. E no trabalho, estou pronto para me comunicar com pessoas diferentes. Como isso é trabalho, nem sempre escolho com quem me comunicar. É necessário - significa que é necessário. Mas quando as pessoas começam a enfiar meu nariz à força com as pessoas, não quero me comunicar fora do trabalho, como "vá se reunir com elas". Por que de repente? Eu tenho meus próprios amigos, minha própria família, por que vou dedicar tempo a quem não sabe quem, quando posso conversar com pessoas importantes para mim? Para mim, isso é completamente incompreensível.
"Não", "talvez" e "sim" - onde procurar desenvolvedores
I .: Entendo corretamente que você simplesmente não impõe uma cultura corporativa e não integra forçosamente sua equipe, e em troca as pessoas têm total liberdade para escolher o que fazer, a que horas e com quem se comunicar. E dê um resultado, é claro.
N : Sim. E eu tento muito diferenciar as coisas que posso fazer, porque pago por isso e que não tenho o direito de fazer, porque apenas pago.
E .: Eu sei que para muitas pessoas sua abordagem causa rejeição. Por exemplo, no habr
deste artigo, há comentários de que você é quase cruel, não paga ninguém, e assim por diante. Porque
N .: Realmente existe um problema. As pessoas vêem o que querem ver e o que estão acostumadas a ver. Se as pessoas estão acostumadas a viver em um setor em que são usadas, enganadas, manipuladas e jogadas, então elas a veem. Se as pessoas estão acostumadas a viver em uma atmosfera de confiança, em um ambiente de trabalho e equilíbrio de qualidade, elas o veem. Infelizmente, a questão é que, em nossa indústria, a primeira prevalece sobre a segunda.
I .: Não parece que de fato o sistema que você oferece resolve um dos principais problemas dos desenvolvedores que dizem que realmente escrevem código 15 minutos por dia? E o resto é realizado em comícios e queimado, queimado, queimado ...N .:: É claro que eu fiz por mim mesmo! E acima de tudo, gosto de escrever código. Era estranho se eu fizesse um sistema no qual não pudesse escrever código.I .: Seus idosos podem ganhar o suficiente pela vida? E quantas horas por dia eles gastam para ganhar tanto quanto, por exemplo, na empresa de estatística estatística de sua cidade?N.: Eles podem, mas não todos. Somente aqueles que trabalham muito e eficientemente. Eles podem ganhar muito. Não há limite superior e não pode ser. E algumas pessoas não podiam ganhar nada de nós.E também temos preços ligeiramente diferentes. Eles são várias vezes superiores aos do mercado na Rússia. É importante entender que não estamos vendendo os mesmos relógios. A hora habitual de trabalho não é nada. Você fica sentado, assiste ao YouTube por uma hora e é pago por isso. Algumas empresas desejam inserir uma sonda em você para observar o que você faz lá. Portanto, o preço de uma hora de baixa produtividade também é baixo. Temos uma hora de trabalho - este é um custo fixo da tarefa.Mas aqui está outro problema - a taxa de câmbio do rublo caiu muito fortemente. E nós, por exemplo, não podemos trabalhar com desenvolvedores europeus. Tivemos essa experiência, mas eles apenas recebem migalhas pelos seus padrões. Muitos simplesmente participaram porque estavam interessados, mas pelo dinheiro não foi suficiente. Mas com os caras de outras partes do mundo - acontece que eles têm muito dinheiro para o seu padrão de vida.Acontece três grupos: o grupo “não” (americanos e europeus), o grupo “talvez” (esses são nossos, Ucrânia, Bielorrússia) e o grupo “sim” (esses são África, Ásia, etc.). Aqui, a pergunta é especificamente sobre minha implementação: quanto posso vender essa ideia aos clientes e quanto eles estão dispostos a pagar. Mais uma vez, trabalhamos apenas com clientes russos. Se ingressássemos ativamente no mercado europeu ou americano, eles pagariam mais e esse problema seria parcialmente resolvido. Mas até agora.I .: Você descreveu quase o mundo inteiro! Quão alargada é a escolha de candidatos com acesso ao mercado internacional?N .: Ele se expande muito. Ainda não tivemos tempo de trabalhar ativamente com a América do Sul. E também existem muitos bons desenvolvedores.I .: Diga-me, como você está procurando desenvolvedores?N .: De jeito nenhum. Eles vêm sozinhos. Eles estão interessados em tentar.Os princípios de trabalho da PS Nikita podem e causam opiniões controversas, mas o sistema está se mostrando eficaz. Você tem experiência alternativa de sucesso na organização do trabalho de uma equipe distribuída? Escreva nos comentários!E aqueles que estarão em Kazan em 2 de outubro de 2019, vêm tomar um café da manhã com o líder da equipe, onde você pode discutir este artigo: expresse toda a sua indignação ou aprovação pela abordagem da Nikita, além de ouvir outras 3 histórias sobre como trabalhar com remotos e terceirizados.