Somos uma equipe de 3 desenvolvedores (2 desenvolvedores experientes e um júnior).
Acabamos de iniciar um novo projeto. Projetamos o aplicativo, concentramos esforços na escolha da arquitetura certa e agora estamos lançando as primeiras linhas de código. Estamos escrevendo o núcleo, qual será a base de todo o aplicativo.
Também não é uma aplicação fácil. Requisitos de alto desempenho, modelo de entidade complexo, massivamente distribuído etc.
Estamos todos fora da nossa zona de conforto, especialmente os juniores. Ele não tem experiência para criar um bom design antecipadamente. Isso não é um problema, porque eu e o outro desenvolvedor estamos lá para ajudar e nós dois acreditamos em orientação e formação de equipes, mas ... não sabemos exatamente qual seria a melhor maneira de fazer isso, para que ele uma experiência agradável e aprende a quantidade máxima de habilidades.
Nós dois percebemos que não tínhamos um júnior em novos projetos, apenas em projetos existentes, onde era mais fácil para o júnior, porque ele tinha uma base de código inteira para aprender e inspirar. Mas para este aplicativo, quase não temos código. Nós apenas começamos.
Estávamos pensando em algumas abordagens:
- peça para ele tentar sozinho por alguns dias, depois intervir e refatorar o código junto com ele, conduzi-lo na direção certa e depois repetir => Pode não ser uma experiência divertida para ele, pois apontaremos seus erros em todos os refatores ;
- faça com que ele pare de programar com um de nós => ele pode se tornar apenas um "espectador" e concordar com tudo o que fazemos, sem realmente aprender muito ou digerir muita informação;
- faça-nos construir o esqueleto de cada módulo, com um design sólido e, em seguida, dê-lhe o módulo para adicionar as peças que faltam => pode não ser divertido pegar depois de nós e existe o risco de ele prestar atenção apenas para preencher as lacunas e não para todo o design.
Como podemos envolvê-lo no design para que ele não se sinta deixado de fora dele e para que ele aprenda muito com a experiência e ganhe confiança suficiente para experimentá-lo por conta própria?