Contact Us
10 top skills procuradas num Senior Developer
Tempo de leitura: 10 minutos

10 top skills procuradas num Senior Developer

Por Pedro Calado, Talent Account Manager @ Xpand IT

No ecossistema tecnológico, a evolução é um objetivo comum nos developers. Todo o conhecimento que vai sendo adquirido valioso. No entanto, para quem tem anos de experiência nesta área pode questionar-se sobre quais são as suas competências de destaque e quais as top skills procuradas num senior developer pelas empresas tecnológicas.

O papel de um developer deve ser incansável em muitos aspetos. Tal como um super-herói do universo da sétima arte, Marvel, DC, um protagonista de um filme de aventura ou ficção científica, exige vários episódios de descoberta, avaliação, aprendizagem, construção e escalabilidade. Tudo isto depende das tuas intenções e ações ao longo da tua carreira académica, pessoal e profissional, e que não implicam necessariamente muito tempo decorrido na consolidação da sua marca pessoal, equipa ou produto.

O que é realmente um Senior Developer?

Não existe nenhuma milestone ou crachá conquistados que permite aferir que um developer é de facto senior. Não existe uma definição unânime, este título é fluído e serve de palco para uma miríade de significados para qualquer empresa, startup ou recrutador. Não está, sequer, correlacionada com o grande número de anos no CV ou experiência na área. Não é a quantidade, mas a qualidade, o bom trabalho de equipa e sinergia entre elementos que importam. E que atire a primeira pedra o senior  developer que nunca aprendeu algo com um elemento mais júnior ou mais recente na equipa!

Noutras interpretações mais complexas o que pode pesar mais é o know-how, o domínio de uma linguagem ou ferramenta, o conhecimento de todas as respostas, ou a postura de não ter medo de fazer questões ou pedir ajuda, o respeito dos colegas e comunidade de programadores, a admiração crescente e a sabedoria acumulada ao longo de vários sectores ou organizações, o conhecimento da verdade absoluta e o número de bugs corrigidos por minuto ao teclado, milhares de commits efervescentes e validados, pull requests e merges no Git, acompanhados por um boa música, grandes quantidades de café, chá, red bull ou, para os mais corajosos, algo com mais teor alcoólico.

A diferença reside na sabedoria e nas ações de cada um dos perfis, numa melhor gestão de tempo e expectativas, para além da postura e abordagens distintas quando encaram o mesmo problema. Quando se depara com um espinho no código ou bottleneck, o developer júnior pensa “não faço ideia de como resolver este problema, nunca vou ficar bom se continuar a pesquisar no Google pela resposta”, o developer senior ataca a mesma situação com uma conversa com um colega, mais de 30 abas abertas no Google e no StackOverflow para ‘partir pedra’, ‘abanar o coqueiro’ e solucionar esse mesmo problema.

É este o tipo de experiência que faz diferença num perfil senior. É alguém capaz de reconhecer padrões por causa de um erro ou porque foi bem-sucedido noutra ocasião. Nenhum erro é tão aleatório ou demasiado complicado, existe sempre uma forma de o resolver, superar e seguir em frente, sem recusar ou ser capaz de ajudar outros a crescer ao longo do seu percurso e aprendizagem. Só assim se cresce realmente quando o conhecimento é partilhado, e se usam experiências para ajudar uma equipa quando outros estão presos e a pessoa consegue tirá-los de um aperto ou aliviar a carga.

O senior developer também vai mais longe, sabendo que a complexidade dos problemas que resolve aumentam com o tempo, por isso se pode pesquisar no Google ou no StackOverflow a solução completa para o problema, então tenta não pesquisar, divide-o e pesquisa pequenas coisas no Google, sendo capaz de lidar com todas as etapas do caminho para construir e consolidar o melhor código possível, analisando e entendendo o problema, formar uma solução viável para o mesmo, testar peça a peça, em blocos ou a solução por inteiro e, finalmente, integrar e implementar a solução de forma eficiente, sem erros críticos.

É comum referir-se que aprender a programar (bem) é como subir uma montanha, saltando de tutorial em tutorial, curso em curso, certificações e badges pelo meio, aprendendo todos os conceitos, truques e melhores práticas e aplicando conceitos de gamification. Cada developer escolhe um trilho diferente e tem uma experiência única, superando inúmeros obstáculos ao longo de vários e complexos desafios, com muito para aprender, conquistando uma miríade de checkpoints e momentos de motivação que são autênticas montanhas russas para ganhar pontos e poderes sobrenaturais para quem não é da área de programação ou informática. São nestas conquistas que o nosso herói Developer aprende a mesma sabedoria do tio de Peter Parker, a.k.a Homem-Aranha, que “with great power comes great responsibility”.

As capacidades que um developer deve ter podem ser encontradas em personagens de banda desenhada, videojogos, cinema ou filmes. Right?

 

O impacto de um developer é tangível e intangível nas iniciativas de negócio, traz um potencial enorme para a empresa, equipa e clientes, para além de um amplo envolvimento nas organizações (dentro e fora das paredes do escritório), em diversos setores e esferas do quotidiano de qualquer pessoa (seja na área de IT ou não).

Se já levas alguns anos em IT, já deves ter noção da força e importância da tua função nos dias de hoje. Este leque de possibilidades leva a que um/a Senior Developer deva ter vários superpoderes, independentemente do número de anos de experiência que o destacam face a outros ao longo do seu percurso, ou no seu Story Mode:

1. Pesquisa. Há sempre algo novo nas missões e side quests dos developers. Terminar um curso ou a conquista de uma certificação não significam o fim do caminho, são apenas o início de uma jornada, um jogo ou um filme, que começa com muito mais do que um “Hello World”. Qualquer developer deve começar com um plano e algumas perguntas como: ‘qual o objetivo e o que pretendo alcançar?’, ‘Para que serve esta tecnologia?’, ‘Por que é que existe e que problemas resolve?’, ‘Que oportunidades estão disponíveis neste percurso?’ ou ‘Em que contexto esta tecnologia é mais eficaz?’.

2. Capacidade de aprendizagem contínua. São inúmeras as formas que existem para aperfeiçoar fundamentos ou reciclar conhecimentos. Seja através de formações, cursos no Udemy, EdX, Coursera, tutoriais no Stackoverflow, canais do YouTube, um leque de certificações, livros ou até aprender com os erros, e “sometimes you learn from the worst”. Aprender sobre conceitos fora da tua área é uma mais-valia.

skills procuradas num senior developer star wars gif
Fonte: Tenor

3. Autonomia. Deve ser autónomo, sendo capaz de fazer as suas tarefas com o mínimo de assistência, tal como o Luke Skywalker quando termina o treino Jedi e se sente preparado para enfrentar algo muito maior do que ele. Tem o que precisa, sabe como e o que deve ser feito. Now use the force!

skills procuradas num senior developer star wars gif
Fonte: Tenor

4. Orientação. Deve ser capaz de projetar e codificar por conta própria e, se necessário, ser capaz de orientar, ensinar e transmitir conhecimento a outros elementos da equipa.

Emparelhar elementos seniores e juniores na mesma equipa traz benefícios para ambos e pode tornar-se numa relação de simbiose a longo prazo, até para a empresa que os combina intencionalmente, tirando partido da troca de ideias, experiências, novas tendências, novos inputs e promove a transmissão de conhecimento entre pares. Estas dinâmicas geram e consolidam carreiras de gestão de equipa, tech leads, gestores de projeto e até futuros líderes de unidades, que começaram como consultores ou analistas funcionais, mas foram ao longo do tempo desbravando a montanha e desbloqueando novas skills ao longo do percurso. Os developers senior que trabalharam em vários projetos têm uma compreensão muito mais variada e profunda de como desenvolver sistemas e código sustentável, robusto e reutilizável. Ninguém precisa de inventar a roda ou fazer tudo de raiz, têm noção de que projetos valem a pena e podem ajudar a gerir as expectativas de stakeholders com maior ou menor literacia na área tecnológica ou de programação. Tudo se resume a serem capazes de olhar para além dos cantos, não cortar caminho, não programar por cima do joelho e impedir que os programadores mais juniores criem soluções excessivamente complicadas ou desadequadas, ou façam um trabalho que pode ter pouco ou nenhum impacto para a empresa ou cliente onde estão – e infelizmente nem todas as empresas ou colaboradores fazem isto, e isto tem um custo enorme.

skills procuradas num senior developer star wars gif seleção portuguesa futebol
Fonte: MakeAGif.com

Até o Cristiano Ronaldo não consegue ficar quieto e descansado no banco quando joga pela seleção nacional, deixa tudo em campo e transmite tudo o que sabe, dentro das quatro linhas e no balneário, mesmo quando tudo parece perdido. E tu, és o Ronaldo da Equipa ou sabes apontar quem “bate bem” quando mais importa?

5. MacGyverismo. É muito comum os programadores depararem-se com vários problemas de programação ao criar praticamente qualquer solução (seja um site, aplicação, solução de dados ou design). Um Senior Developer escolhe as ferramentas certas, repara ou resolve problemas que muitas vezes parecem ser insolúveis, com uma atitude positiva, improvisa e é capaz de se desenvencilhar de qualquer situação, “fazendo o impossível”.

skills procuradas num senior developer star wars MacGyver filme
Fonte: IMDB

6. Perspicácia: Não precisas de ser como o Inspector Gadget, trabalhar no FBI ou escrever como o Saramago, poucas palavras bastam: um bom levantamento de requisitos, um ou outro comentário construtivo numa linha de código ou uma boa documentação fazem toda a diferença. Um dos superpoderes de um programador senior é a aptidão para entender e transmitir as necessidades, requisitos, instruções e problemas no mínimo de palavras-chave.

7. Teste & Experimentação: Tal como num jogo RPG de mundo aberto, os melhores developers são curiosos e apaixonados, gostam de ir a todos os cantos do mapa. Exploraram incessantemente, metem o nariz em qualquer coisa que encontram, tentam coisas mais ou menos eficientes, algumas que funcionam um dia e no dia seguinte já estão obsoletas ou cheias de erros, testam o mundo de stacks tecnológicas, IDEs, metodologias de desenvolvimento, cloud providers, containers, automatizações, otimizações, bases de dados e integrações, testando como o mundo responde, aceita ou ainda é embrionário para o seu comportamento.

8. Spider-Sense (ou sexto sentido). É certo que já viste filmes suficientes da Marvel e do Homem-Aranha para saberes o que é o spider-sense. Um poder bem útil, não achas? Os Senior Developers também o têm, sendo capazes de antecipar qualquer tipo de problemas ou riscos bastante atempadamente e de sugerir soluções para os mesmos.

Spider Man giph
Fonte: Giphy

9. Bombeirismo. Tal como um bombeiro ou um médico socorrista que salta do seu veículo para enfrentar uma situação desconhecida, inesperada e para o qual podem não estar preparados, existem tantas suposições e decisões que os programadores têm de tomar. Estas decisões individuais ou coletivas são definidas e consolidadas em cada sprint planning, daily e retrospective, e esta habilidade de antecipar certas situações, ajudar os pares ou pôr as mãos na massa para apagar um fogo mais descontrolado ou um fumo suspeito, aliada à experiência e intuição para os guiar, rapidamente os salva de uma curva errada, de caírem num rabbit hole tão fundo em que não existem CTRL+Z suficientes para voltar à casa de partida, e isto não custa apenas ao developer, custa à empresa e ao cliente.

10. Visão. Deve ter uma boa visão e conhecimento das aplicações, infraestruturas e do negócio. Está exposto a várias e valiosas experiências, que o ajudam a aprimorar o seu ofício. É capaz de ver o alinhamento do projeto com os objetivos da Unidade e da organização.

11. (Bónus 1): Adaptação e resiliência: Quando começaste o teu percurso académico, como tens vindo a evoluir desde o nível 1? Como e quanto mudou o teu mundo desde aí, notas diferença nos últimos 5 anos? E nos últimos 2 anos, com a pandemia que permeou todas as esferas do nosso quotidiano a nível global?

Tal como num jogo, cada jornada e story mode de uma personagem é diferente e um autêntico labirinto com diversas saídas, a adaptação é uma ferramenta crucial para a evolução de qualquer programador.O ecossistema tecnológico está a crescer e a mudar de forma exponencial, com a introdução, teste e implementação de novas tecnologias e a avaliação das tecnologias existentes acontece todos os dias, em qualquer parte do mundo. Os developers precisam de se manter atualizados com as linguagens, tecnologias, plataformas, ferramentas e metodologias mais recentes e variar a sua função de acordo com as necessidades do dia e, em alguns casos, da hora.

12. (Bónus 2): Otimização. A eficiência através da escrita de código otimizado e com um bom desempenho ao longo do tempo é uma habilidade rara, mas não impossível. É algo que geralmente evolui e se cultiva com a experiência, prática e exposição a diversos ambientes. Ao desenvolver qualquer solução, os developers devem considerar os parâmetros de otimização e projetar a solução da maneira que melhor atenda os seus utilizadores.

Para além destes superpoderes, deixo-te ainda mais alguns que são tão ou ainda mais importantes ao longo da jornada de um Senior Developer, e que são mais-valias com bastante impacto ao longo do seu percurso profissional e pessoa: como a empatia, inteligência emocional, atenção ao detalhe, retrospetiva e autoavaliação. Cada um destas palavras falam por si, certo? ?

Conclusão

Muitos dos developers já devem ter em conta várias destas top skills procuradas num senior developer. Mas tal como um novo super-herói que no início dos seus filmes/BDs aprende a lidar com os seus superpoderes, o princípio aqui é o mesmo para quem vai progredindo na sua carreira em IT, com o objetivo de chegar ao topo. Não existem critérios padronizados e unânimes para determinar o nível de senioridade, este avalia-se com base numa combinação de hard skills, mentalidade, postura, soft skills e experiência.

Um developer senior possui experiência no levantamento (claro e sucinto) dos requisitos funcionais e técnicos, fazer uma boa expectativa em termos de esforço e analisar de forma crítica estes mesmos requisitos. Também consegue construir soluções e infraestruturas para projetos de média e grande escala, é capaz de priorizar tarefas cruciais para as menos importantes ou desnecessárias, tendo em conta o grau de urgência, importância e impacte na gestão de expectativas a cada momento.

É igualmente responsável e tem mais grau de ownership do projeto integral, consegue delegar tarefas e distribuí-las para tornar o trabalho mais fluído e rápido, automatizando e ganhando tempo sempre que possível, sem abdicar da atenção ao detalhe na entrega e implementação da solução.

Um developer para ser considerado genuinamente senior também precisa de aprender, aprender muito através de tutoriais, livros, cursos ou formações, falar com outros senior developers, formar e consolidar as suas próprias opiniões e melhores práticas, partilhando-as com elementos mais juniores na sua jornada.

Devem compreender verdadeiramente as ideias e conceitos por detrás das linguagens, plataformas e tecnologias, aprender como escrever bom código e por que muitos projetos falham ou avançam. Aprender sobre padrões e entendê-los realmente, explorando por si próprio, através de code review ou code shadowing.

Um verdadeiro Senior Developer não aprende apenas no trabalho e adquire valências fora do seu campo de trabalho. Aprende sobre outras áreas, desenvolvimento de jogos, sistemas operativos, bases de dados, integrações, etc., vendo sempre se há alguma ideia que possa ser útil no seu quotidiano, aperfeiçoando os fundamentos e construindo em cima dos mesmos, tal como evolui uma personagem de um jogo ou um herói na sétima arte.

Para além disto, são igualmente importantes as capacidades de comunicar e pensar criticamente, encontrar soluções eficientes e mais adequadas (não existe uma única solução, nem a ideal, apenas umas mais adequadas que outras), compreensão das necessidades do projeto, expectativas da equipa técnica e de negócio, bem como a capacidade de planear o futuro da solução a cada sprint, uma daily de cada vez.

Leave a comment

Comments are closed.

Comments

  1. … [Trackback]

    […] Information to that Topic: careers.xpand-it.com/blog/10-top-skills-procuradas-num-senior-developer/ […]

  2. … [Trackback]

    […] There you can find 76320 more Information on that Topic: careers.xpand-it.com/blog/10-top-skills-procuradas-num-senior-developer/ […]

  3. … [Trackback]

    […] Read More on that Topic: careers.xpand-it.com/blog/10-top-skills-procuradas-num-senior-developer/ […]

  4. … [Trackback]

    […] Read More to that Topic: careers.xpand-it.com/blog/10-top-skills-procuradas-num-senior-developer/ […]

  5. … [Trackback]

    […] Read More to that Topic: careers.xpand-it.com/blog/10-top-skills-procuradas-num-senior-developer/ […]

  6. … [Trackback]

    […] Information on that Topic: careers.xpand-it.com/blog/10-top-skills-procuradas-num-senior-developer/ […]

  7. … [Trackback]

    […] Information on that Topic: careers.xpand-it.com/blog/10-top-skills-procuradas-num-senior-developer/ […]

  8. … [Trackback]

    […] Here you will find 40733 more Information on that Topic: careers.xpand-it.com/blog/10-top-skills-procuradas-num-senior-developer/ […]

  9. … [Trackback]

    […] Information to that Topic: careers.xpand-it.com/blog/10-top-skills-procuradas-num-senior-developer/ […]

  10. … [Trackback]

    […] Read More on to that Topic: careers.xpand-it.com/blog/10-top-skills-procuradas-num-senior-developer/ […]

  11. … [Trackback]

    […] Find More to that Topic: careers.xpand-it.com/blog/10-top-skills-procuradas-num-senior-developer/ […]

  12. … [Trackback]

    […] Information to that Topic: careers.xpand-it.com/blog/10-top-skills-procuradas-num-senior-developer/ […]

  13. … [Trackback]

    […] Find More here on that Topic: careers.xpand-it.com/blog/10-top-skills-procuradas-num-senior-developer/ […]

  14. … [Trackback]

    […] Read More on that Topic: careers.xpand-it.com/blog/10-top-skills-procuradas-num-senior-developer/ […]

  15. … [Trackback]

    […] Info on that Topic: careers.xpand-it.com/blog/10-top-skills-procuradas-num-senior-developer/ […]