Como se tornar um programador sênior?

Já escrevi antes aqui no blog sobre como você pode começar na carreira com programação, como eu comecei, como você pode avançar na carreira e hoje gostaria de falar um pouco da “fórmula” (se é que existe uma) para você se tornar sênior nesta profissão.

Eu não vou entrar em detalhes aqui do que é ser sênior exatamente, mas entendo que todo mundo concorda que ser um programador sênior, em linhas gerais, significa ser alguém muito competente no que faz e que, com isso, acabe tendo posições de mais destaque, com maiores salários e relevância nas empresas que atua.

E talvez por isso as pessoas entrem nesta profissão, para chegar neste nível.

No entanto, principalmente por causa do fator financeiro, é muito comum que os iniciantes cometam erros de todos os tipos, tentem pular etapas ou buscar atalhos para chegar lá rapidamente.

Eu já vi acontecer de tudo nestes 14 anos de carreira em TI (desde 2006) e mais ainda acompanhando meus alunos do ensino superior há uma década (desde 2010). Então vou me arriscar em lhe trazer os 3 pilares que eu considero fundamentais para qualquer programador chegar à senioridade.

Se preferir, você pode assistir ao vídeo abaixo ao invés de ler o artigo, o conteúdo é o mesmo.

Pilar #1 – Conhecimento

O primeiro pilar é o conhecimento.

Para se chegar na senioridade você vai ter de obter conhecimento e sim, quando eu falo em conhecimento eu estou falando de teoria.

Você tem que entender com as tecnologias que você usa funcionam, para quê servem, suas vantagens e desvantagens, como tirar o maior proveito delas e do ecossistema que as rodeiam.

Para construir sistemas realmente complexos, e é isso que se espera de um programador sênior, você vai ter de entender conceitos fundamentais da computação como algoritmos, lógica, estruturas de dados, arquitetura e engenharia de software, qualidade de software e muito mais.

Obviamente você vai começar com conceitos mais simples e ir avançando até os mais complexos, conforme for avançando na carreira, de júnior a sênior. Mas se ninguém te disse isso antes, eu vou lhe dizer agora: você vai ter de continuar estudando para sempre.

Mesmo um programador sênior nunca pára de estudar, ele é um lifelong learner. Terminar uma graduação, por exemplo, é apenas o primeiro degrau.

Curso FullStack
Curso FullStack

Pilar #2 – Prática

O segundo pilar é a prática.

Todo o conhecimento que você adquirir, só vai ser realmente interiorizado e consequentemente ser útil no seu dia a dia como programador se você colocá-lo em prática.

Você tem que exercitar continuamente as suas tecnologias escolhidas das mais variadas formas e usando os mais variados conceitos. Abordagens problem-based são as melhores na minha opinião, onde você parte de problemas que precisa resolver e em cima dele vai estudando e lapidando as suas habilidades aplicando os conhecimentos adquiridos.

Note aqui que você não estuda primeiro e pratica depois, não é linear assim. Você estuda, pratica. Pratica, estuda. Estuda, estuda, pratica. São diversas idas e vindas entre conhecimento e prática que vão te levar à senioridade e aqui mora um erro fundamental dos iniciantes: achar que devem entrar no mercado de trabalho somente depois da graduação, por exemplo.

Vou lhe contar uma verdade muito dura agora: se você se formar sem ter experiência prática com programação, as suas chances de conseguir um emprego serão baixíssimas. Isso porque raramente uma empresa contrata um graduado sem experiência na área de tecnologia.

Curso Node.js e MongoDB
Curso Node.js e MongoDB

Pilar #3 – Tempo

Não existe senioridade sem o fator tempo. Ponto.

Por esse motivo, não existe sênior com 01, 02 ou até 03 anos de carreira. Ponto.

Talvez você conheça alguém que tem esse tempo de carreira e se diz sênior ou até “ganha como sênior”. Pois então, essa pessoa está iludida.

Para se tornar realmente sênior você precisa de tempo adquirindo conhecimento, tempo praticando este conhecimento adquirindo mas principalmente, tempo para ver os softwares desenvolvidos por você amadurecerem, tomarem forma, terem os primeiros problemas, exigirem evolução, etc.

A senioridade não está em colocar um monte de sistemas em produção, mas sim em realmente participar de todo o ciclo de vida de software algumas vezes, e de preferência com complexidade crescente.

Além disso, senioridade em programação não é um aspecto puramente técnico como alguns profissionais de tecnologia pensam. O comportamental, a inteligência emocional, a maturidade enquanto PESSOA exige tempo para ser construída e justamente esta é a falha fundamental dos “sêniors de 01-03 anos de mercado” que, apesar de estarem ganhando bem (para a sua idade) se tornam extremamente arrogantes e isto faz com que parem de crescer profissionalmente.

O que você prefere: ser um sênior Miojo (instantâneo), que cresce rápido mas que estagna igualmente rápido ou um sênior de longo prazo, que construa uma carreira sólida e crescente?

Curso React Native
Curso React Native

Mas e se…

Eu falei logo no início que esses eram os 3 pilares fundamentais, certo?

Isso porque você NÃO pode escapar de nenhum dos três ou você não se torna sênior de verdade.

Um profissional com muito conhecimento, mas sem prática, é um teórico. Talvez até consiga se tornar um professor ou programador de palco, mas dificilmente se tornará sênior em programação.

Um profissional com muita prática, mas sem conhecimento, é um fuçador, um micreiro. Talvez até consiga trabalhar com programação, mas por nunca entender o porquê das coisas funcionarem, ou como que deveria estar construindo o sistema corretamente, nunca vai chegar a projetos complexos e importantes, que é o que levam à senioridade técnica.

E se você não adicionar tempo nesta equação de conhecimento + técnica, você não vai conseguir adquirir conhecimento suficiente para ser sênior e/ou não terá praticado o suficiente para assimilar o conhecimento técnico.

E se você só tiver tempo, sem conhecimento e sem práticas constantes, você logo estará fora do mercado ou estagnado em uma mesma função/projeto, se tornando um dos famosos dinossauros da computação.

Ainda assim, como eu já disse, amadurecer enquanto PESSOA, exige tempo e experiências variadas. Maturidade só se obtém com a vida, não é algo que você vá conseguir em um livro ou curso.

Desta forma, acumular conhecimento e prática, ao longo de vários anos, é o melhor caminho para uma senioridade real.

Um abraço e até a próxima!

Luiz Duarte começou na área de tecnologia em 2006 e é professor universitário desde 2010. Siga-o nas redes sociais, conheça seus livros e seus cursos.

Publicado por

Luiz Duarte

Pós-graduado em computação, professor, empreendedor, autor, Agile Coach e programador nas horas vagas.