Pouco tempo atrás, ouvi uma frase que me perturbou um pouco:

Meu sonho é ser um Senior super respeitado, onde “ninguém encosta”, que digam “Nossa, se eu não sei resolver, vou perguntar para o Fulano, por que ele sempre sabe.”

Com base nessa citação, achei interessante compartilhar a minha visão sobre o que é um profissional Senior e suas responsabilidades.

Sou um ótimo desenvolvedor, isso me torna um Senior?

Você pode saber programar em doze linguagens diferentes, mandar PR para o Linux, saber todas as funções de uma linguagem, mas se você não sabe se comunicar bem com seu time, ou você não tem foco em entregar valor para a empresa/cliente, sinto informar, mas você não é um Senior.

Um dev Senior precisa de um set de skills que vai além das técnicas de computação, seu cinto de utilidades precisa ser muito maior.

Você precisa ter a capacidade de influenciar pessoas e decisões na sua empresa, sem impor sua opinião e principalmente, sem arrogância, se possível, você deve inspirar os mais novos.

O que um Senior realmente precisa.

Habilidades técnicas

Sem dúvidas esse é um dos pontos que você precisa ter desenvolvido para chegar nesse posto, não me entendam mal, acho importante um Senior ser bom tecnicamente em algo, mas, mais do que isso, ele tem que ter uma boa base dos conceitos de sua área, seja Back, Front ou Design, tecnologias e linguagens vem e vão, os conceitos ficam.

Habilidades de comunicação

Você como Senior tem a responsabilidade de em uma conversa, se fazer ser entendido, isso mesmo, se o Junior não entende o que você está explicando, é sua função alterar o modo como você explica, ou se necessário, voltar um pouco e explicar o conceito e/ou motivação do que você está falando.

Ninguém merece uma atitude que apelidei de “Seniorsplanning”, onde o cara fica repetindo a mesma coisa inúmeras vezes e do mesmo modo, muitas vezes algo que você já entendeu, mas não concorda.

Além disto, e muitas vezes, mais difícil, você precisa ter a capacidade de explicar funcionalidades para pessoas não técnicas, seu PM/PO precisa ter uma noção da dificuldade de uma tarefa, ele precisa sair da planning convencido que a estimativa da equipe está correta, ou ao menos próxima disto, do contrário, ele pode inclusive, se sentir enganado.

Habilidades de liderança

Você tem a experiência, é sua função ajudar a levantar a barra técnica do time.

Isso vai entregar um valor tão grande ou maior, do que entregar uma pilha de código super bem escrito, imagine que com sua influência a equipe focou nos problemas certos, reduziu over engineering e também aumentou a cobertura de testes, reduzindo assim bugs.

Seu CTO vai dar pulos de alegria, pois além de disseminar conhecimento, reduzir o truck factor, você ainda está ajudando o resto da equipe a dar o próximo passo na carreira deles.

Já parou para pensar nisso? Que o Senior da sua equipe, talvez devesse estar menos preocupado em escrever código e mais preocupado em melhorar o código e os processos da equipe?

A habilidade de liderar é muito importante para o seu próximo passo na carreira, pois você terá que começar a pensar em assumir um cargo formal de liderança, especialista ou de gestão, acho que mais do que nunca, você deve estar pensando em que ponta da carreira em Y você quer estar.

Conclusão

Espero que com esse post você perceba que suas habilidades técnicas são só um pedaço do bolo de habilidades, e geralmente, nem será o maior pedaço.

Inclusive, quando você transcender a posição de Senior para liderar uma equipe, é bem provável que com o tempo, você se torne “mais fraco” técnicamente do que seus liderados e isto não é um problema! Você terá outros problemas para resolver, outras habilidades para desenvolver, mas deixo isso para um post futuro.

Citações

“O salto de Pleno para Sênior é mais de postura, onde o(a) “programador(a)” passa a ser encarado de fato como um(a) “profissional”, alguém a quem sabemos que podemos passar uma responsabilidade e contar com o resultado.” - Will Oliveira

Podcast Dev na Estrada sobre Jr, Pleno e Sr