Chegamos à última parte da nossa série.
Já falamos sobre os primeiros passos na profissão.
Sobre o que realmente vale a pena aprender. Sobre Code Review, Clean Code e o trabalho diário em equipe.
Resta uma pergunta: Quando, afinal, você deixa de ser Júnior?
Essa pergunta aparece com muita frequência.
Depois de um ano? Depois de dois anos? Depois de cinco? Ou talvez quando você aprende mais um framework?
A resposta pode te surpreender. - Não existe um único número certo.
Vimos programadores com dez anos de experiência que ainda precisavam de orientação em projetos mais complexos. Também vimos pessoas com três anos de experiência que projetavam soluções de forma independente, apoiavam colegas mais jovens e assumiam responsabilidade por módulos inteiros de sistemas.
É por isso que, em TI, os anos de experiência são apenas uma parte do quebra-cabeça.
O Sênior não sabe tudo
Esse é talvez o maior mito da indústria.
Muitos Juniores imaginam o Senior Developer como alguém que conhece a resposta para toda pergunta. A realidade é completamente diferente.
Um bom Sênior muitas vezes diz: "Não sei."
Mas logo acrescenta: "Vamos verificar."
Isso faz uma enorme diferença.
O Sênior não precisa decorar toda a documentação. Não precisa conhecer cada biblioteca. Não precisa escrever tudo de cabeça.
Sabe, porém:
- onde buscar informações,
- como verificar uma solução,
- quais riscos uma determinada decisão envolve,
- quando dizer "não sei", em vez de chutar.
Essa é uma das características mais importantes de um programador maduro.
Programador ou engenheiro?
No início da carreira a maioria das pessoas se concentra no código.
Como escrever uma função? Como fazer uma API? Como conectar um banco de dados?
Com o tempo você começa a perceber que o código é apenas uma ferramenta.
A verdadeira tarefa é resolver o problema de negócio.
O cliente não compra uma aplicação porque foi escrita numa linguagem específica. Compra a solução para um problema.
É exatamente nesse momento que o programador passa a pensar como um engenheiro.
A melhor funcionalidade às vezes é aquela que você não escreve
Parece estranho? E no entanto.
Imagine que o cliente solicita a criação de um novo módulo. Você pode começar a projetar a solução imediatamente. Mas também pode fazer algumas perguntas.
Para que serve essa funcionalidade?
Com que frequência será usada?
Uma solução semelhante já existe?
É possível alcançar o mesmo efeito de forma mais simples?
Muitas vezes acontece que o problema pode ser resolvido sem escrever centenas de novas linhas de código. E é por esse tipo de decisão que o cliente paga. Não pelo número de commits.
A responsabilidade começa onde o código termina
O Sênior não responde apenas pela sua parte do projeto. Olha mais amplamente.
Pergunta-se:
- como a mudança afetará outros módulos,
- se a solução será escalável,
- se a nova funcionalidade será fácil de manter,
- quais riscos a implantação traz,
- se os usuários realmente obterão benefício.
É uma forma de pensar totalmente diferente.
Um bom Sênior forma novos Seniores
Essa é uma das coisas mais bonitas da nossa área.
Os melhores programadores que conhecemos nunca tiveram medo de compartilhar conhecimento. Pelo contrário.
Eles ficavam satisfeitos quando alguém da equipe se desenvolvia mais rápido. Porque uma equipe forte sempre vence um herói solitário.
Por mais de vinte anos tivemos a oportunidade de observar como pessoas que começaram como estagiárias se tornaram membros plenos da equipe. Uma dessas histórias descrevemos na primeira parte desta série.
Hoje essa pessoa executa tarefas exigentes de forma independente, projeta soluções e apoia programadores mais jovens.
Isso aconteceu de um dia para o outro? Claro que não. É o resultado de centenas de horas de aprendizado. De dezenas de Code Reviews. De inúmeras perguntas. De erros cometidos. E de uma enorme curiosidade pelo mundo.
IA não substituirá um bom programador
Esse tópico não poderia faltar. A inteligência artificial está mudando nosso setor? - Sim. Muito.
Ela faz com que os programadores deixem de ser necessários? - Pelo contrário.
Muda o caráter do trabalho. Cada vez menos tempo dedicamos a escrever código repetitivo.
Cada vez mais a:
- análise de problemas,
- projeto de arquitetura,
- verificação de soluções,
- conversas com clientes,
- tomada de decisões.
A IA é um excelente assistente. Mas a responsabilidade pelo projeto ainda é humana. E continuará assim por muito tempo.
O que você não coloca no CV
O CV mostrará:
- linguagens de programação,
- frameworks,
- certificados,
- experiência.
Mas não mostrará coisas que muitas vezes decidem o sucesso.
Você consegue admitir um erro?
Você sabe pedir ajuda?
Você respeita o tempo dos outros?
Você cumpre acordos?
Você consegue resolver conflitos com calma?
Você assume responsabilidade por suas decisões?
São essas características que fazem a equipe querer trabalhar com você.
Se pudéssemos dar apenas um conselho...
Depois de mais de vinte anos desenvolvendo software poderíamos falar sobre tecnologias.
Sobre arquitetura. Sobre frameworks. Sobre inteligência artificial.
Mas se tivéssemos de deixar apenas um conselho, seria este: Nunca deixe de ser curioso.
As tecnologias vão mudar. As linguagens de programação vão evoluir. Frameworks vão surgir e desaparecer.
Mas curiosidade, humildade, vontade de aprender, habilidade de fazer perguntas - são competências que sempre serão necessárias.
Glossário
Senior Developer
Programador experiente que não só escreve código de alta qualidade, mas também projeta soluções, toma decisões técnicas, apoia a equipe e assume responsabilidade pelos projetos realizados.
Arquitetura de software
A forma de projetar uma aplicação e as relações entre seus elementos, influenciando o crescimento, desempenho e facilidade de manutenção do sistema.
Escalabilidade
A capacidade de um sistema de atender a um número crescente de usuários, dados ou processos sem perda de desempenho.
Commit
Registro de mudanças no sistema de controle de versão Git, permitindo rastrear a história do desenvolvimento do projeto.
Mentoria
Processo de transmitir conhecimento e experiência a membros menos experientes da equipe, apoiando seu desenvolvimento profissional.
Resumo da série
Se você leu todas as quatro partes, talvez tenha notado que raramente escrevemos sobre frameworks específicos.
De propósito.
Porque as tecnologias mudam mais rápido do que nunca.
O que hoje é popular, em alguns anos pode ser apenas uma curiosidade.
Entretanto, a forma de pensar de um bom programador permanece inalterada: Análise. Responsabilidade. Comunicação. Trabalho em equipe. Curiosidade.
São essas qualidades que fazem com que você deixe de ser Júnior para se tornar Mid Developer e, com o tempo, Sênior.
Na Web24, por mais de 20 anos, desenvolvemos software para clientes de diversos setores. Nesse tempo aprendemos uma coisa: os melhores programadores não são conhecidos pela quantidade de linguagens que dominam. São reconhecidos pela forma como resolvem problemas, colaboram com as pessoas e pelo quanto se importam com a qualidade do que constroem.
Se você está começando sua jornada em TI, desejamos que nunca perca a curiosidade.
Porque é dela que começa toda boa carreira.



