No artigo passado falamos sobre a carreira de desenvolvedor júnior, demostramos o que é necessário para se tornar um dev júnior, e hoje vamos abordar sobre o segundo escalão: o de desenvolvedor sénior.
Todo desenvolvedor deseja chegar ao ponto máximo de sua profissão, ser expert naquilo que faz. No caso, chegar ao nível sénior é o ápice de carreira para muita gente. Mas o que determina um profissional sénior? Isso tem muito a ver com o tempo de experiência, mas não somente isso, pois a determinação desses níveis acabam sendo um mistura de complexidade de tarefas e maturidade profissional.
O que é um programador ou desenvolvedor sénior?
Podemos dizer que o desenvolvedor sénior é aquele programador tido como a referência maior da equipa. Ele já passou por tudo o que se possa imaginar e sabe por quais caminhos a equipa deve seguir, é o profissional capaz de dar conselhos práticos, já que ele acumulou uma quantidade maior de anos de experiência no mesmo cargo.
O desenvolvedor sénior é aquele que, acima de tudo, tem “bagagem” e postura. A forma como ele conduz o trabalho é que faz toda a diferença. Ele é o profissional que vai dar conta de diminuir o risco do projeto, optimizar os recursos e encontrar o caminho mais rápido, seguro e barato para resolver o problema do cliente. Um projecto de desenvolvimento de software envolve muitas incertezas. Você não sabe bem o que vai acontecer. Então, você como sénior, vai se cercar de técnicas, ferramentas, processos e pessoas que te ajudam a maximizar a chance de aquilo dar certo.
São características do Desenvolvedor Sénior
• Mais de 5 anos de experiência com desenvolvimento de software;
• Alto nível de auto-conhecimento e auto-desenvolvimento;
• Experiência na resolução de problemas e tarefas de alta complexidade;
• Mentalidade de cientista, busca experiências e inovações cotidianamente;
• Especialista em mentoria e desenvolvimento de novos talentos;
• Conhecimento e experiência em todos os aspectos da engenharia de software;
• Capacidade em delegar tarefas com assertividade;
• Capacidade de justificar processos e valores usando dados e bom poder de convencimento;
O que exigir de um Desenvolvedor Sénior?
• Capacidade de assumir processos completos, desde o desenvolvimento até ao lançamento;
• Capacidade de construir e implementar um sistema a partir do zero;
• Habilidade analítica de encontrar brechas em grandes projectos;
• Assumir os riscos mais altos dentro da equipa;
• Fazer revisões regulares do código;
• Resolução de diferentes problemas e de forma independente devido sua experiência;
• Ser conciliador e solucionador de conflitos internos da equipa;
• Excelência na comunicação e capacidade de vender ideias e projectos;
• Extenso conhecimento teórico e prático sobre os mais diversos assuntos de tecnologia.
O que as empresas devem ter em mente antes de contratar um programador sénior
• Este profissional tende a ter as melhores habilidades técnicas da profissão, mas você deve estar atento quanto aos seus “Soft Skills” também;
• Deve transmitir confiança;
• Merece ser bem remunerado.
Como se preparar para ser um desenvolvedor sénior?
De acordo a um artigo do Henrique Bastos, ele classifica em três pontos, a jornada para se tornar um programador sénior:
O primeiro ponto essencial para se tornar um programador sénior é saber governar o seu processo de melhoria pessoal – de estudo. Não adianta ficar pulando de tutorial em tutorial. Você tem que saber estruturar sua rotina de auto-desenvolvimento, focando em pontos estruturais e estratégicos para o mercado. Você tem que fazer coisas que têm significado. Quando você vai estudar uma tecnologia, você tem de aplicá-la de alguma maneira para compreender a relação das partes no ambiente o mais próximo possível do mundo real.
O segundo ponto é que você não pode parar apenas no uso da tecnologia. Você precisa entender como as coisas funcionam “por baixo dos panos”. Tem que dominar os fundamentos do que você usa para ter a confiança necessária para julgar quando aquela técnica ou ferramenta deve ser usada ou não.
O terceiro e mais difícil, é que essa caminhada exige um ciclo de feedback positivo onde você está constantemente se avaliando e adaptando suas estratégias. Isso é muito difícil de fazer. As pessoas não estão acostumadas com isso. Mas é necessário aprender.
Apesar do tempo de experiência contar bastante, você não pode ser um profissional estagnado, você deve progredir e evoluir junto com a tecnologia em que trabalha. Por isso nunca se deve abrir mão do estudo, você deve se especializar e se actualizar para ter essa progressão de carreira. E é claro, quanto maior a posição nessa escala crescente, maior a complexidade de tarefas, responsabilidades e, consequentemente, melhor será a remuneração.