5 habilidades para promoção a ultra sênior de verdade
Reunião de sêniors listou o que separa player ultra sênior: qualidade de código, regra do escoteiro e soft skills — sem checklist de linguagem da
Resposta direta
Promoção a ultra sênior não é coleção de frameworks: é qualidade de código, julgamento e comportamento sob responsabilidade maior. Geralmente em alguns projetos, quando a gente está começando a gente vai ter o arquiteto que vai definir, blá blá blá não, um bom desenvolvedor sênior ele precisa continuar definindo e dando manutenção nesses padrões e na arquitetura do projeto para que.
Como a pergunta da promoção surgiu na reunião
Se a gente quisesse promover alguém de player ultrassênio, quais são os requisitos que essa pessoa necessariamente precisa preencher? E ao longo dessa reunião cada um foi expressando a sua opinião e teve alguns insights bem legais ali. De tudo que a gente falou, eu resumi isso em 5 habilidades que todo desenvolvedor sênior precisa ter.
E se você quiser virar um desenvolvedor sênior Independente de você ser back-end, front-end DevOps, Fullstack, não importa porque essas habilidades, elas precisam estar em um desenvolvedor sênior, você vai ver que eu não vou falar nada de linguagem de programação JavaScript, Java, AWS, não, não nada disso, são requisitos técnicos e também comportamentais ou seja, hard software skill, que todo desenvolvedor sênior precisa ter. Quesito número 1, que foi unânime, que todo mundo mencionou qualidade de código, um bom desenvolvedor precisa escrever código bom, não tem como você se tornar um sênior se você escreve código ruim. Você precisa ter o domínio da linguagem e dos frameworks, bibliotecas, ferramentas que você utiliza, porque um desenvolvedor sênior, majoritariamente, quando ele está escrevendo código, ele tem que melhorar o código.
Qualidade de código como requisito unânime
E isso deveria ser uma regra para todo desenvolvedor, mas a gente sabe que nem sempre dá para aplicar isso. Experiência suficiente para conseguir aplicar essa regra do escoteiro e sempre melhorar e sempre se importar com qualidade de código, independente do que ele esteja fazendo. Se você está começando, talvez você esteja se perguntando, tá bom Lucas, mas como eu escrevo código de qualidade?
E não tem como mencionar qualidade de código e não mencionar o livro Clean Code do Uncle Bob. Esse é um ótimo guia, você não precisa necessariamente seguir a risca, mas principalmente se você estiver começando, Ali tem insights, ideias e exemplos práticos de como você pode. Desde coisas simples como escolher nomes significativos para funções e variáveis, até coisas mais complexas como eu separo as responsabilidades dentro de um módulo, como eu comunico esses diferentes módulos dentro de um projeto.
Na prática
Promoção a ultra sênior não é coleção de frameworks: é qualidade de código, julgamento e comportamento sob responsabilidade maior.
A regra do escoteiro no dia a dia
Então, se você quiser se tornar um programador que escreve código com qualidade, eu super recomendo você ler e aplicar as regras do Clean Code. Conectada com a primeira um bom desenvolvedor ele precisa necessariamente saber definir padrões e arquitetura para os projetos no qual trabalha para onde ele está especializado é eu por exemplo como desenvolvedor mobile eu não vou saber estabelecer um padrão para um beckham de super complexo eu consigo definir arquiteturas para blackpink mais simples mas essa não é a minha especialidade mas eu como desenvolvedor mobile sênior eu preciso saber definir arquitetura para projetos complexos dentro do universo mobile. Então, se você é um desenvolvedor front-end, você precisa saber definir padrões e arquiteturas para projetos front-end, projetos complexos, projetos que vão ter milhares, milhões de usuários, que vão ter diferentes módulos, que vão integrar diferentes serviços.
Geralmente em alguns projetos, quando a gente está começando a gente vai ter o arquiteto que vai definir, blá blá blá não, um bom desenvolvedor sênior ele precisa continuar definindo e dando manutenção nesses padrões e na arquitetura do projeto para que ela não se deteriore, ou seja, para que ela não piore ao longo do tempo, e se alguém lá atrás fez alguma cagada ou por algum motivo algo não foi implementado de forma correta um desenvolvedor sênior, ele também precisa ter a capacidade de identificar esses problemas no código na arquitetura apresentar uma solução e aplicar essa solução, como melhorar essa arquitetura e dentro de um contexto de um projeto que já está rodando. Isso é muito importante também, porque esse foi outro ponto meio que em paralelo ali que também algumas pessoas mencionaram, que é o seguinte, o desenvolvedor sênior, ele precisa ter essa habilidade de, como se fosse dar manutenção em um carro em movimento. E a habilidade número 3 é a combinação de algumas coisas que eu ouvi, que eu acho que elas juntas ali fazem sentido.
Hard skills vs soft skills no pacote sênior
Você conseguir definir soluções a nível de requisitos e tomar responsabilidade sobre essa solução que você está tomando de ponta a ponta. Então, desde o momento onde a empresa fala, a gente quer adicionar, por exemplo, uma API de pagamento no nosso sistema. Entre lá, analisar as diferentes soluções existentes, documentar, criar um documento, um design solution, alguma coisa nesse sentido.
Então, por exemplo, eu sou o desenvolvedor sênior que foi responsável por definir pelo design solution dessa funcionalidade de integrar um pagamento. Toda, mas eu preciso ter um bom entendimento dessa funcionalidade de ponta a ponta, porque na hora que alguém de fora, seja alguém de produto, alguém de design ou alguma outra parte da empresa, isso é muito comum se você trabalha em empresa grande, tá? Então se você trabalha em empresa grande e tá alocada dentro de um projeto, eventualmente alguém de outro time por exemplo, time de segurança, vai querer entender o que você tá fazendo, então você como desenvolvedor sênior que foi responsável por essa feature, você precisa saber explicar, tá?
Como evidenciar essas habilidades sem teatro
Então, design de solução e tomar responsabilidade sobre funcionalidades grandes de ponta a ponta é outra habilidade necessária para um desenvolvedor sênior. E a habilidade número 4, ela está relacionada ali a parte de soft skill, o que é um pouco uma pena para algumas pessoas que entraram na área técnica e querem evoluir na carreira e muita gente entrou na programação porque elas não precisam lidar com gente, não precisa lidar com pessoas, é só código. Você está enganado, meu amigo, se você quiser subir na sua carreira, necessariamente você vai ter que melhorar as suas habilidades de comunicação, as suas software skills.
E essa quarta habilidade, a gente resumiu em proteger o código e antecipar problemas. Porque antecipar problemas é lá na ponta, quando alguém de produto, seja o seu chefe, ou gerente de produto, alguém teve aquela ideia super genial. Precisa estar envolvido ali no início e você precisa levantar a mão se alguma coisa ali, por exemplo, não está de acordo com os requisitos técnicos do projeto.
Sinais de que está funcionando
Então, as pessoas de produto não têm essa noção do que está acontecendo ali tecnicamente a nível de código, de arquitetura, de software. Proteger o código, no sentido de que, olha só, essa funcionalidade que vocês estão querendo em três semanas, não tem como implementar. Você precisa ter essa habilidade e saber comunicar, saber especificar também os porquês para essas pessoas não técnicas.
Então, se você quiser se tornar um desenvolvedor senior, você precisa necessariamente melhorar as suas habilidades de comunicação para que você consiga proteger o código e antecipar. Essa aqui, eu decidi me juntar duas coisas ali que estão relacionadas, que é você treinar pessoas e entrevistar candidatos. Isso passa por você obviamente ter as habilidades técnicas, as hard skills necessárias que você precisa orientar, ensinar alguém sobre aquelas habilidades, mas mais do que isso, você precisa saber comunicar eu tenho certeza que você já conheceu algum desenvolvedor aí na sua carreira ao longo da sua carreira, que era muito bom tecnicamente, mas que não conseguia muito explicar ali, os júniors ali não entendiam muito, a galera ia começar a conversar com ele, a galera não conseguia entender então tem os desenvolvedores que eles deixam um pouco a desejar nessa habilidade Mas se você quiser crescer na sua carreira Eu super recomendo que você aprenda a se comunicar E a transferir conhecimento É esperado que um desenvolvedor sênior Ele consiga orientar os desenvolvedores menos experientes E também, com relação a Continuando aí no assunto de montagem De um time de composição De um time É esperado também que um desenvolvedor Ele consiga entrevistar pessoas, tá?
O que evitar na primeira semana
Então, por exemplo Eu estou trabalhando nessa empresa há quase um ano Então eu já participei, já entrevistei três pessoas, a gente faz uma rotação ali entre os desenvolvedores sênios da equipe, então toda vez que alguém quer entrar lá na empresa, no projeto que a gente está, a gente aloca dois desenvolvedores sênios para entrevistar essas pessoas e é esperado que você consiga ali conduzir a entrevista, você se comunicar bem com outro candidato, porque você está representando a empresa naquele momento, a pessoa está Esse é o primeiro contato técnico que a pessoa está tendo, então você precisa saber se comunicar de forma efetiva. E ao longo dessa entrevista você precisa também, por exemplo, tomar notas para entender se aquela pessoa de fato tem as habilidades necessárias para a vaga. Então tudo isso passa também por uma certa melhoria sua comportamental e como você se relaciona com outras pessoas técnicas também.
Seja alguém que está querendo entrar no time ou o ex-jogador menos experiente que precisa da sua orientação. Você deve ter reparado que eu estou meio desregulado aqui do YouTube com a minha produção de conteúdo. Dê o like nesse vídeo e deixa aqui nos comentários que tipos de vídeo como esse, que assuntos eu poderia trazer aqui para vocês, porque é uma forma de eu também me manter aqui, me comunicando com vocês e agregando valor, tá bom?
Na prática
Próximo passo para «cinco-habilidades-promocao-ultra-senior»: rode um experimento de 7 dias com uma métrica ligada a habilidades desenvolvedor ultra senior antes de escalar o padrão.