Como membro sênior de uma equipe de software que, infelizmente, possui pouca documentação por motivos herdados, quais são as coisas que você pode fazer para tornar confortável uma nova contratação?
Estou planejando sessões de depuração com a pessoa em defeitos específicos / solicitações de recursos para familiarizá-la com a base de código. No entanto, a base de código é muito grande e é apenas uma quantidade fixa de código à qual posso expor a pessoa dessa maneira.
Estou procurando sugestões nos dois casos em que o novo contratado é recém-formado ou um profissional experiente.
teamwork
knowledge-transfer
Fanatic23
fonte
fonte
Respostas:
Eles realmente se aplicam a qualquer novo contratado, sejam eles mais novos ou com uma vasta experiência no setor:
x
subsistema?". Se houver uma lista fornecida para eles, eles estarão muito mais dispostos a enviar um e-mail ou conversar diretamente com eles sem precisar passar por uma cadeia de pessoas para encontrar o caminho certo.fonte
Eu acho que posso realmente ajudá-lo com este. Quando eu tinha 18 anos, meu primeiro emprego foi Jr. .Net Developer. Eles tinham uma estrutura muito grande e ele me levou a aprender um curso intensivo sobre o CAB, e quando o primeiro projeto chegou, eu esperava estimar o projeto e aprender o SqlServer e sua estrutura. O que fez disso uma experiência maravilhosa foi que meu desenvolvedor sênior estava lá para mim durante todo o processo, desde estimativas até o SqlServer e sua estrutura. Aprendi o que precisava aprender em tempo hábil porque pude usá-lo como um recurso para perguntas e ajuda. Veja bem, isso também foi feito enquanto eu estava no Colorado e ele na Califórnia. (Desenvolvimento remoto). Ele me mandou ler white papers no CAB, me indicou bons recursos etc., então não é como se ele tivesse que fazer todo o ensino, mas quando se tratava de perguntas, ele estava lá. Bottom line, você precisa de alguém para ser o suporte para seus desenvolvedores Jr.. Especialmente se você quiser que eles aprendam e cresçam com a empresa e tenham um bom relacionamento de trabalho. Eles queriam que eu me mudasse para a Califórnia porque estavam satisfeitos com a taxa em que eu era capaz de aprender e progredir e com meu trabalho, infelizmente não consegui fazer a mudança devido ao custo / etc.
Essa experiência também estabeleceu uma característica em mim também. Agora, estou desenvolvendo software por conta própria com sucesso para empresas e fundações na minha cidade local e ainda tenho apenas 21 anos de idade. Foi o melhor primeiro emprego e sou extremamente grato a Tom Anderson na RenEvo Software & Designs (que foi meu desenvolvedor sênior). Um mentor incrível.
fonte
A empresa com a qual estou agora, IMO, faz o certo para novas contratações. Aqui estão algumas das coisas que eu vi serem eficazes.
Mentores
Talvez um pouco inadequado, porque alguns desenvolvedores experientes podem achar que não precisam de um, mas temos uma pessoa designada para ser seu mentor. Essa pessoa deve estar disponível para responder a qualquer pergunta que você possa ter. Funciona melhor se eles se sentarem perto do novo contratado. O ponto principal de um mentor é que novos contratados, especialmente os juniores, se sintam confortáveis o suficiente para não cair na armadilha de não fazer perguntas suficientes .
Documentação
Você já mencionou, mas a documentação pode ajudar. Temos um documento em nosso wiki aqui que descreve basicamente suas duas primeiras semanas de trabalho. No momento em que você termina suas duas primeiras semanas de aceleração, você se envolve em um ritmo, consegue a posição da terra e fica confortável trabalhando lá.
fonte
Paciência
Ingressar em uma nova empresa pode ser bastante assustador, especialmente se você tiver um novo produto para aprender e usar ferramentas diferentes para o que está acostumado. Dê a eles tempo para se estabelecerem no novo ambiente e se atualizarem. Atribua tarefas a eles, mas lembre-se de que elas levarão muito mais tempo do que um programador experiente normal.
Apoio, suporte
Você não precisa necessariamente atribuir um mentor dedicado a eles, mas verifique se há muitas pessoas por perto que podem oferecer ajuda quando necessário.
Todo mundo tem maneiras diferentes de aprender, alguns podem achar que precisam de um mentor, outros podem achar que um mentor os atrasa. Não existe uma solução única para todas as soluções; portanto, deixe-as encontrar seu terreno e apoiá-las, e seja paciente enquanto aprendem as cordas.
fonte
Comecei em um novo emprego há 4 meses e realmente acho que meu novo local de trabalho fez um trabalho muito bom nessas novas contratações.
Um amigo
Eles possuem o chamado "programa de amigos", no qual os desenvolvedores podem se inscrever para serem amigos / mentores de novos funcionários. Quando um novo desenvolvedor é contratado, um desenvolvedor da mesma equipe (que se inscreveu para ser um amigo) é apontado como o amigo / mentor do novo cara. É sua responsabilidade colocar o novo cara em funcionamento, ajudá-lo com os problemas que ele encontrará, ir almoçar com ele, apresentá-lo à equipe e assim por diante.
B. Baixa dependência
Isso também foi mencionado anteriormente, mas comece com atribuições que não são críticas e muito difíceis de executar, sem o conhecimento completo da base de código. Não há nada pior do que ser lançado em uma base de código que você não conhece e precisa executar a partir do dia 1. Se possível, faça tarefas que sejam relativamente fáceis e abranjam todo o sistema. Dessa forma, ele obterá algum conhecimento do sistema.
Você provavelmente tem pequenas tarefas que não teve tempo de fazer quando escreveu o código pela primeira vez. Dê essas tarefas para ele.
C. Treinamentos de novos contratados
Provavelmente isso é luxo para a maioria, mas trabalho em uma grande corporação que pode se dar ao luxo de fazer isso. Todo mês ou a cada dois meses, aproximadamente, algum tipo de treinamento para novos contratados é organizado. É basicamente uma série de apresentações, com o objetivo de fornecer aos recém-contratados algum tipo de conhecimento sobre o sistema, como os testes são feitos, como funciona o rastreamento de erros e assim por diante.
Onde eu trabalho, existem muitas equipes diferentes, trabalhando em tarefas completamente diferentes, mas no mesmo software. Um membro de cada equipe é designado para fazer uma apresentação por parte do software, onde eles dão uma introdução ao que essa parte faz, como funciona e assim por diante. Além disso, existem treinamentos sobre testes (estou trabalhando como testador) sobre como os testes são escritos, como são executados, como são verificados na base de código e assim por diante.
Para resumir, seja gentil com os recém-contratados e não espere um trabalho sério deles no primeiro mês ou mais. Dê a eles ferramentas para obter ajuda e, se possível, faça algumas apresentações ou vídeos.
fonte
Faça um esboço rápido em um pedaço de papel. Blocos funcionais e dados viajam entre eles. Para que o novo contratado possa manter essa lista à mão, procure onde ele está tentando tocar e quais módulos a afetam hierarquicamente.
Tudo o resto vem com o tempo. Mas é o quadro geral que faz você se sentir burro quando precisa alterar duas linhas de código, mas não tem idéia do que efeitos colaterais podem causar em módulos dependentes, blocos de código etc.
fonte
Além do que foi dito anteriormente, identifique as necessidades de treinamento e as forneça, fornecendo tempo, material, aulas internas, livros etc. As chances de que nem todos sabem tudo são grandes. Faça com que ele saiba que está tudo bem.
Mantenha-o longe de pessoas 'más'. Geralmente, há pelo menos uma pessoa arrogante em todas as organizações (essa é minha lei :))
Se você designar um mentor, verifique se o mentor sabe que o trabalho do mentor é ajudar e que não está fora de seu bom coração. Reserve um tempo na agenda do mentor para isso.
Acompanhe o progresso dele no primeiro mês, aproximadamente, deduza os problemas dele, se puder.
fonte