Sabe uma pergunta que possui várias respostas diferentes e todas podem estar certas? Essa é um tipo delas.
Vou apenas dar minha percepção do que eu acharia interessante num programador sênior. E, lembrando, que você pode clicar aqui e conferir o texto que escrevi sobre frameworks específicos para se tornar um bom programador.
O primeiro problema é que o título de sênior quem te fornece é a empresa. Em cada empresa será uma situação. É bem difícil conseguir o título com menos de 5 anos, mas eu já vi casos de gente muito boa que conseguiu. A pergunta menciona tempo de experiência, mas é um dos parâmetros que menos importa na minha opinião. O importante é seu valor intrínseco.
Já se perguntou qual o seu valor? Pergunta meio ruim quando se faz a um ser humano, você tem valor inestimável independente de qualquer coisa e você deveria saber disso. Mas se faça essa pergunta simplesmente para tentar responder: o que a empresa espera dos programadores bem pagos? Sério. Pegue um exemplo de algum sênior que você considera bom, que a empresa admira, e anote as razões pelas quais vocês acha que isso acontece. Talvez seja a melhor sugestão que eu tenha a te fazer.
Mas eu vou dizer algumas características que eu observo.
1 – Saiba dar soluções para os problemas.
Se, quando aparecer um problema técnico, você é o cara para quem perguntam “e agora?”, talvez você esteja num “bom caminho”. Caminho mais difícil, mas se você veio aqui para tentar responder a pergunta do título, esse é o caminho pelo qual você tem de passar, não se engane.
2 – Tenha consciência dos riscos.
O programador que tem bom conhecimento também começa a ter consciência dos riscos envolvidos em cada solução de código que ele dá. Por exemplo, você sabia que o escopo padrão de um componente no Spring Framhhework é singleton? Isso significa que você precisa tomar cuidado com acesso concorrente caso vá guardar estado no componente. Um desavisado que só “programa porque assim que eu vi” pode causar muitos problemas numa solução mais complexa.
3 – Saiba refatorar um código de maneira a melhorá-lo.
Vou ser sincero, difícil alguém preferir ficar consertando código do que escrever código novo. Mas a vida não perdoa e se você realmente quiser se considerar bom, saiba como analisar código existente e melhorá-lo com o menor impacto de funcionalidade possível.
4 – Saiba lidar com os outros programadores.
Isso é algo que valorizo muito. Programador sênior que se preze tem de olhar pro lado e valorizar quem o está ajudando na sua equipe. Ser um suporte sempre que puder. E também sempre considerar que o outro pode ter algo novo a te mostrar, mesmo o estagiário ou o júnior que acabou de entrar no meio de fogo cruzado.
5 – Saiba aprender dinamicamente.
Quem está numa posição mais elevada geralmente tem de aprender rápido e por si mesmo. Então aprenda a “pegar atalhos” no aprendizado. Não confunda com aprender de maneira porca, o que você aprende tem de ser sólido. Mas tem sempre formas de aprender com mais agilidade, cortando supérfluos, ainda mais com o danado do Google.
6 – Tenha um conhecimento técnico útil.
Sabe, eu faço muitas perguntas teóricas quando faço uma entrevista de algum candidato a programador. Não menospreze o conceito, pois ele pode te dar luz para muitos problemas. Eu vivo isso e sei o que estou falando. Mas confesso que no fim das contas você tem de ser o cara que “resolve”. Mão na massa, conhecimento prático e agilidade. Seja o cara que “produz” e as coisas vão andar bem pra ti.
Siga alguns anos reforçando essa prática e você será notado, tenha confiança.
E você? Tem alguma dúvida a respeito do caminho que deve traçar para se tornar um programador sênior?
Conheça aqui o meu depoimento pessoal e deixe suas dúvidas nos comentários!
Por Ricardo Campos, desenvolvedor Java na Mirante Tecnologia