Ser um desenvolvedor sênior é a meta da maioria das pessoas que trabalham com programação. Afinal, é nessa faixa do mercado que estão os melhores salários. Além disso, esses caras são os mais disputados do mercado, o que abre um leque grande de oportunidades para quem atinge esse nível de maturidade profissional.
A grande questão, porém, é o que significa de fato ser um desenvolvedor sênior? O que você precisa fazer para se tornar um? De uma forma simplista, normalmente se dividem os programadores em júnior, pleno e sênior com base apenas no tempo de mercado.
Neste artigo, vou te mostrar que o buraco é mais embaixo e que há outros fatores-chaves que estão além da habilidade técnica e que te farão ser visto como um profissional diferenciado de verdade pelos contratantes.
O que não é um desenvolvedor sênior?
O desenvolvedor sênior, como disse antes, não é um dev com muito tempo de programação. Tempo não significa senioridade. A diferença entre ser ultrapassado e ser experiente mora no aprendizado e na evolução que você é capaz de tirar de cada experiência.
O profissional que está há anos trabalhando com os mesmos projetos e com o mesmo nível de complexidade não é sênior, é antigo. Antiguidade, no mercado de tecnologia, definitivamente não é uma qualificação profissional.
O desenvolvedor sênior também não é aquele que está há mais tempo na empresa e nem é aquele que começou o sistema e que se mantêm na empresa por um tempo. Isso pode te fazer um expert na cultura organizacional do lugar onde você trabalha, mas não te faz um programador mais experiente.
Muito pelo contrário, ficar na mesma posição e no mesmo sistema por anos a fio pode ser uma armadilha. Você se acostuma com aquela zona de conforto e passa a se achar no direito de ser valorizado apenas porque está ali há muito tempo, e não porque você resolve problemas reais da empresa. Aliás, agindo dessa forma, você pode até virar o próprio problema da empresa e acabar sendo demitido.
Um outro ponto importante…
Tome cuidado para não confundir um papel de liderança em determinada empresa com senioridade no trabalho. Ser líder técnico é algo circunstancial, ser sênior é uma característica que você conquista pelo que é capaz de entregar.
O fato de você conhecer muitas ferramentas ou de dominar muitas tecnologias também não te faz um programador sênior.
Se você sabe cinco ou seis linguagens, mas sempre usa isso para desenvolver os mesmos programas das mesmas formas isso também não te faz um cara diferenciado, porque, apesar de variar a linguagem, seu repertório não aumenta.
Beleza, HB! Se nada disso me faz um dev sênior, o que eu tenho que fazer para ser visto assim? É isso que vou te mostrar no próximo ponto. Vamos lá!
O que de fato é um desenvolvedor sênior?
“Senioridade tem mais a ver com impacto do que com tecnologia e tempo de estrada…”
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, otimizar os recursos e encontrar o caminho mais rápido, seguro e barato para resolver o problema do cliente.
Um projeto 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.
Um dev diferenciado é o cara que vai assumir essa responsabilidade. É ele que vai ter a habilidade de responder sobre as sinucas de bico, sobre as crises, sobre os problemas naturais do processo de desenvolvimento de software.
Esse processo tem uma individualidade. Cada software é diferente de todos os outros. Ele pode até ser parecido com algum outro programa, mas tem suas peculiaridades. Se tudo fosse igual, seria mais fácil. Bastaria copiar os softwares que já foram feitos.
Para isso, conhecimento técnico é essencial, mas não basta. É preciso combinar sólidos fundamentos técnicos com um amplo conjunto de soft skills que vão te ajudar a colocar as coisas para andar em harmonia. Você precisa entender não só de máquinas e de tecnologias, mas também de gente e de negócios.
Alguém que sabe o que fazer na hora da batalha…
O sênior não é o programador que sabe muito de uma linguagem. Ele é o cara que está sempre dando respostas.
Vou dar um exemplo de uma consultoria que eu fiz. O cliente, uma rede de varejo, tinha um software de 20 anos. Empresa grande, bem-sucedida, mais de 200 funcionários. Tudo funcionava relativamente bem, mas o software era muito antigo e gerava dificuldades para a empresa se adaptar rapidamente à novas oportunidades de negócios.
Nesse caso, não bastaria apenas reescrever o sistema em uma linguagem mais modernas. O que eu tive que fazer foi entender os problemas que ele tinha e, com base nos fundamentos da computação, encontrar atalhos e espaços para fazer intervenções tecnológicas que deram um resultado animal para os caras e conseguiram economizar milhões de reais.
Veja que o impacto do meu trabalho ficaria comprometido se eu só tivesse a bagagem técnica ou só tivesse a visão de negócio. É preciso combinar os dois!
É esse o papel do sênior. Ele tem um repertório e uma capacidade técnica para além da programação, a ponto de conseguir dar a solução. Ele tem habilidade de responder aos problemas que aparecem no desenvolvimento do trabalho dele.
Mas o que eu preciso fazer na prática para me tornar um desenvolvedor sênior?
É sobre isso que vamos falar agora.
O que fazer para ser visto como um desenvolvedor sênior?
Ser visto como sênior é um movimento que resulta do fato de você se posicionar como sênior. Seu processo de atualização e de estudo contínuo é você que define. Você se porta dentro da empresa como o cara que tá puxando para fronteira do desconhecido, que está sempre dando respostas, mas sempre balanceando o risco.
É muito comum a seguinte situação. Um júnior entra na empresa e cai num projeto antigo. Daí tem outro projeto na empresa que usa uma tecnologia mais moderna.
Esse cara fica transtornado, sem dormir, se não consegue trabalhar nesse projeto novo, porque ele não quer a sujeira do antigo. Ele quer começar uma coisa nova, lindona, bonita, que nem as startups. Existe um fetiche, uma fantasia de glamourizar o processo de trabalho.
O sênior também tem tesão pela tecnologia e pelo trabalho, mas ele tem clareza de que quem o contrata faz isso porque precisa resolver um problema. Não o contrata porque ele é a última bolacha do pacote e programa muito bem. Nada disso. É por causa do resultado que ele é capaz de gerar.
A consciência do sênior é uma que entende que o que você faz, que é programar, é um meio e não um fim em si. O fim é resolver a treta do cliente e atuar com a máxima responsabilidade, gerindo os recursos e o projeto para fazer as coisas darem certo.
E o que você tem que fazer?
Primeiro, tem de mudar a postura, que é como você se enxerga e como você puxa a responsabilidade. A segunda coisa é que você precisa criar anticorpos. Então, não pode ficar com nojinho das coisas, nojinho de ferramenta, nojinho de projeto antigo.
Você tem que parar com esse papo de “tem que reescrever tudo do zero”. Você realmente fez a conta? Entendeu se é economicamente viável e vantajoso fazer tudo do zero? A maioria das pessoas não faz essa análise e, em muitos casos, de fato não faz sentido voltar à estaca zero e jogar fora o que já foi feito.
O sênior age como um profissional proativo da situação e entende esse processo. Ele faz essa análise. Ele vê que talvez tenha uma área que ele não entende, mas que precisa ser resolvida. Para isso, ele desenvolve sua capacidade de atuar em rede para se conectar com pessoas que possam resolver a questão.
Ele mensura e cerca o problema para criar uma solução. E ele tem de fato a capacidade de criar uma solução de verdade.
Para desenvolver essa habilidade, você precisa se expor a projetos distintos. Só assim você terá um repertório de experiências que te permitirá lidar com diferentes tipos de complicações e de disponibilidade de recursos.
É essa vivência prática que te trará o conhecimento, a flexibilidade e a agilidade mental para lidar com problemas complexos.
O CV de um sênior não aponta tecnologias, mas casos de sucesso e, até mesmo, de fracassos de onde bons aprendizados tenham surgido. Tem mais a ver com bagagem e evolução contínua do que com quantidade de anos de trabalho e de linguagens que você domina.
Como se preparar para subir os degraus da senioridade?
Desde 2010 eu venho ajudando milhares de desenvolvedores a deixarem a vida de executores de demanda para se transformarem em verdadeiros solucionadores de problemas. Essa jornada me ensinou muita coisa e existem 3 questões fundamentais no caminho do desenvolvedor 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 autodesenvolvimento, 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.
Se você já está trilhando esse caminho, meus parabéns! Tenho certeza que você já está notando os progressos.
Mas se você acha que as coisas ainda não estão evoluindo como você gostaria. Se você tem dificuldade em se manter atualizado, seja por falta de tempo ou por dúvidas sobre qual o assunto certo que você precisa focar agora… não se desespere. Esse é um problema muito mais comum e aflige muito mais gente do que você imagina.
Mas eu quero te dar uma boa notícia…
Eu sempre me pego pensando sobre desafios que a gente enfrenta para trilhar o caminho do desenvolvedor sênior.
Por causa disso, criei Passaporte DEV Sênior – Uma formação continuada com a missão de capacitar você a atingir a maturidade profissional exigida pelas melhores vagas do mercado.
Dentro deste programa você vai encontrar um guia focado no seu progresso profissional.
Em outras palavras, você não vai mais precisar se preocupar em adivinhar qual assunto deve estudar para se tornar mais sênior. Eu vou colocar toda a minha experiência à sua disposição e vamos juntos focar no que realmente traz resultados de forma rápida, prática e adaptado às suas necessidades.
Clica aqui nesse link e garanta o seu passaporte para o próximo nível na sua carreira.
Um grande abraço,
Henrique Bastos
Imagem via: Designed by ijeab / Freepik
3 respostas
Simples e curto: ser sênior é uma característica que você conquista pelo que é capaz de entregar.
Ótimo artigo! Uma visão clara e prática de como evoluir como desenvolvedor…humm, se analisar bem, acho q serve para qualquer área!