Formando desenvolvedores de alta performance

Posted on Apr 15, 2019

Newsletter about software engineering, team management, team building, books and lots of notes I take after reading/studying (mine or yours)… :D

Transformando desenvolvedores junior em desenvolvedor de alta performance

Estou a mais de 1 ano treinando para meu primeiro triathlon (IRONMAN 70.3) e nos últimos 7 meses treinando com time de alta performance que faz triathlon profissionalmente a muitos anos. O ano de 2018 foi um ano de muito aprendizado em uma área que nunca imaginei que entraria, para contextualizar segue o conteúdo abaixo:

Novos atletas no time

Quando recebi o convite para fazer parte do time de alta performance (aka senior) eu me vi alguns anos atras entrando no mercado de trabalho como desenvolvedor junior e com muita sede de aprender. Infelizmente não foi tão fácil, eu já vinha treinando por conta propria a alguns meses para o Triathlon (que até então não tinha data), com isso trouxe alguns vícios (por sinal muito errado) para o meu dia a dia de treino com atletas profissionais, venho aprendendo a cada dia que passa a respeitar meus limites, me conhecendo e buscando um pouco mais a cada dia. Nos primeiros dias de treino junto com o time tentei entender ao máximo cada momento do treino, mas era difícil fazer as perguntas certas na hora certa, era tudo muito novo e diferente do que eu estava acostumado treinar, com o passar dos dias eu comecei conseguir fazer algumas perguntas, pois consegui organizar o fluxo de ideias e as dúvidas ficaram mais claras.

Nesse time que faço parte é extremamente comum entrar “novos membros”, com isso eles tem um processo de onboard bem definido e claro por todos os membros, assim não dependendo só de um membro (o personal training por exemplo) para explicar o que deve ser feito e onde estou errando (julgo o mais importante), assim deixando o feedback em um tempo extremamente curto evitando ao máximo lesões. Como estamos lidando com parte muscular do corpo de uma pessoa que tem que se levar ao limite, qual quer erro não corrigido corretamente trará uma lesão muscular, que em muitos casos levam algumas semanas para se recuperar. Quando acontece lesões em um membro todos os atletas irão “pagar” por esse erro, tendo que diminuir o ritmo para o atleta lesionado se recuperar e conseguir acompanhar novamente o treino. Todos os atletas do time tem objetivos claros e não quer ter impedimento para alcançar seus objetivos, por esse motivo todos os membros se ajuda e corrige uns aos outros.

Deixa eu resumir isso tudo:

  • Objetivo claro - alta performance em que?
  • Disciplina: fazer todos os dias (ser constante), mesmo quando não queremos
    • não precisa acelerar, basta não parar
  • Pensamento a longo prazo: os grandes saltos vêm vivendo o presente pensando em colher no futuro

Ninguém segura uma pessoa com foco e motivada

Passe bom: Te leva a meta
Passe certo: Te leva a e alavanca para aproxima meta

busque fazer passe certo

Cruzando paralelo com time de desenvolvimento de software

Após entender o processo de onboard de novos atletas comecei refletir sobre o onboard de novos membros júniores na área de desenvolvimento, me surgindo alguns questionamentos:

  • Porque não colocamos os novos desenvolvedores júnior junto com desenvolvedores sênior?
  • Quais tarefas passamos para os desenvolvedores júnior quando ele começa?
  • Porque não colocamos eles junto em um time que está em todo vapor e sincronizado?
  • Como, porque ... diversas perguntas me veio átona

Em meus projetos e empresas eu não colocava desenvolvedores júnior em time que estava entregando achando que ele iria ficar extremamente perdido e coagido por está lidando com desenvolvedores mais experientes onde está com tempo para entregar.

Analisando agora acho que sempre fiz errado. Se queremos que uma pessoa ganhe skill sem ter que quebrar muito a cabeça (conhecido como “auto de data”), basta colocar essa pessoa para interagir com quem domina o assunto em questão, as pessoas mais experientes ajudará você cortar um enorme caminho. Principalmente em desenvolvimento de software que não é uma ciência exata e experiência conta muito, experiência não é uma coisa que consigamos tirar da cabeça da pessoa X e colocar na pessoa Y, mais podemos diminuir essa barreira quando ambos estão interagindo no dia a dia.

Não basta colocar o desenvolvedor júnior em time que tenha mais experiencia, precisamos ter um processo de onboard bem definido e com todos os membros do time alinhado com o proposito a ser alcançado com novos membros ingressando ao time.

comments powered by Disqus