Os programadores seniores devem assumir e orientar um desenvolvedor júnior? [fechadas]


25

Em uma loja que se destina a ser unida e solidária, deve ser parte da cultura que os desenvolvedores seniores são emparelhados com desenvolvedores juniores como mentores? Ou essa orientação deve ser algo mais orgânico e espontâneo, isto é, não é necessário, mas pode se desenvolver sem incentivo artificial?


12
Mandatos não funcionam; de fato, eles costumam ter o efeito oposto. Al Capone foi criado pela legislatura do governo. Alguns alemães orientais que tiveram que estudar russo por 4 anos se orgulharam de não serem capazes de dizer uma única frase nesse idioma. O mesmo pode acontecer se você ordenar o ensino da evolução ou se o mentor sênior for o júnior.
Job

3
Tem que ser orgânico para valer qualquer coisa, mas ainda pode ser forçado de certa maneira, decidindo quem está lá em primeiro lugar. Qualquer pessoa que não esteja trabalhando em estreita colaboração com outros desenvolvedores, seja júnior ou sênior, não vale muito. Deve haver uma conversa contínua entre sua equipe e todos devem aprender e ensinar. É uma boa razão para começar as pessoas como contratadas ou como funcionários provisórios para ver se elas se adaptam adequadamente.
Peter DeWeese

@Job Você já se perguntou que um desenvolvedor pode acabar fazendo a mesma porcaria a vida inteira [exagero inofensivo] se ele não orientar um júnior a fazer o seu trabalho [eu quero dizer comum ... ele não vai mentorá-la no campo da física]?
Chani

Respostas:


37

Eu acho que deveria ser encorajado, mas não obrigatório; os idosos não devem ser designados para juniores ou algo parecido; caso contrário, você acabará na terra de Dilbert. O relacionamento "mentor-mentorado" requer algum nível de amizade em sua essência, além de uma dose saudável de respeito MÚTUA. Você não entende isso apenas dizendo às pessoas para sair e "mentir".


3
Como você incentiva isso, então? Como você pode garantir que os idosos e os juniores saibam que não há problema em dedicar tempo ao trabalho de mentor / mentor?
Richard

3
Se você incentiva um modelo de programação em pares, esse tipo de relacionamento simplesmente desaparece se você encoraja os juniores e os idosos a fazerem pares. Além disso, fomente amizades por toda a equipe; exercícios de formação de equipes, passeios e outras interações não relacionadas ao trabalho.
Keiths

Essa parece ser uma boa maneira de promover amizades, que naturalmente devem levar à orientação.
Richard

Concordo plenamente, Mentorship no seu melhor dá de volta para o mentor quanto para o estudante, então abertas, conversas "de nível de olho" são um pré-requisito
Asaf

21

deve ser parte da cultura que os desenvolvedores seniores estão emparelhados com os desenvolvedores juniores como mentores?

Sim.

orgânico e espontâneo, ou seja, não é obrigatório, mas pode se desenvolver sem incentivo artificial

Isso não vai acontecer com frequência suficiente para realmente ajudar alguém.

Pessoas com relacionamentos existentes nas organizações serão vistas como panelinhas ou elitistas por novas pessoas. As panelinhas normalmente não se decompõem. Ficamos com pessoas que conhecemos - é um elemento essencial da natureza humana.

Como consultor há mais de 30 anos (centenas de compromissos com clientes), posso afirmar que novas pessoas são sempre externas. Não é uma característica da "cultura" ou "atmosfera". É uma característica essencial de como as pessoas trabalham. Os consultores formam sua própria camarilha porque a equipe estabelecida não costuma incluí-los em nada.

A única maneira de estabelecer orientação é inserir novas pessoas nas panelinhas.


@ David Thornley e S.Lott: Você pode compartilhar o que viu em suas experiências? Anedotas? Estou recebendo respostas realmente confusas aqui!
Richard

@ Richard DesLonde: Eu quase nunca vi mentorias espontaneamente se formarem, embora eu possa não ser a melhor pessoa para perguntar (estou um pouco no lado social de um desenvolvedor de software). A única vez que vi isso acontecer em uma escala significativa foi quando a gerência pediu pessoas interessadas em ser mentoras e mentoradas e sugeriu pares.
David Thornley

1
@ Richard DesLonde: "Estou recebendo respostas realmente contraditórias"? O que você esperava? É uma pergunta subjetiva sobre "socialização". Não há resposta certa. Se houvesse, já estaríamos fazendo isso.
S.Lott

Isso é o que eu esperava. Mas você e David estão chegando do outro lado do que a maioria das outras respostas, então eu queria que você entrasse um pouco mais para equilibrar as respostas. Quero o máximo de informações de ambos os lados. Obrigado! :-)
richard

8

O significado tradicional de "mentor" desafia um pouco as atribuições. Você também pode tentar atribuir amigos.

É bom, na minha experiência, designar um novo membro da equipe para usar um membro da equipe estabelecido como contato principal para perguntas durante a primeira semana, mês ou mais.


1
Como você incentivaria a orientação? Você quer que os juniores se sintam confortáveis ​​em ser orientados e que os seniores se sintam confortáveis ​​em orientar.
Richard

1
@ Richard: Como mentor desenvolvedor sênior é uma tarefa primária. Você não se torna mais velho envelhecendo e deixando a barba crescer. Se você não pode orientar, não assuma esse papel. "Apenas" seja um desenvolvedor.
back2dos

1
@ Richard Normalmente, a conversa é algo como: Desenvolvedor Sênior: "Esses caras estão escrevendo interfaces terríveis! Está estragando tudo que eu projetei no ano passado." Eu: "Sabe, se você quer que os novos escrevam interfaces mais limpas, pode se sentar com eles e explicar seu pensamento".
Christopher Bibbs

7

Os desenvolvedores seniores devem ser solicitados a orientar os desenvolvedores juniores?

Absolutamente não. Alguns bons desenvolvedores seniores serão mentores horríveis e a combinação de personalidades é essencial para o sucesso do mentor. Penso, no entanto, que os desenvolvedores seniores devem ser obrigados a melhorar algo na equipe de desenvolvimento. Isso pode ser criar um protótipo de algo paralelo, melhorar um processo ou prática, abrir caminho para novas ferramentas, apresentar material técnico ao grupo, liderar uma equipe ou outra coisa. Em outras palavras, eles devem ser responsáveis ​​por algo que é maior que o compartilhamento individual de trabalho.

Ou essa orientação deve ser algo mais orgânico e espontâneo, isto é, não é necessário, mas pode se desenvolver sem incentivo artificial?

Não, não concordo com essa tomada também. Eu já vi muitas situações em que a mentoria deve ser "orgânica e espontânea" e isso acontece muito raramente. Eu acho que as organizações precisam assumir o ônus de dar uma oportunidade para os mentores de infectar - mas isso não pode ser forçado. Isso é difícil, mas vale a pena. Eu acho que a organização poderia fazer coisas como:

  • Encontros informais entre mentores em potencial e protegidos em potencial
  • Formas e oportunidades sugeridas para orientação serem reconhecidas formalmente pela organização (por exemplo, se você é um local que possui um número de cobrança para praticamente tudo, crie um número de cobrança para reuniões de mentores - esclarecendo que essa é uma parte viável do trabalho )
  • Treinamento e suporte para mentores
  • orientação aos protegidos sobre como selecionar um mentor e o que esperar
  • orientação aos mentores sobre o que esperar e o que oferecer
  • Padrões sugeridos (ou impostos) para mentorias com modelos de participação - por exemplo, é muito mais fácil tentar se você souber com antecedência que seu objetivo é uma experiência de três meses com encontros semanais e um objetivo de ajudar um novo desenvolvedor a se levantar e entrando na empresa. Para não dizer que não vai se transformar em mais ... mas dá um lugar para as pessoas começarem.

5

Eu acho que fazer disso um requisito pode potencialmente sair pela culatra, pois algumas pessoas simplesmente não são conectadas dessa maneira e ficariam muito desanimadas com a ideia. Dito isto, você deve identificar as pessoas que acha que são adequadas para serem mentores e abordá-las sobre como assumir um papel mais ativo na orientação (se já não o forem). Essa abordagem de exemplo a exemplo pode pegar e inspirar uma orientação mais espontânea.

Você também pode agendar atividades em grupo que ocorrem regularmente, o que ajudará a equipe a gelar. Podem ser atividades completamente sociais, como um almoço em equipe ou atividades que incorporam aprendizado sobre programação, como um clube semanal do livro de programação.

Você também pode ter "mini postmortems" regulares nos sistemas, que funcionariam como uma revisão de código de grupo. Um benefício de fazer a revisão em um ambiente de grupo é que todos podem se beneficiar do feedback, em vez de apenas a pessoa que escreveu o código original. Pode ser necessário obter alguns voluntários que se sintam à vontade para julgar seu código para iniciar as coisas e manter a civilidade.


4

Eu nunca gostei dos termos programadores Júnior e Sênior. Por exemplo, estou programando há um tempo e, embora tenha experiência em algumas áreas, sou muito verde em outras. Por exemplo, estamos nos mudando para o WPF e, embora eu tenha muitas experiência em aplicativos de formulários do Windows, o WPF ainda é novo e previsto para mim. Portanto, embora eu seja um programador "sênior", você pode contratar alguém fora da rua com muito menos experiência "total" e eles provavelmente poderiam programar um aplicativo WPF melhor e mais rápido do que eu neste momento.

Para não dizer, não tenho muita experiência em arquitetura e design de aplicativos que poderiam ser aplicadas ao aplicativo WPF, mas conheço meus limites.

Acho que você precisa estar disposto a ser o mentor em alguns momentos e o mentoreado em outros.

Se você tiver membros da equipe que não têm medo de ser o mentor quando tiverem o conhecimento e um mentorado em outras pessoas quando precisarem desse conhecimento, você terá uma experiência proveitosa.

Se você pode promover esse tipo de ambiente de desenvolvimento em que os desenvolvedores são humildes e abertos a novas idéias e ajudam outras pessoas quando necessário, os relacionamentos sempai-kohai sairão naturalmente.

Forçar a mentoria provavelmente criará um sistema de castas no qual os desenvolvedores podem se ressentir. É melhor tratar todos os desenvolvedores igualmente no mesmo nível.

Esta indústria é muito diferente. Senoriedade nem sempre é melhor.

Às vezes, os idosos precisam ser orientados pelos juniores.


Esta resposta merece mais do que o +1 que eu posso dar.
Peter Taylor

3

Eu estive em ambientes que fazem as coisas nos dois sentidos.

No primeiro emprego que tive fora da escola, fui designado como mentor. Eu não gostei do cara, e certamente não concordo com ele em tudo. Eu me ressentia de ser forçado a trabalhar com ele e tinha certeza de que meu empregador cometera um erro, mas, em retrospecto, aprendi muito.

Avanço rápido de alguns anos, e agora estou com uma empresa que trata os desenvolvedores com uma atitude de homem para homem. Os desenvolvedores têm prazos apertados, e poucos ou nenhum subsídio é feito para desenvolvedores que gastam tempo colocando outras pessoas sob suas asas para mostrar-lhes as cordas. Eu acho uma pena. Vejo como os desenvolvedores juniores lutam com as mesmas coisas que eu, mas sem um mentor para ajudá-los, leva muito mais tempo.

Eu desenvolvi uma reputação como "o mentor" porque os novos contratados "parecem apreciar a ajuda que posso fornecer". Pelo que sei, esta é uma maneira elegante de RH de dizer que estou disposto a tolerar avaliações medíocres de produtividade para poder fazer a coisa certa, que é permitir que os desenvolvedores juniores façam seu trabalho com eficiência e melhorem rapidamente.

Acho que é isso que nossos funcionários juniores merecem e, com o benefício da retrospectiva e da experiência, acho que a primeira empresa em que trabalhei e o cara que me orientou tiveram muito mais informações do que eu pensava na época.

Tudo isso é o longo caminho para dizer que, embora eu desejasse que você não tivesse que designar mentores, é provavelmente a única maneira justa de se espalhar pelo trabalho. Se não, você deve dar às pessoas que fazem isso o que lhes é devido. Não é um trabalho fácil; requer habilidades interpessoais e de engenharia; e é demorado.


3

Espera-se que os desenvolvedores seniores vão além da agitação do código. No entanto, a direção que eles seguem não deve ser a mesma para todo desenvolvedor sênior.

Alguns são adequados para orientação. Outros não estão, e devem perseguir algum outro objetivo de nível sênior, seja planejar e implementar melhorias arquiteturais ou avaliar novas tecnologias ou planejar e liderar melhorias de processo (por exemplo, integração contínua, TDD, etc.)

Basicamente, um idoso não deve ser apenas alguém que corta o código há alguns anos a mais do que os juniores. Deve ser alguém que esteja disposto e seja capaz de assumir responsabilidades adicionais que contribuirão para o sucesso da equipe. Mentoring juniors é importante, mas não é a única coisa importante, e não é algo com o qual todos estejam bem.


3

A imposição de tal orientação é contraproducente porque os seres humanos lutam naturalmente contra atividades, ações e relacionamentos forçados. Uma abordagem melhor é recompensar as pessoas que fazem um bom mentor, levando as pessoas a quererem mentor.

É claro que isso traz o problema de medir o "bom" nesse contexto. Uma solução imperfeita, mas de fácil implementação, pode ser a de que os recém-chegados, depois de um ano (possivelmente anonimamente), escrevam os nomes das, digamos, as três principais pessoas que os ajudaram a se integrar à empresa e / ou à base de código. Depois disso, você pode recompensar as pessoas cujos nomes são mais mencionados. As recompensas monetárias não funcionarão aqui, no entanto. É melhor encontrar algum tipo de recompensa social.


3

estrutura de líderes de equipe, levando a revisões de código devem fazer o truque ...

Você teria um membro sênior de sua equipe responsável por um ou mais juniores. Não acredito que deva ser ajuda espontânea, mas sim um processo formal; no sentido de que o membro sênior será responsável pela qualidade do trabalho produzido pelos recém-chegados. Essa abordagem tem dois benefícios (pelo menos): instruir os idosos em estilos de gerenciamento e garantir que os juniores produzam código de qualidade.


Eu incorporei seu comentário que forneceu informações adicionais em sua resposta. No futuro, se alguém solicitar que você esclareça ou elabore um ponto, edite sua resposta para incluir as novas informações. Dessa forma, as pessoas que visitam essa pergunta mais tarde podem ver uma resposta abrangente de você sem precisar procurar nos comentários.
Adam Lear

2

Em todas as coisas, a programação depende . Mas eu definitivamente gostaria que um desenvolvedor sênior orientasse novos contratados, sejam eles juniores ou não, para obter o melhor treinamento para o trabalho em questão.


2

Não, porque isso implicaria que o número de desenvolvedores seniores e juniores fosse o mesmo o tempo todo. Eu pude ver encorajar os desenvolvedores seniores que querem ser mentores, mas aplicar um emparelhamento pode ser uma péssima idéia. A idéia de apoiar os relacionamentos de mentoria é boa e não deve ser descartada aqui.

O incentivo artificial não é uma má ideia aqui. Dizendo a todos os desenvolvedores juniores e seniores que eles serão mentores e mentores, não importa o que possa ser um pouco religioso e sair pela culatra rapidamente.


Se houver uma estrutura conhecida dentro da empresa de como lidar com a orientação, isso seria ótimo. No entanto, se isso não existir, a chave passa a ter alguns tipos diferentes de momentos entre o mentor e o mentorado:

  1. Status atual - onde estão as coisas agora? Qual é o desafio atual que o mentor pode fornecer assistência na resolução?
  2. Estado futuro - O que se deseja: Uma dica, uma solução, perguntas a serem feitas, a quem perguntar?
  3. Retrospectiva - O que funcionou e não funcionou ao fazer alterações?
  4. Mudanças futuras - O que será tentado no futuro que pode funcionar melhor do que o que foi feito anteriormente?

Pelo menos esses são estados que eu posso ver e fazer sentido da minha visão para adotar uma abordagem lógica de cima para baixo. Outros podem querer algo muito mais orgânico e de forma livre, que também pode funcionar. A chave é ter uma idéia de como fazer com que cada lado tenha algumas habilidades que devem ser aprimoradas com a prática da comunicação nesse relacionamento. Cada lado deve estar ganhando algo com o relacionamento e deve haver algumas regras básicas comuns para ter esse tipo de relacionamento, pois o feedback é importante aqui.

Quanto tempo se gasta nisso é uma pergunta justa que, realisticamente, é preciso examinar o que está sendo feito e em que medida é aceitável gastar tempo desenvolvendo habilidades e construindo relacionamentos. Pude ver alguns pares querendo uma hora por semana para passar por isso, enquanto outros podem querer algumas horas por dia para cobrir isso. Não se esqueça de que pode haver outras interações nas quais um sênior e um junior podem trabalhar juntos, embora não em um relacionamento formal de orientação.


1
Sim, eu vejo isso. Gostaria de saber como você incentiva a orientação e os deixa à vontade para dedicar tempo de trabalho remunerado para isso?
Richard

2

Eu já vi algumas tentativas diferentes de sistemas de orientação. Os que eu mais gostei foram aqueles em que o desenvolvedor sênior tinha um conjunto específico de tarefas que eles executavam para ajudar o desenvolvedor júnior, o que abriu o caminho para a orientação sem a necessidade. Por exemplo, um revisor de código individual designado de desenvolvedor nos primeiros seis meses pode ser muito útil e provavelmente levará à orientação. Os que eu não gostei eram aqueles que pareciam trabalhos extras e que não pareciam estar diretamente relacionados ao trabalho que está sendo realizado - por exemplo, encontre seu mentor designado por meia hora por semana. Isso foi especialmente irritante quando os dois membros do relacionamento de orientação geralmente não interagiram um com o outro durante a semana e não tiveram nada a ver com os projetos um do outro. Parecia muito forçado e sensível ao invés de focado em crescer profissionalmente. A última coisa que você quer é que um relacionamento de orientação pareça uma sessão de aconselhamento.

IME, você não pode contar com o desenvolvimento de relacionamentos de orientação, fornecendo um mentor em potencial ao emparelhar um desenvolvedor sênior e um desenvolvedor júnior para um conjunto de atividades comerciais emparelhadas normais (revisões de código, depuração, programação de pares etc.), pelo menos no mínimo primeiro, é uma ótima idéia. Idealmente, o membro sênior deve ser voluntário para a função e deve ser capaz de perceber algum benefício pessoal. Na minha empresa atual, os desenvolvedores seniores são quase os líderes de seus projetos, e o benefício é que eles estão montando sua própria equipe de projetos. Na outra empresa, os mentores estavam frequentemente investigando a faixa de gerenciamento.


2

Acho que toda empresa que contrata jovens desenvolvedores deve ter algum tipo de programa de mentoria razoavelmente eficaz. Mas não tenho certeza de que a posição padrão deva ser todo desenvolvedor sênior, pelo simples motivo de que muitos desenvolvedores, independentemente de quão bons sejam no desenvolvimento, são péssimos em orientação. Infelizmente vai com o território. Alguns de nós simplesmente não são ótimas pessoas, se você quiser.

Por outro lado, onde existem pessoas que são boas nisso, elas devem ser reconhecidas por elas, e não por marcas negras, porque o resultado real do desenvolvimento diminui enquanto explicam algum problema simples localizado sobre a implementação do IDE para algum novato que sempre usado NotePad e Javac, por exemplo.

Isso requer um gerenciamento equilibrado. Não tenho certeza de que seja comum.


2

Para que qualquer mentor funcione, é essencial que a gerência reconheça que isso é importante, aloque tempo para isso e incentive-o ativamente!

Para alguém 100% reservado com tarefas, literalmente, não há tempo para fazer ou receber orientação, e isso não acontecerá.


1

Geralmente, os navios mentores são um bom passo para a transição do sênior para o líder ou gerente da equipe. É mais eficaz vincular a orientação ao avanço em um PDP (Plano de Desenvolvimento Pessoal) ou ao plano de mérito que sua empresa usa. Amarrar o aumento salarial e o desenvolvimento de carreira, pelo menos em parte, à capacidade de transmitir conhecimento e formar novos desenvolvedores é a chave para a construção de uma equipe de TI forte que possa enfrentar as mudanças no gerenciamento e na rotatividade de pessoal. Fornecer metas-chave e trabalhar com a equipe para ajudá-los a melhorar fazem parte desse crescimento da liderança. Para aqueles que pensam que não é justo vincular uma avaliação de idosos a um desempenho de juniores que faz parte do crescimento. Na maioria dos casos, você não está falando de um corte salarial, mas de um aumento reduzido ou de um avanço mais lento.


0

Quando cheguei à equipe, o proprietário e um desenvolvedor líder me deram instruções. Eu poderia perguntar a qualquer um deles qualquer coisa e os dois responderiam. No entanto, eu era respeitoso o suficiente para não continuar incomodando, a menos que eu não conseguisse descobrir isso em tempo hábil.

Funcionou muito bem, mas, novamente, você provavelmente precisa de pessoas legais com senso de humor para que isso funcione.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.