Sei que vocês já ouviram muitos relatos sobre como passar logo de jr pra pleno, etc etc
Hoje vim falar algo diferente: quais tem sido as coisas que eu tive feedbacks mais legais, como jr. Ou seja, vou falar do que eu "achava" que era legal fazer versus o que realmente agregou.
Essa é uma série de artigos feitos com base em threads que fiz no finado Twitter, que tiveram engajamento legal. Essa de hoje é sobre os hábitos que fizeram diferença muito positiva na minha carreira.
Esse conteúdo é de 2022 mas, continuo entendendo que tudo é relevante e ainda aproveito os benefícios dos hábitos de revisar PRs, começar a investigar problemas mesmo sem conseguir resolve-los e o pair programming. Vamos lá:
1 - Revisar PRs.
Eu não tinha uma relação séria com revisão de PRs em experiencias anteriores. Sempre ouvia um "aprova ai pra mim rapidão". Ou seja, não lia. Depois disso, fui trabalhar numa equipe de 3 pessoas que nós mesmos que fazíamos as aprovações, sem nenhuma revisão.
Quando mudei de emprego, no primeiro mês, não olhei PR nenhuma porque eu pensava "todo mundo aqui tem um nível técnico muito alto, não tenho nem o que acrescentar". Depois, fui percebendo como eram todas pessoas extremamente acessíveis e que davam muito valor para qualidade de código.
Disso, comecei a revisar PRs sempre que tinha um tempinho. Era comum que, numa mesma semana revisasse 4 PRs. O que eu não entendia, perguntava para a galera. Mesmo que na época eu não fosse nem de longe tão experiente quanto eles ( e eu amo estar em lugares com tanta gente boa), conseguia contribuir com melhorias.
Então, uma lição importante que eu tive de ser uma boa jr é não querer esperar eu ser especialista para perguntar ou sugerir algo que eu acredito que pode melhorar um codigo, mesmo que seja uma coisa pequena. E mais importante: nao ter medo de falar "não sei isso, pode explicar?".
Quando ingressamos na área mais velhas (eu entrei com 26, enquanto outros juniors que trabalhavam comigo tinham 18) é comum ficar desconfortável de ver gente mais nova ou da nossa idade que já é senior. Mas olha, não ligue pra isso. Sei que não é fácil mas foque em ser uma boa jr antes de querer ser pleno ou senior, não queira pular etapas.
2 - Trabalhar em problemas que você não sabe resolver, com supervisão
Meu primeiro tech lead me dava uns problemas que eu não sabia resolver. Eu desesperava e achava toda semana que seria demitida. Ai eu queria resolver aquilo a todo custo - e sempre sozinha.
Pra mim, fazer sozinha mostrava que eu sabia e que, quanto mais coisas sozinhas eu soubesse fazer, mais rapido eu seria PL. Pois bem, eu passava dias quieta, tentando resolver algo sozinha.
Quando o meu tech lead me perguntava se eu ja tinha feito, ai eu quase chorava pra falar que não e que estava com dificuldades.
Isso ajudou ZERO no meu desenvolvimento e só ajudava a duvidar mais e mais da minha capacidade.
O que ele me falava: "não passei pra voce RESOLVER, passei pra voce começar a investigar".
Eu demorei pra entender isso, viu...
Depois dessa fala dele, eu aprendi que a ideia de alguem passar um problema complexo pra você, como Junior, não é voce mostrar que é uma inteligência acima da média e resolver tudo sozinha.
Esse exercicio é pra você começar a pensar por onde pode resolver e FALAR para a pessoa o que já testou e quais os resultados resultado. Assim, a outra pessoa mais experiente já pega o problema esmiuçado.
3 - Fazer Pair Programming
Sei que é uma situação desconfortável ter alguém observando você enquanto escreve seu código, porque vai acabar esquecendo as coisas, parecendo que não sabe nada e até tendo problemas para se concentrar mas, o pair programming é uma das coisas que mais vai te ajudar a progredir tecnicamente em confiança e qualidade de código, se feito com alguém mais experiente e que preza boas práticas.
A pessoa que tá atuando como junior ganha aprendendo a analisar as coisas e, cada vez mais, conseguindo avançar nas soluções. Importante: eu também aprendi a melhorar minha comunicação para explicar de forma pragmática o que eu já tinha feito e a linha de pensamento que estava seguindo.
PARA PAIR PROGRAMMING, ISSO FOI UM DIVISOR DE ÁGUAS. Sério.
Isso de ir fazendo e explicando sua linha de raciocinio, na minha experiencia e opinião, foi uma das coisas mais importantes. Eu sinto que de fato eu estou aproveitando a pessoa que está trabalhando no problema comigo e que estou aprendendo.
O impacto a longo prazo
Quando você estiver em cargos de pleno ou senior, analisar bem as PRs, se acostumar a trabalhar em problemas que não sabe resolver e saber fazer pair programming já devem ser no minimo atividades instintivas porque vamos usa-la para o resto da nossa vida util na profissão. Por isso, galera junior, procurem desenvolver esses pontos porque,dessa forma, conseguimos aprender qualquer coisa.
Acredito que qualquer pessoa vai ter dificuldade para aprender coisas novas, ainda mais quando começam numa área que não tem nenhuma familiaridade. O começo é sempre difícil e parece que nunca vamos conseguir superar algumas dificuldades.
Na minha experiência, a forma de lidar foi buscando praticar os meus pontos fracos sem me importar quanto tempo isso fosse levar. Ler é super importante mas eu só absorvi ( e não esqueci mais) quando peguei as coisas na prática.
E analisar PRs ( de verdade e com vontade) somada a isso de começar a resolver problemas complexos e fazer pair sao medidas simples e acessíveis, que vão fazer a diferença MESMO.
Top comments (5)
Eu ainda não tive minha primeira experiência como júnior, mas, enquanto isso não acontece, faço algo parecido em relação à análise de PRs. Costumo analisar o código de outras pessoas e tentar entender por que a pessoa fez o código daquela maneira. Olhando suas dicas, parece que estou no caminho certo!
:D
Tive a sorte de ter ótimos colegas que me ensinaram MUITO em pair programmings, tanto de maior senioridade quanto 'no mesmo nível'. Isso muda tudo!! Ter aquela supervisão do tipo "tente resolver sozinho, mas estou aqui caso não consiga" também era legal, dava uma segurança maior até eventualmente não precisar mais da supervisão e ajuda
Ótimo artigo, Jess. Me identifiquei bastante com o segundo tópico pois já recebi task e demorava a pedir ajuda porque achava que tinha que resolver sozinha e que atrapalharia os mais seniores do time se eles parassem para me explicar, além da sensação que se não resolvesse seria demitida. Hoje já consigo trabalhar isso e quando vejo que já estou travada há um tempo, não penso 2x em pedir ajuda
concordo mto, ler código é a melhor coisa que podemos fazer quando estamos no início da carreira, pelo que a revisão de PR favorece isso.
Conteúdo muito bom, Jess! Mesmo atuando como QA consegui pegar alguns insights que com certeza vão se aplicar no meu dia a dia. Valeu demais por ter (re)compartilhado! =D