Por que novos devs devem liderar projetos ?

Minha liderança técnica está sobrecarregada, liderando vários projetos. Que sugestões você teria para aliviar essa carga ?

Da série traga soluções e não problemas queria iniciar este post com mais uma pergunta.

Será que uma mesma pessoa sendo ela com um papel de líder técnico deve sempre liderar todos os projetos em uma equipe de desenvolvimento ?

Tanto em startups de alto crescimento quanto em Big Techs, é comum que desenvolvedores de todos os níveis liderem projetos de acordo com seu nível e complexidade.

Como desenvolvedor, é importante desenvolver as habilidades necessárias para fazer isso se você quiser crescer em cargos sênior ou virar uma refência para sua equipe.

Como estamos falando aqui de projetos acredito que devemos antes de tudo dar um pouco mais de contexto no que se diz respeito para poder diferenciar um.

O que considero ser um “Projeto” ?

Se você trabalha em uma empresa de tecnologia, sua equipe quase certamente possui um produto, uma plataforma, um serviço ou alguma funcionalidade.

Sua equipe certamente tem uma missão e, em equipes organizadas, você terá alguns indicadores de saúde e de negócios mensuráveis, como KPIs (Key Performance Indicators) com os quais a empresa e sua equipe se preocupam.

Então uma das primeiras perguntas a se fazer é :

Em que sua equipe estará trabalhando para o próximo período ?

Na maioria das grandes empresas de tecnologia e startups de alto crescimento, a organização tende a executar o planejamento aproximadamente a cada seis meses mais isso pode variar de empresa a empresa então fique atento nesta periodicidade.

O resultado do planejamento é um roteiro para sua equipe. Este roteiro incluirá iniciativas de produto e engenharia, cada iniciativa tendo algum tipo de estimativa de impacto e uma ordem de prioridade.

Minha definição de “projeto” aqui é que este seja um trabalho não trivial que produz um impacto mensurável.

Mas o que seria um trabalho não trivial ?

Se o trabalho pode ser feito em poucos minutos, isso é um projeto ? Na prática eu acredito que não. A maioria das pessoas chamaria isso de tarefa.

E na maioria das vezes tarefa não requer muita coordenação com os outras pessoas. Embora tenha pessoas que possam insistir em chamá-las de projeto, seria tolice tratá-lo como tal, pois os projetos carregam uma sobrecarga que vem com a coordenação de algo que não é trivial e pode envolver várias outras equipes e partes interessadas.

E como saber se é mensurável ?

Bom para isso se você tratar cada parte do trabalho que não é trivial e que esse mesmo requer coordenação como um projeto, logo você se verá com muitos itens de trabalho. Isso vai desde novas solicitações de recursos, passando por bugs complexos a serem corrigidos, até a redução da dívida técnica.

Sabendo agora o que pode ser considerado um projeto, podemos entrar um pouco mais a fundo sobre algumas vantagens da rotatividade desde papel.

Por que acredito ser uma boa prática essa alternância ?

Não teria como iniciar esta parte do texto sem primeiro citar alguns benefícios que vejo para a sáude de uma equipe a médio e longo prazo e um do papel mais benefíciado é o do atual lider técnico.

Benefícios para os atuais lideres técnicos da equipe

São muitas coisa que os lideres técnicos vem a ganhar. Listei algumas aqui:

Mas nem tudo são flores e algumas situações podem impedir essa alternância

Se há tantos benefícios, por que vemos muitas organizações se esquivando de apoiar mais novos desenvolvedores a liderarem projetos ?

Existem várias razões listei algumas aqui.

Seja qual for o motivo pelo qual os novos desenvolvedores não têm poder para liderar, sugiro encontrar a causa raiz e ver se ainda é válida. Quando bem feito, há muito a ganhar e pouco a perder ao capacitar os novos desenvolvedores a se apropriarem mais do projeto em que trabalham.

Conselhos para desenvolvedores se prepararem para liderar

Nesses meus anos de experiência desenvolvendo software e atuando em papéis de liderança técnica e também como desenvolvedor consegui tirar 5 “insights” que gostaria de compartilhar com todos que almejam essa trajetória.

1. Não espere permissão para liderar: tome a iniciativa.

Supondo que você trabalhe em um local onde os desenvolvedores tenham autonomia, não espere que seu gerente lhe dê o sinal de positivo para liderar uma iniciativa. Se você vir um problema com o qual possa ajudar, intensifique-se e faça-o.

2. Ofereça-se para assumir tarefas de liderança

Nos projetos em que você já está envolvido. Supondo que os projetos tenham uma liderança, deixe-os saber que você está interessado em se desafiar mais e ficará mais do que feliz em ajudar no trabalho e estar aberto a delegar e dar-lhe feedback. O trabalho que você pode oferecer para assumir inclui:

3. Colete as dívidas técnicas acumulada durante o projeto

Aqui vai um “disclaimer“:

“Todo projeto gera independente do tamanho ou tecnologia envolvida dívidas técnicas e não seja imaturo em pensar algo diferente disso, faz parte da maturidade de um desenvolvedor saber lidar com esta questão”.

Sugira como mitigá-la e trabalhe com o líder do projeto e a liderança da equipe para priorizar esse trabalho, para que não seja esquecido.

4. Obtenha contexto sobre a empresa, o negócio e o trabalho que está envolvido.

Leia documentos de planejamento de négocio e outros contextos que o ajudem a entender como as equipes ao seu redor trabalham, o que estão fazendo, o que está funcionando e o que não está.

5. Se capacite.

Aprenda que neste papel muitas vezes o sucesso não depende exclusivamente só de você e só o seu conhecimento em programação talvez não seja o suficiente.

Vejo poucos materiais disponíveis atualmente falando sobre esse tema. Eu sempre recomendo o excelente livro Leading Snowflakes by Oren Ellenbogen para pessoas que veem da área de programação e estejam interessadas neste papél.

Este livro contém uma série de hacks que irão ajudar você a se organizar melhor e separar o seu lado “Maker” do seu lado “Manager” ele contém uma série de lições práticas que podem ser aplicadas no seu dia a dia.

Sair da versão mobile