5 dicas para ser uma liderança técnica eficaz
Tornar-se uma liderança técnica é uma transição dura para para qualquer pessoa que desenvolve, já que apenas uma parte das habilidades e experiências adquiridas com desenvolvimento é útil na preparação para esta nova posição. Em vez de apenas projetar e escrever código, uma liderança técnica passa a ser responsável por toda uma equipe de desenvolvimento - e isso significa que a nova liderança terá que lidar com pessoas, estando elas em posições técnicas ou não.
O tempo que uma pessoa desenvolvedora gasta escrevendo um bom código não se reflete nas habilidades necessárias para entender pessoas, resolver conflitos ou fazer malabarismos com mais tarefas do que podem ser concluídas.
Aqui estão minhas cinco dicas para ser uma liderança técnica eficaz:
1. Aprenda a delegar
Trabalhando com desenvolvimento, você se empolga quando há um problema técnico difícil para ser resolvido. Você pesquisa diferentes maneiras de solucionar o problema, buscando a solução mais simples e, por fim, celebra vitória quando seus testes passam.
Como uma liderança técnica, não há como assumir todas as tarefas que envolvem escrever código, tampouco os problemas difíceis ou interessantes, independente da sua experiência. Você tem mais responsabilidades que precisam do seu tempo e sua atenção e, se você tiver como foco apenas uma única tarefa, as outras responsabilidades não serão concluídas. Quando você toma para si todos os problemas interessantes, acaba eliminando oportunidades para que demais colegas de equipe se desenvolvam e se motivem resolvendo problemas complexos. Dessa forma, as pessoas podem se sentir frustradas e possivelmente sair da sua equipe.
Claro, há problemas para os quais sua experiência e conhecimento são importantes, mas você não deve ser o gargalo na resolução de problemas. Então encontre uma forma de delegar, mas ainda mantendo seu envolvimento. Para ajudar nisso, você pode introduzir no seu time sessões de ideação para conversar sobre abordagens possíveis e também acompanhar o progresso da equipe para verificar se a equipe anda nos trilhos.
À medida que você e as pessoas desenvolvedoras envolvidas ganham mais confiança entre elas, você pode se envolver menos e eventualmente delegar algumas atividades por completo, visando focar em outras atividades.
2. Encontre tempo para escrever código
Há um motivo para posição se chamar “liderança técnica”, e é essencial que você encontre tempo para se dedicar ao código-fonte da sua aplicação. Manter seu envolvimento no código ajuda a ganhar respeito com a equipe, mas também permite que seu conhecimento esteja sempre atualizado sobre restrições, problemas e “a cara” deste código.
Se você não se envolve com o código, você corre o risco de invocar o anti-padrão da “arquitetura da torre de marfim”, tomando decisões técnicas sem a compreensão das suas reais implicações para a implementação ou para a manutenção do sistema. Este anti-padrão possui inúmeros efeitos colaterais, incluindo a destruição da confiança que a equipe tem em você, aumento no tempo de desenvolvimento de novas funcionalidades, e aumento de complexidade.
Há várias formas em que uma liderança técnica pode encontrar tempo para codificação, mas é essencial que isso se torne uma prioridade. Normalmente, significa fazer escolhas difíceis quanto a como gastar seu tempo. A primeira dica neste artigo deve ajudar a aumentar a quantidade de tempo disponível. Eu conheço algumas lideranças que reservam espaço em suas agendas para garantir que sempre haja tempo durante a semana para escrever ou revisar código. Também conheço algumas que revisam mensagens de commit e as discutem com pessoas desenvolvedoras - talvez uma forma mais leve de programação em pares.
3. Visualize sua arquitetura
Eu trabalhei em inúmeros times nos quais as pessoas que desenvolviam não tinham ideia do impacto de suas tarefas no todo. Uma decisão técnica pequena feita por uma pessoa desenvolvedora pode ter um grande impacto arquitetural, o qual pode ser impossível de prevenir caso não haja clareza do todo.
Uma liderança técnica eficaz frequentemente possui uma representação visual da arquitetura do sistema em algum lugar de fácil acesso e a usa para ter algumas discussões com pessoas desenvolvedoras. Talvez existam visualizações diferentes da arquitetura (lógica, de implantação, etc.) e cada diagrama ajuda na compreensão de onde cada tarefas se encontra num aspecto mais amplo da arquitetura do sistema.
Uma sessão de desenho num quadro com toda a equipe normalmente é um exercício legal para revisar a arquitetura do sistema à medida que ela evolui com o tempo para atender diferentes requisitos. E as discussões durante esta sessão são até mais importantes que o diagrama em si. Foque nos principais atributos de qualidade que guiam sua visão arquitetural (escalabilidade, desempenho, usabilidade etc.) e como eles têm transformado tal arquitetura. Chame atenção para presunções e para o contexto histórico de algumas decisões arquiteturais para ajudar sua equipe a guiar futuras decisões.
4. Converse frequentemente com cada colega de equipe
Uma liderança técnica eficaz não será avaliada pela quantidade de tarefas de codificação que foram concluídas. As pessoas nessa posição são avaliadas pelo desempenho da suas equipes. Tudo que uma liderança técnica puder fazer para melhorar cada pessoa da equipe contribuirá, no geral, para que a equipe seja melhor. Converse com cada colega de equipe para entender seu passado, seu potencial, seus interesses e objetivos para poder entender como podem trabalhar melhor em conjunto.
Conecte colegas com oportunidades que possam permitir seu desenvolvimento. Isso significa permitir que as pessoas da equipe assumam riscos de modo que possam aprender e crescer, mas também contribuir para o time. Encoraje as pessoas a compartilharem conhecimento com os demais membros da equipe e encontre formas para ajudar facilitar essa conexão.
5. Aprenda a falar a língua do negócio
Para ser uma liderança técnica eficaz, você vai precisar construir um bom relacionamento com pessoas de fora do time de desenvolvimento. Estas pessoas podem ser Gerentes de Produtos, Marketing, Vendas e executivos. Elas não entenderão os jargões que você adquiriu trabalhando com desenvolvimento, e certamente haverá confusão se você falar com elas em frameworks, ferramentas técnicas e plataformas.
Uma liderança técnica eficaz consegue encontrar formas de se comunicar as quais pessoas não-técnicas compreendem, e a melhor maneira de fazer isto é procurar termos utilizados pelas pessoas que cuidam do negócio e descrever tarefas com estes termos. Utilize modelos visuais, sessões com quadros brancos e metáforas para ajudar as pessoas de negócio a entender conceitos técnicos e suas implicações. Minimize a quantidade de traduções trazendo termos de negócio para dentro do time de desenvolvimento e encoraje seu uso. Quanto mais o time utilizar estes termos, mais fácil será a compreensão e a empatia com as pessoas não técnicas.
Descubra mais sobre as experiências de outras lideranças técnicas no livro Talking with Tech Lead, do Patrick. Baixe uma amostra do livro grátis aqui.
Aviso: As afirmações e opiniões expressas neste artigo são de responsabilidade de quem o assina, e não necessariamente refletem as posições da Thoughtworks.