Como você introduz a base de código, que pode ser bastante complexa e confusa com muitas "dicas" para um novo membro da sua equipe?
Eu acho que a maneira mais fácil seria ter a arquitetura geral definida com diagramas e levar algumas semanas (ou meses) dando à nova pessoa tarefas bem definidas (e com escopo bem definido) à medida que ela se acostumar com o código.
No entanto, como consultor (e funcionário júnior), nem sempre posso ter isso devido a restrições de tempo ou a designações de funções de equipe. (Eu estive nesse projeto em particular duas vezes mais do que qualquer outra pessoa, de modo que "junior" não é de forma alguma "sabe menos sobre o código / projeto".)
Fui encarregado algumas vezes agora de apresentar um novo membro ao projeto e ao código e, infelizmente, toda vez que percebo que não sou muito melhor nisso do que o anterior. Adoro diagramas e imagens, mas muitas vezes sinto que eles não respondem adequadamente à complexidade de um sistema. (E todas as "pegadinhas" dos pequenos?)
O projeto está chegando a um ponto em que vamos entregá-lo ao cliente e, para tornar as coisas mais desafiadoras, a pessoa com quem vou fazer uma transferência de conhecimento está praticamente fora da faculdade. (Não que eu seja muito melhor ao fazer transferências de conhecimento com desenvolvedores seniores.)
Eu participo de um grupo de usuários uma vez por mês e de outras oportunidades à medida que surgem, por isso não estou acostumado a ser apresentado a novos tópicos, mas sinto minha capacidade de replicar um compartilhamento de conhecimento eficaz lamentavelmente inadequado.
Qualquer conselho seria muito apreciado. Estou procurando principalmente uma orientação que possa seguir. Por exemplo: por onde você começa? Como você prossegue? Como você cobre tecnologias ou padrões desconhecidos da parte do ouvinte sem precisar tirar o dia todo? Onde você vincula a lógica de negócios à estrutura de código?
Obrigado!
(Como sempre, fique à vontade para editar a pergunta como achar melhor.)
# TODO: fix this ugly hack