Justamente ontem entrevistei um candidato a tech lead pra minha equipe. Dentre todas as perguntas, eu fiz a seguinte:
Digamos que você esteja liderando um time composto por pessoas novas na empresa, contendo apenas 1 sênior. Qual estratégia para liderar as entregas você aplicaria no dia a dia? O quê acha importante estar atento a todo momento? Como você organizaria o board e as responsabilidades de cada um? Como você garante o crescimento profissional da sua equipe?
Enquanto respondia, ele acabou dizendo:
"Foco em entregar complexidade pra quem tem mais tempo de casa e garanto que os menos experientes sempre estejam em pair coding com eles. Meu foco vai ser treinar os menos experientes e garantir que tenham evoluído no final do projeto. Se preciso, abdico de atender um prazo de entrega pra garantir que o conhecimento e as regras de negócio tenham se diluído entre os membros."
Esse foi um dos pontos fortes da entrevista.
Um bom gestor lidera o time, não usa eles de muleta pro próprio crescimento. Você provavelmente não teve bons gestores que estiveram com você para dizer que virar noites pra cumprir prazos impossíveis não é certo. Isso só trás prejuízo pra equipe. Isso faz, por exemplo, com que a empresa não queira contratar mais gente ou negociar prazo flexível mesmo com o time sobrecarregado porque eles sempre estão dando conta do recado.
Acho que em qualquer área, o objetivo profissional de cada um, principalmente no começo, tem que ser o mesmo: se tornar um profissional tão competente e centrado que ele não precisa abaixar a cabeça pra tudo o que a empresa disser. A lógica do mercado é: eu consigo encontrar outro que nem você fácil? Então faz o que eu mando ou te demito. Nossa missão é inverter essa lógica. Siga sempre estudando e aprendendo para se tornar uma pessoa com pensamento crítico e que gera valor pra empresa, assim você naturalmente ganha moral dentro do ambiente de trabalho.
Falando especificamente sobre desenvolvimento, acho que minha única dica nesse sentido é evitar ao máximo um dos pontos que você disse: "ir pra uma startup e trabalhar com frameworks hipsters". Vou chover um pouco no molhado, mas:
- Não seja o dev de framework, estude programação e entenda os fundamentos. Com o tempo você percebe como linguagens/frameworks são só ferramentas diferentes pra problemas diferentes, mas a base é sempre a mesma.
- Não se limite apenas aos processos da empresa onde você está e não tenha como referência apenas as pessoas com quem trabalha. Esteja sempre acompanhando profissionais de referência para se manter atualizado sobre as tecnologias que usa, aumentar seu repertório de soluções e conhecer diferentes práticas que sua empresa não aplica.
Os tempos mudaram. Não estamos mais na época onde funcionário é serviçal e tem que viver pela empresa. Todo funcionário está de passagem pelas empresas e a estadia dele lá deve ter um objetivo bem claro: servir de escada para que ele evolua. Se a empresa não te proporciona isso, saia. É claro, esse é o cenário ideal. Desnecessário dizer que antes de tudo vêm as contas pra pagar e a dificuldade de encontrar vagas (quem dirá vagas boas). Mas o que podemos fazer é tentar sempre que podemos nos dar esse luxo. Apenas não fique confortável demais.