5 Práticas que uso para me aperfeiçoar enquanto pessoa desenvolvedora Sênior

Após anos trabalhando na área de desenvolvimento de software, alcancei a famosa posição de pessoa desenvolvedora Sênior. Não foi um caminho fácil nem rápido, porém para te auxiliar até lá, compartilhei algumas dicas que gostaria de ter recebido durante minha trajetória:

Agora, para completar minha trilogia de publicações em comemoração a mais de uma década de aprendizados e conhecimentos adquiridos com desenvolvimento de software, apresento as 5 práticas que uso para me aperfeiçoar enquanto pessoa desenvolvedora Sênior.

Encontre problemas

Espera-se que pessoas desenvolvedoras de software Sênior sejam independentes, e isso vai além da habilidade de resolver problemas, é essencial também na capacidade de identificá-los.

Os profissionais mais excepcionais com quem trabalhei não aguardavam passivamente pelas demandas. Ao contrário, eles tomavam a iniciativa de buscar ativamente débitos significativos nas aplicações. No entanto, essa busca demanda tempo, uma vez que é necessário investigar diferentes partes do sistema, o que envolve revisão de código, análise de métricas e discussões com colegas de equipe.

O propósito dessa abordagem exploratória é descobrir problemas, como gargalos técnicos, lacunas no sistema, impactos negativos na experiência do usuário, entre outros, para então dar luz a eles. Em outras palavras, é trazer esses pontos críticos à atenção das pessoas responsáveis. Nesse momento, surge a necessidade de outra competência vital: a persuasão.

Quem já trabalhou em grandes projetos sabe que as demandas são numerosas e, muitas vezes, não estão organizadas da melhor forma possível. Por isso, é crucial argumentar sobre a importância de solucionar esses problemas fundamentais junto às lideranças, elucidando as consequências de não abordá-los, a fim de que possam ser devidamente priorizados.

O que eu faço? Apresento dados! Ao fornecer dados que demonstram a ineficiência do código, o custo elevado, a baixa performance ou qualquer outro aspecto que afete negativamente a aplicação, você aumenta significativamente suas chances de sucesso ao destacar novos problemas que precisam ser abordados.

Não exagere nas soluções

Concentre-se em desenvolver soluções que satisfaçam as necessidades atuais do sistema, evitando a armadilha de adicionar complexidade desnecessária ou antecipar melhorias futuras. Como cientista da computação, me fascina resolver problemas difíceis e complexos da maneira mais sofisticada e otimizada possível. No entanto, frequentemente nos faltam tempo e recursos para tal no trabalho.

O que eu faço? Construo apenas o que é necessário. Isso não quer dizer “fazer de qualquer jeito”, é apenas uma abordagem que evita potenciais exageros de escalabilidade ou camadas de abstração que podem não ser necessárias no momento, ou talvez jamais sejam.

Evite planejar excessivamente a longo prazo. Foque em lançar o produto, ferramenta ou recurso de modo que cumpra os requisitos atuais, para então aprimorá-lo e escalá-lo de forma gradual, com base em métricas, feedbacks e as reais necessidades dos usuários. Isso evita gastar tempo prolongando a construção de um sistema excessivamente complexo que pode não atender às reais expectativas.

Por fim, aceite os débitos técnicos. No mundo real, fatores externos ao desenvolvimento de software influenciam as entregas. Assim, sempre haverá aspectos a serem melhorados posteriormente. Quanto mais cedo você reconhecer isso, mais fácil será gerenciar situações de engenharia excessiva (over-engineering).

Entenda do negócio da organização

O impacto de uma pessoa desenvolvedora Sênior vai além dos aspectos técnicos dos projetos que ela faz parte, também se espera que haja um alinhamento com os objetivos de negócios do projeto. Portanto, é crucial entender como os aspectos técnicos afetam os resultados financeiros da organização.

A frase “engenharia é uma área isolada” é algo que já ouvi em diversos contextos, mas considero essa visão arcaica. As preocupações comerciais da organização devem ser plenamente entendidas pela área de desenvolvimento de software, permitindo priorizar projetos que tenham potencial para gerar valor significativo, seja aumentando receita, melhorando a eficiência ou reduzindo custos.

O que eu faço? Participo das discussões. Embora possa ser desgastante participar de muitas conversas, esforce-se para estar presente o máximo possível nelas. Afinal, nunca se sabe quando informações valiosas sobre o negócio podem surgir. Ofereça-se voluntariamente para participar de reuniões que discutam projetos ou futuras direções da organização, mantendo-se assim sempre alinhado aos objetivos corporativos.

Promova uma cultura positiva e produtiva

Contribuições técnicas significativas é o que se espera de uma pessoa desenvolvedora Sênior, mas seu papel vai além. É essencial promover uma cultura de trabalho positiva e produtiva, um elemento crucial para o sucesso da organização por aumentar a capacidade de atrair e reter talentos.

O que eu faço? Cultivo a cultura. A liderança se torna muito mais eficiente quando é exercida pelo exemplo. Portanto, fomente culturas colaborativas, através de hackathons, meetups, realize seções de programação em pares (pair programming), escreva artigos influentes em blogs, palestre em conferências e envolva-se ativamente na otimização do processo de entrevistas de sua organização. Essas iniciativas cultivam um ambiente de trabalho dinâmico e acolhedor.

Certa vez, me deparei com a expressão “seja um arquiteto da cultura”. Acredito que essa frase define perfeitamente o que se espera de uma pessoa Sênior: alguém comprometido em criar um ambiente inclusivo e de apoio onde todas as pessoas são incentivadas a aprender, crescer e contribuir com o seu potencial máximo.

Busque inspirações

Certamente, existem pessoas que te inspiram, aquelas a quem você aspira chegar no mesmo patamar em realizações mas talvez não saiba, ou nem acredite que é possível, chegar lá.

O que eu faço? Converso com essas pessoas. Procurar entender como elas agem, como lidam com determinadas situações, o modo como pensam e como alcançaram seus objetivos mostra um caminho a ser trilhado. Caso não tenha acesso direto a elas, busque conteúdos que abordem essas personalidades excepcionais e tente emular seus comportamentos positivos.

Muitas vezes caímos no erro de nos compararmos com os outros ao invés de nos inspirarmos, o que pode ser desmotivador. No entanto, a verdade é bastante simples: o objetivo é nos compararmos com o que éramos ontem, mirando no patamar que queremos chegar com base em nossas inspirações. É com esse propósito que compartilho minhas experiências e aprendizados, na esperança de inspirar e ser inspirado por outras pessoas. Desta forma, continuo me aperfeiçoando para me tornar cada vez mais uma pessoa desenvolvedora melhor, e desejo que você também consiga atingir sua melhor versão.