Como posso tornar confortável a vida de um novo contratado? [fechadas]

36

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.

Fanatic23
fonte
3
O que significa "razões herdadas"?
Job
9
@ Job: Significa que os arquitetos originais do código não acreditavam na documentação. Eles eram pessoas místicas.
Fanatic23
7
Eu diria que o seu novo contratado precisa de tempo e suporte e não de prazos imediatos! Eu fui o novo contratado em que os bugs precisavam ser corrigidos o mais rápido possível para o patch de um cliente, mas muitos deles estavam bastante envolvidos - eu precisava andar e conversar com literalmente 6 pessoas, produzindo respostas conflitantes. Alguém virou porque eu fiz muitas perguntas. Teria sido mais fácil se esse cara corrigisse o código ele mesmo. Eu precisava da disponibilidade de pessoas + sem prazos imediatos + de uma capacidade (tempo concedido) para melhorar as coisas à medida que avançava. Eu não os tinha, então quase desisti, mas decidi não experimentar :(
Job
@ Job: muito útil, obrigado. Nenhum prazo imediato é um bom começo, e uma mão livre para melhorar as coisas definitivamente melhoraria a confiança dos candidatos.
Fanatic23

Respostas:

31

Eles realmente se aplicam a qualquer novo contratado, sejam eles mais novos ou com uma vasta experiência no setor:

  1. Verifique se você é acessível. Se você estiver ocupado demais para ajudá-los a se familiarizar com o seu sistema, atribua um mentor a eles. Certifique-se de que o mentor seja gentil e disposto a fazer coisas como sair para almoçar com o novo contratado. O trabalho do mentor é responder a quaisquer perguntas que o novo contratado possa ter e fornecer uma ajuda quando necessário.
  2. Assegure-se de que todas as tarefas atribuídas a eles tenham o menor número possível de dependências. Não há nada que faça com que alguém novo em seu sistema (mais de 5 anos de experiência) se sinta sobrecarregado mais do que atribuir a eles uma tarefa com dependências espalhadas por todo o sistema (que eles também precisam aprender para concluir sua tarefa)
  3. Tenha alguma forma de lista de contatos / propriedade disponível em um site da intranet ou algo desse tipo. As pessoas novas (especialmente as mais novas) costumam questionar "quem eu pergunto sobre o xsubsistema?". 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.
  4. Obtenha documentação . Imponha padrões de codificação que incluem comentários que podem ser analisados ​​com um utilitário como o Doxygen. No mínimo, isso fornecerá novas contratações com a capacidade de navegar pela sua API. Se você usar um IDE como o Netbeans, o uso do formato de comentários Javadoc fornecerá documentação junto com o preenchimento de código. Inestimável ao aprender um novo sistema.
  5. Tenha algumas das boas-vindas reunião / almoço / trote / etc. Colocar alguém em sua mesa sem algumas cortesias pessoais básicas pode deixá-lo se sentindo um pouco distante da equipe.
Demian Brecht
fonte
1
Obrigado, mas e se um novo contratado for muito difícil de entender as coisas e tentar não aceitar sua culpa, mesmo nós os ensinarmos a um nível máximo - estou enfrentando uma situação em que um novo contratado não é bom e estou lidando com suas tarefas também em desenvolvimento - thank u mais uma vez
Naveen Kumar
2
@naveen: Existe uma coisa ruim como contratar. Se eles não estiverem dispostos (ou incapazes) a aprender ou assumir a responsabilidade por suas tarefas, eu conversaria com o gerente e deixaria em suas mãos - eles conversarão com o novo contratado para ver se podem ajude mais e talvez (esperamos) colocá-los nos trilhos, ou o novo contratado pode achar que prefere buscar outros interesses fora da sua empresa.
Demian Brecht
10

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.

David Anderson
fonte
Obrigado por compartilhar sua história. Eu entendo o que é estar lá para um candidato júnior, estar lá em algum momento.
Fanatic23
Muito bem, Tom Anderson. Boa história.
Gary Rowe
Tom Anderson - David Anderson. Coincidência ou você está relacionado ao Tom?
zeroef 18/10/11
Estranho o suficiente, coincidência.
David Anderson
4

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á.

Steven Evers
fonte
Muita orientação leva a um funcionário que precisa de uma babá a maior parte do tempo e pergunta qualquer coisa, realmente qualquer coisa, em vez de ler o código etc. Eu recomendaria apenas para os juniores.
Falcon
1
@Falcon: eu não vi isso acontecer na prática, mas talvez eu possa esclarecer que o mentor é mais uma pessoa cuja função está bem definida para o novo contratado como alguém que deve manter a alta disponibilidade do novo contratado para responder a perguntas ou direcione o novo contratado para qualquer informação que eles precisem. Mais uma vez, um pouco impróprio, mas não consigo pensar em um nome melhor para o papel.
Steven Evers
1
Falcon @: eu discordo (sobre recomendá-lo apenas para juniores). As pessoas com experiência melhoram sozinhas (ok, para que a maioria possa ), ou fica mais fácil com a orientação? Há sempre alguém melhor do que você, alguém que está há mais tempo e alguém que você pode aprender, para ajudá-lo a chegar ao próximo passo em sua carreira, se você é uma nova contratação ou CTO.
Demian Brecht #
1

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.

Gavin Coates
fonte
1

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.

Niklas H
fonte
1

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.

Codificador
fonte
0

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.

NoChance
fonte