O desenvolvedor principal não é em vão o "lead". Essa frase foi ouvida em uma conferência sobre gerenciamento de TI e levantou uma questão: por que, de fato, "não é em vão"? Foi essa pergunta que me levou a escrever este artigo.

Avaliando minha experiência, posso dizer que as principais características de um desenvolvedor líder podem ser reduzidas a 3 pontos:
- Ele pensa não apenas em seu jardim, mas também em todo o jardim (essa é uma qualidade fundamental). Pronto para criar padrões e monitorar sua implementação.
- Ele conhece sua própria linguagem e estrutura perfeitamente, é versado em arquitetura, tem um sólido histórico de trabalho por trás dele. “Solididade” não significa necessariamente tempo gasto no teclado; a quantidade e a qualidade dos projetos escritos são importantes.
- Ele deseja e pode razoavelmente transmitir sua opinião, defendê-la e buscar um compromisso, se necessário.
Além de escrever código (continua sendo a principal responsabilidade), o facilitador participa da seleção da equipe e do seu desenvolvimento na direção certa, na busca de soluções técnicas para problemas dolorosos ou iminentes, monitora a segurança e a integridade do sistema e bane regularmente idéias malucas de gerentes ou outros desenvolvedores.
Um de seus pontos fortes é uma imagem holística do mundo, na qual é determinado com precisão o que é bom e o que é ruim. Isso permite que você rapidamente tome decisões e, sem hesitação, traga-as à vida. Essa confiança é contagiosa e permite ganhar credibilidade aos olhos dos gerentes que já não são tão simples e claros. De fato, além dos técnicos, “melhor”, “mais confiável” e “mais rápido”, no nível gerencial, existem todos os tipos de “o cliente não vai querer”, “o investidor não vai apreciar” e todos os tipos de “Vasya serão ofendidos”. Quando o gerente ouve "não, aqui só é necessário fazer isso, porque 1, 2 e 3" - ele suspira aliviado. A escolha se torna óbvia e a responsabilidade cai de seus ombros.
Há pouco mais de um ano, finalmente deixei a posição de desenvolvedor líder e decidi fazer uma pequena retrospectiva dos meus erros mais irritantes. Então:
Erro número 1. Gerenciamento excessivo
Eu tive um caso há cerca de três anos atrás. Além dos meus colegas que receberam tarefas diretamente do gerente, o desenvolvedor veio até nós em um dos meus projetos e eu já defini as tarefas para ele. Para mergulhá-lo no trabalho, passei 3 dias com ele por 14 horas seguidas, contando e mostrando tudo, certificando-me de que ele entendesse tudo corretamente. Isso produziu resultados e, em seguida, todas as tarefas foram definidas imediatamente com a solução: abra um módulo, adicione essa e aquela função ali, conecte esta biblioteca, etc ... Em geral, ele funciona e imediatamente dá frutos, mas :
- Consome tempo em detrimento de suas próprias tarefas.
- Alivia a responsabilidade pelo resultado do funcionário. Você disse o que exatamente fazer, o que significa que, se não funcionou, ele será informado com prazer, dizendo que você está procurando outra solução.
- Desimpedir um funcionário de pensar e impedi-lo de desenvolver
Após 9 meses, fiquei
grávida de muito cansaço desse modo de trabalho e a funcionária não subiu ao nível de qualificação exigido.
É mais correto definir tarefas em um nível suficientemente alto para que a própria pessoa busque soluções e assuma a responsabilidade por elas. Para a pergunta "como fazer isso?" você sempre precisa responder: “O que você acha? Alguma idéia? ”, Estimulando assim o trabalho do pensamento na direção certa. A resposta pode ser solicitada, mas apenas certificando-se de que a própria pessoa já tenha feito essa pergunta e conduzido uma análise.
Erro número 2. Concessões ao chefe na solução técnica
Em algum momento, meu gerente gostou de uma das novas tecnologias sensacionais (não, não da tecnologia sensacional em que você pensou). Sua implementação minou a integridade do sistema, criou uma divisão desnecessária das frentes de trabalho e geralmente diminuiu a velocidade do desenvolvimento para sempre. Para mim, isso era óbvio até então, mas a bela aparência da demonstração e o desejo de experimentar assumiram a liderança, convenceram-me por gancho ou por bandido, e nós a implementamos. A compreensão de que isso foi um erro atingiu a liderança em algum lugar depois de um ano e meio.
Concluí que você precisa respeitar seu instinto com respeito, confiar nele e protegê-lo.
No fundo, você entende por que se sente assim. É preciso ser capaz de extrair esse entendimento de si mesmo e depois formular argumentos a partir dele.
Erro número 3. Falta de empatia e toxicidade
Quando você passa muito tempo com o computador e é apaixonado pelo que está fazendo, geralmente pode esquecer que as pessoas também estão por perto. Eles não são perfeitos, mas todos têm sua intenção positiva em relação ao que estão fazendo. É importante ver essa intenção positiva sempre e em tudo. Isso ajuda a manter uma atitude benevolente em situações em que uma pessoa comete um erro. Ouvem-se histórias constantemente sobre como os idosos, sem um pingo de compaixão, abalam os resultados dos esforços de seus colegas menos experientes, depois mergulham-nos na escuridão e os privam de motivação para trabalhar. Depois de analisar minha experiência, percebi que às vezes eu mesmo permitia isso a mim mesmo, embora sem algumas formas extremas.
Falando sobre toxicidade, gostaria de observar separadamente que, além de críticas muito severas, existem outras formas que podem, de um modo ou de outro, afetar negativamente o desejo de trabalhar com você. A toxicidade em si é muito contagiosa e você pode facilmente buscá-la em meus colegas; então, em algum momento, decidi professar o princípio "não deixe o mal ir além de você" (identifique e suprima-o primeiro em si mesmo) e compilei uma lista de manifestações que você pode considere a toxicidade (com base no relatório do
TED "7 pecados mortais na comunicação" ):
- Fofoca. Todo mundo quer fofocar um pouco às vezes, mas em larga escala, as fofocas são nojentas
- Convicção. É difícil se comunicar com alguém que te culpa. Especialmente se for sabido que ele condenará qualquer ação antecipadamente.
- Negatividade Há pessoas que não são felizes com nada e nunca.
- Chorando. Reclamações sobre a vida são permitidas apenas em quantidades homeopáticas.
- Desculpas. Transferência de culpa, isenção de responsabilidade.
- Enfeite. O exagero constante a que muitas pessoas tendem quando falam sobre projetos, experiências e conhecimentos. Qualquer exagero ao longo do tempo tende a se fundir em mentiras contínuas.
- Dogmatismo. Quando o falante não compartilha onde está o fato verificado, e onde está a opinião subjetiva dele, e o rega com um fluxo contínuo, transmitindo-o inteiramente como uma verdade comprovada. O exato oposto da discussão científica.
Erro número 4. Ignorando as partes interessadas
Seu líder tem colegas no mesmo nível que ele e acima. Eles podem ser amigos ou inimigos. Eles nem sempre gostam de sua influência legítima nas decisões do líder, e as próprias decisões nem sempre acompanham seus interesses. Quando você é programador, não presta atenção nem sequer pensa nisso. Normalmente, seu supervisor o encapsulará dessas coisas pelo maior tempo possível. Em algum momento, você pode achar que está graciosamente cheio das coisas mais inesperadas e não óbvias de pessoas que, à primeira vista, não têm nada a ver com o seu trabalho. Em geral, você pode conviver com isso, mas se o oponente for sofisticado, é bem possível que em breve mude para outro escritório, trabalhe mais em casa ou até mude de emprego.
Você pode evitar tais situações se levar em conta, com antecedência, quem mais está interessado no projeto que está implementando, qual nível de influência nesse projeto, quais objetivos o interessado enfrenta, que medos e esperanças podem surgir durante o trabalho. Os medos devem ser dissipados, não se pode deixá-los crescer. As esperanças precisam ser justificadas. Em geral, uma estratégia é definida da seguinte maneira:
- Baixa influência e baixo interesse: você não pode fazer nada
- Baixo impacto e alto interesse: você precisa ser informado sobre mudanças, planos etc.
- Alto impacto e baixo interesse: semelhante
- Alta influência e alto interesse: você precisa trabalhar duro, mesmo se estiver em departamentos diferentes e / ou em níveis diferentes.
Erro número 5. Reavaliando suas capacidades
Isso é comum a todos, de uma maneira ou de outra, e é provável que seu gerente saiba disso. No entanto, às vezes ele também pode subestimar a quantidade de trabalho à frente e a velocidade de sua implementação. Isso parece brega, mas essa foi repetidamente a razão pela qual meu gerente ficou desapontado e eu junto com ele. É fácil lembrar de várias situações em que eu respondi que podemos fazer isso em meio dia e, em seguida, participei de uma tarefa a semana toda, junto com o fim de semana. Durante esse período, a tarefa pode perder relevância ou outras tarefas mais importantes podem ser realizadas. O hábito de não fazer uma avaliação imediatamente me ajudou muito. Se a pergunta não for hipotética, mas específica, vale a pena levar algum tempo para elaborar a avaliação e é aconselhável levar em consideração possíveis riscos. Depois de conhecer a avaliação de
três pontos, ficou muito mais fácil para mim tirar uma conclusão fundamentada sobre o tempo necessário gasto e, mais importante, a própria avaliação ficou muito mais próxima da realidade.
Sumário
Resumindo, posso dizer que o desenvolvedor líder voluntariamente enfrenta o horizonte de um ambiente de gerenciamento bastante agressivo e desconhecido. É este lugar que está se tornando um novo ponto de crescimento, uma vez que o lado técnico do trabalho não levanta muitas questões: os investimentos em infraestrutura são feitos regularmente, a dívida técnica é paga em tempo hábil, a arquitetura está se desenvolvendo de forma harmoniosa e competente. No entanto, para realizar efetivamente o trabalho dele (e às vezes apenas para "sobreviver"), você precisa entender rapidamente os conceitos básicos de gerenciamento de projetos e equipes, analisar os principais problemas de seus predecessores em posições semelhantes e tentar evitá-los ou resolvê-los antecipadamente.