Começar como desenvolvedor de software pode ser difícil, como especialistas, nosso trabalho é criar um ambiente acolhedor que faça nossos juniores se apaixonarem por nossa área.
O desenvolvimento de software não é um campo fácil. É fantástico, intrigante, envolvente e, às vezes, opressor e exigente. Mergulhar os pés no campo é o suficiente para nos sentirmos ansiosos e, às vezes, perdidos. E conseguir seu primeiro show é ao mesmo tempo emocionante e indutor de pânico.
Além de saber codificar, todo desenvolvedor precisa conhecer o básico de gerenciamento de projetos, ter habilidade de comunicação para apresentar informações de forma assertiva, bem como entender o que lhe é pedido, e ter resiliência para trabalhar sob pressão.
É uma pena que tantos jovens talentos com ideias incríveis saiam de campo, decepcionados com a primeira experiência. Em alguns casos, é de se esperar que a ideia do que é desenvolvimento de software não esteja alinhada com a realidade do negócio.
Mas noutros casos, é porque tiveram azar, os maus gestores e a falta de orientação podem prejudicar até os talentos mais optimistas, afastando-os deste mundo maravilhoso onde a criatividade se encontra com a resolução de problemas.
O que não fazer na mentoria
Não os deixe sozinhos
Só porque alguém fez um excelente trabalho em uma entrevista de codificação não significa que seja capaz de realizar um projeto por conta própria. A questão é: quanto tempo dedicamos para treinar e ajudar um desenvolvedor júnior?
Tempo suficiente, obviamente, mas o que isso significa? depende do desenvolvedor, alguns juniores aproveitam a oportunidade de serem independentes e só precisam de ajuda quando estão presos. Outros exigem mais supervisão e exames constantes.
O problema surge quando o supervisor presume que tudo está indo bem porque o júnior não está fazendo perguntas. Embora isso possa ser o caso, também pode ser que o desenvolvedor tenha medo de ser repreendido por fazer muitas perguntas ou não saiba se pode perguntar.
Pergunte-lhes como estão, pergunte se estão tendo dificuldades com alguma coisa e diga-lhes que não há problema em procurar ajuda e que você está lá para fornecer qualquer apoio que possam precisar.
Não seja um helicóptero
A frustração é uma emoção muito poderosa, um pouco de frustração pode motivar as pessoas a continuar. Qualquer pessoa que já perdeu um jogo e disse “só mais uma vez” pode atestar isso. Por outro lado, muita frustração é prejudicial; pode levar à paralisia, ao estresse e ao abandono total.
Alguns mentores sentem necessidade de supervisionar tudo, chegando até a resolver problemas sozinhos, na esperança de que o júnior aprenda indiretamente. E isso é ótimo. Sentir-se apoiado é importante para quem está apenas começando.
Mas o desafio é importante porque ajuda o desenvolvedor júnior a pensar fora da caixa, a se questionar e a buscar respostas, habilidades que o ajudarão no caminho.
Demorei um pouco para entender que é importante resistir ao impulso de ajudar as pessoas imediatamente. Às vezes você tem que deixar as coisas acontecerem, mesmo que isso signifique esperar um pouco mais.
Contanto que o júnior esteja motivado, procurando respostas e experimentando novas soluções, você pode deixá-lo em paz ou fornecer um feedback rápido. Por outro lado, quando você os vê frustrados, perdidos ou paralisados, é aí que você definitivamente deve ajudar.
Não dê a resposta
As perguntas são oportunidades de aprendizagem, seja para adquirir novos conhecimentos ou para desenvolver habilidades de resolução de problemas. Algumas perguntas, como “qual é a função de X ou Y?” são simples. Você aprende algo ou se lembra de algo.
Outras perguntas como “Não tenho certeza de qual algoritmo seria o melhor” são ótimas oportunidades para ajudar nosso desenvolvedor júnior a crescer. Em vez de dar uma resposta direta, reserve alguns minutos para explorar o processo de pensamento deles, fazendo as perguntas certas.
O que você quer alcançar? Por que você está fazendo isso assim? Que alternativas você considerou? Use essas perguntas para facilitar a metacognição (pensar sobre o pensamento). À medida que o desenvolvedor júnior elabora as respostas, ele revê seu processo de pensamento, o que, por sua vez, promove o pensamento alternativo.
Ou seja, às vezes eles já sabem a resposta, mas por inexperiência ou ansiedade ficam presos. Quanto mais você os envolve com esse tipo de pergunta, mais você os ajuda a desenvolver habilidades cognitivas que os ajudarão a encontrar respostas. Alguns de vocês já devem fazer algo semelhante chamado método de esquiva de borracha.
O que fazer na mentoria
Ensine-lhes o básico
Nem é preciso dizer que todo ambiente de trabalho bem-sucedido desenvolve uma cultura com certas regras e tradições. Identifique-os, anote-os e relacione-os ao desenvolvedor júnior.
Por exemplo, equipes diferentes podem ter opiniões diferentes sobre como comentar o código. Uma equipe tradicional tem uma dinâmica muito diferente de uma equipe DevOps. Você pode usar uma certa gíria que pode confundir quem está de fora. Quanto mais você se concentrar em ensinar-lhes essas idiossincrasias, mais rápido eles conseguirão trabalhar com o grupo.
Dê apoio
Além do conhecimento técnico, os mentores estão lá para fornecer apoio emocional e orientação aos desenvolvedores juniores. Você não é terapeuta ou coach, mas provavelmente já se sentiu frustrado, estressado e preocupado, e isso é o suficiente para entender como um novo desenvolvedor pode estar se sentindo.
Nada pode prepará-lo para seu primeiro emprego em desenvolvimento de software. Não importa o quanto você leia sobre prazos, isso não é nada comparado a realmente ter que cumprir um. Algumas experiências você tem que viver em primeira mão.
Já vi jovens desenvolvedores ansiosos demais, trabalhando o dia todo e queimando como uma vela acesa com um lança-chamas. Já vi desenvolvedores ficarem isolados e amargurados devido à falta de comunicação. Já vi pessoas deixando o estresse tomar conta delas e explodir ao menor problema.
A inteligência emocional é extremamente importante neste tipo de ambiente e podemos ajudar outras pessoas a desenvolver as competências necessárias para lidar com as exigências do nosso trabalho.
Ouça-os
Pode ser fácil rejeitar a opinião de um desenvolvedor júnior porque ele não tem experiência ou porque não vê o panorama geral. Mas, honestamente, você pode estar perdendo alguns insights muito importantes.
Lembre-se de que os juniores estão entrando em um projeto do zero, com muito pouca experiência real. Isso significa que não aprenderam boas práticas, mas também significa que também não adquiriram más práticas.
Eles podem apenas conseguir ver algo que nós, como pessoas dentro do projeto, não conseguimos ver. Ou talvez não, mas em vez de encerrar a ideia, explore com eles por que ela não é viável.
Seja qual for o caso, você os está ensinando que é seguro expressar suas opiniões e que eles têm valor como membros da equipe. Eles não estão aqui apenas para serem macacos de código, suas opiniões e percepções são importantes.
Por que contratar desenvolvedores juniores
Não só são desenvolvedores juniores eficientes em termos de custos, mas também são pessoas com grande potencial de crescimento. Para projetos de longo prazo, isso significa que você poderá vê-los crescer junto com você, especializando-se nas áreas mais necessárias para seus processos.
Os desenvolvedores juniores que crescem junto com o seu projeto são muito leais e comprometidos tanto com o produto final quanto com o seu negócio.
Fonte: BairesDev