Chi dovrebbe formare nuovi programmatori? Programmatori junior o senior? [chiuso]

15

Nel mio team, spesso richiediamo ai programmatori più esperti di formare / guidare i nuovi programmatori junior. Tuttavia, questi stessi programmatori senior sono quelli che stanno facendo la maggior parte del lavoro reale e importante.

Ho cercato di dire al mio manager che ha senso che i programmatori junior, che stanno dimostrando un'attitudine elevata, prendano sotto controllo i nuovi programmatori. Prima di tutto, libererà gli sviluppatori senior per lavorare su iniziative più importanti (non che il mentoring non sia importante). In seguito, darà ai programmatori junior un po 'di orgoglio nel loro lavoro, al quale si aspetterebbe una tale responsabilità e potrebbero imparare qualcosa nell'insegnamento. Infine, salverà i soldi della compagnia, poiché gli sviluppatori senior costano molto più dei juniores.

Il mio capo non è stato persuaso dal momento che questo è il modo in cui ha funzionato su questa squadra dall'inizio del tempo, apparentemente. Supponendo che sia stata presa la decisione che una sorta di addestramento / tutoraggio sia obbligatorio, qualcuno può fornirmi qualche argomento migliore o dirmi perché ho torto? Cosa fa la tua squadra?

** Siamo tutti d'accordo sul fatto che l'anzianità non denota necessariamente la competenza, quindi presumibilmente da "programmatori senior" intendo "top programmers".

    
posta smp7d 10.11.2011 - 22:33
fonte

10 risposte

10

Ho avuto questa situazione in una precedente azienda. Gli sviluppatori senior, che erano solo pochi, stavano seguendo un numero crescente di sviluppatori junior al punto da non riuscire a svolgere gli altri compiti loro assegnati. Dopo un po 'gli sviluppatori senior lo hanno contattato con il nostro manager e si è deciso che gli sviluppatori che si trovavano da qualche parte tra junior e senior avrebbero agito da mentori ma per questioni difficili potevano andare a chiedere agli sviluppatori senior.

Ha funzionato abbastanza bene. Prima di questo, alcuni degli sviluppatori senior stavano iniziando a cercare nuovi posti di lavoro perché non erano stati messi in discussione al lavoro. Dopo, sono stati in grado di lavorare su nuove funzionalità e ottenere risultati. Cosa pensano i tuoi sviluppatori senior della situazione?

Dal mio punto di vista, essere senior non significa solo esperienza nel dominio, il titolo nel tuo messaggio di posta elettronica o per quanto tempo hai lavorato. È anche una mentalità, per aiutare e guidare gli sviluppatori junior. E quale modo migliore per avere più sviluppatori senior in una squadra che lasciare che i non così senior facciano il mentoring?

    
risposta data 10.11.2011 - 22:58
fonte
21

Non tutti i migliori programmatori sono insegnanti esperti. Consiglierei di fare la formazione da qualcuno che può spiegare e che ha una panoramica sull'ambiente della tua azienda (cose tecniche, ma anche contatti di tipo organizzativo).

    
risposta data 10.11.2011 - 22:45
fonte
7

Sto ripetendo alcune delle cose che sono già state dette ma ho due punti di vista.

Business: Come azienda, vuoi produttività e rischi minori. Sebbene gli sviluppatori senior stiano facendo la maggior parte del lavoro, si desidera che trasferiscano le proprie conoscenze del sistema verso il basso, riducendo così i rischi. La produttività non ne risentirebbe molto perché è necessario dare a questi anziani un po 'di riposo per fare cose meno critiche (insegnando agli sviluppatori junior). Oltre ai sistemi, hanno anche molte discipline che gli sviluppatori junior non conoscono ancora o non afferrano.

Rispetto: I giovani che prendono nuovi sviluppatori sotto la loro ala è un po 'come il cieco che guida il cieco. I giovani non sono ancora aggiornati con tutto ciò che è necessario per insegnare agli altri. Inoltre, potrebbe non funzionare perché il rispetto potrebbe non esserci. Il rispetto nei confronti dello sviluppatore minore è in dubbio perché il tuo set di abilità rispetto al set di abilità del principiante non è probabilmente così lontano. Affrontare un problema insieme è comunque una storia diversa. Non c'è alcuna questione di rispetto in termini di sviluppatori senior che insegnano ai principianti o anche ai junior. Sappiamo tutti che quando manca il rispetto in due individui o in una squadra, il disastro è in attesa di accadere ...

    
risposta data 10.11.2011 - 23:24
fonte
6

Guarda da un'altra angolazione. Che tipo di abilità e conoscenze vuoi trasferire tra i programmatori qui? Se i programmatori senior stanno facendo la maggior parte del vero, importante lavoro, questo non mantiene un po 'di isolamento in termini di chissà quale sistema? Portare i giovani a conoscere il sistema in modo che possano essere i backup per gli anziani è una direzione piuttosto logica da prendere in quanto è la più importante conoscenza di anni di conoscenze acquisite che è stata la più importante qui. Il mentoring juniores degli anziani sembra una sorta di formazione naturale per la mia mente.

Un programmatore junior che segue un altro programmatore junior non ha molto senso per la mia mente. Accoppiare un paio di programmatori junior insieme però potrebbe avere senso in un certo senso. Avere un paio di persone che lavorano insieme in un compito in modo che non sia l'idea di una sola persona può essere molto utile, così come aiutare a promuovere un ambiente più collaborativo in cui un gruppo si unisca in un certo senso. A seconda dell'ambiente in cui hai questo potrebbe non avere molto senso.

    
risposta data 10.11.2011 - 22:46
fonte
4

Bene, se i senior programmatori della squadra non padroneggiano realmente il loro mestiere più degli juniores, sono rimasti solo più a lungo e / o hanno uno status sociale / politico più elevato all'interno della squadra, quindi in effetti non lo fanno davvero una grande differenza chi - se qualcuno - guida i nuovi arrivati. È probabile che, comunque, graviteranno sempre verso lo stesso livello di mediocrità ...: - (

Se, OTOH, un anziano è davvero (almeno visibilmente più vicino a) un programmatore esperto nel vero senso del mondo, può fare una grande differenza. Un bambino può facilmente insegnare le pratiche non-così-buone al nuovo bambino sul blocco. E è molto più difficile disimparare un approccio subottimale o negativo in seguito, piuttosto che iniziare imparando la pratica migliore .

Detto questo, se un junior ha il talento, e ha dimostrato in modo affidabile che (s) sa cosa sta facendo riguardo a un determinato strumento, tecnica o area, può davvero essere un allenatore utile < em> su quell'area specifica .

Ma nota che - da un certo punto di vista - l'intero punto di mentoring / training è quello di consentire agli anziani di delegare alcuni dei loro compiti non così impegnativi agli altri, in modo che possano concentrarsi su cose davvero difficili. Affinché questo accada, devono prima insegnare loro stessi i compiti e le abilità ai loro pari, e insegnarli bene, in modo che i compiti vengano ripresi correttamente, una volta per tutte.

    
risposta data 10.11.2011 - 22:45
fonte
4

Risposta semplice: la persona che fa l'allenamento dovrebbe essere la persona che si sta meglio allenando e che vuole anche fare formazione.

Alcune persone amano la formazione e il tutoraggio. Alcune persone lo odiano. Non vuoi che le persone facciano cose che odiano: è un male per loro, è probabilmente un male per la persona che si sta allenando, e probabilmente è male per l'intera squadra. Non aggiunge nulla. Nel frattempo, lasciare che le persone facciano ciò che amano è un bene per loro, la squadra, e si spera che il tirocinante catturi un certo entusiasmo.

Allo stesso modo, alcune persone sono brave in allenamento e altre no. C'è un tipo di interazione umana o intelligenza che consente ad alcune persone di essere bravi a capire come gli altri ticchettano; un formatore dovrebbe essere in grado di fornire le conoscenze in modo che il discente possa capire. Un buon allenatore può fare questo, e può apprendere che al tirocinante piace "capire" le cose, o "vedere" le cose, o "fare" le cose - i vari modi in cui le persone imparano. Un cattivo allenatore tiene un discorso provato ed è inflessibile, e si sentirà frustrato quando il tirocinante non si impadronirà dei suoi modi idiosincratici di apprendimento.

Presumo che tu voglia che i tirocinanti ottengano il miglior addestramento - completo ma efficiente. Se i tuoi 'migliori programmatori' sono desiderosi di allenarsi, dovrebbero farlo. Se i "programmatori junior" sono all'altezza, allora dovrebbero anche sparare. Non fa male avere alcune persone che partecipano al programma di allenamento - in questo modo puoi determinare chi vuole addestrare, e chi è bravo durante l'allenamento.

Non sono sicuro dalla tua domanda se sei un programmatore senior che vuole uscire dalla formazione (nessuna critica - hai cose più importanti da fare, o semplicemente non amarla), o programmatore junior che vuole entrare in esso. Ma in ogni caso, stai cercando di fare ciò che ti piace - e non vogliamo tutti fare i compiti che ci piacciono? I dipendenti felici creano ambienti di lavoro migliori e un output migliore.

    
risposta data 11.11.2011 - 00:18
fonte
3

Nella maggior parte delle aziende in cui ho lavorato, un programmatore Junior era una persona con meno di 3 anni di esperienza. Mentre sarei felice, come programmatore esperto con esperienza di mentoring per indirizzare un nuovo programmatore a un programmatore junior per la formazione su un particolare argomento, vorrei mantenere il controllo, piuttosto che delegare tutte le responsabilità di mentoring a qualcuno che ha ancora bisogno di supervisione di mentoring stessi.

    
risposta data 10.11.2011 - 22:46
fonte
2

Ho scoperto che cose come le regole di business e le linee guida di progettazione sono le cose più importanti che un programmatore più anziano deve essere in grado di trasmettere agli sviluppatori junior o anche agli sviluppatori / appaltatori senior / esperti recentemente assunti. I problemi tendono a emergere quando queste informazioni chiave sono accumulate o non vengono mai spiegate. Forse questo è ciò che il tuo manager è preoccupato più delle reali conoscenze di programmazione.

Per quanto riguarda la conoscenza della programmazione stessa, è meglio passare attorno al gruppo a tutti i livelli. Persino i programmatori esperti imparano sempre cose nuove, specialmente in quadri di sviluppo complessi. Questa condivisione può essere formale, come in una sessione di pranzo e di apprendimento, o attraverso discussioni informali quando il tempo lo consente.

    
risposta data 10.11.2011 - 23:56
fonte
1

Opterei per i mentori che sono principalmente un passo o due al di sotto dei migliori programmatori dell'organizzazione.

Sebbene tu abbia fornito alcune buone ragioni per questo, ne indico un altro che ritengo sia particolarmente importante: l'insegnamento è uno dei migliori modi di apprendimento, in particolare apprendendo abbastanza altro per fare alcuni di questi ultimi passi da veramente buono a grande. Una parte particolarmente importante di questo è imparare a non solo fare le cose, ma fare un buon lavoro di articolare ciò che stai facendo e perché. Io, per esempio, ho spesso riscontrato che per fare un buon lavoro di spiegazione del perché sto facendo qualcosa in un modo particolare, devo sedermi e pensarci su abbastanza che 1) la mia comprensione migliora notevolmente, e 2) I spesso rivalutare la situazione abbastanza per migliorare il mio lavoro.

Anche se potrebbe essere più difficile per loro farlo, questo può essere particolarmente utile per i programmatori le cui abilità sociali potrebbero essere in qualche modo ... carenti rispetto ai loro coetanei. Spingerli un po 'fuori dalla loro zona di benessere dal puro codice in più aspetti sociali come il mentoring può aiutarli tanto quanto le persone a cui loro fanno da mentore. Ovviamente se hai intenzione di farlo, però, devi stare particolarmente attento a scegliere chi accoppiare - l'abbinamento sbagliato potrebbe finire per ferire entrambi.

    
risposta data 10.11.2011 - 23:41
fonte
0

Penso che funzioni meglio quando i mentori fanno volontariato per l'attività. Da queste parti, non abbiamo un processo di mentoring molto formale. A volte il nostro manager ha in mente qualcosa di specifico, ma altre volte dice qualcosa del tipo: "Qualcuno ha una buona idea su un progetto per il nuovo ragazzo?" e chi ha la migliore idea finisce con il mentoring.

Quello che finisce per accadere è che il nuovo assegno viene messo su un progetto che può permettersi il tempo della curva di apprendimento, e tutorato dalla persona più familiare con il progetto. Potrebbe essere qualcuno che è stato qui per 10 mesi o 10 anni. A volte le persone finiscono per mentenere un po 'i mentori, ma il vantaggio è che le persone più nuove ricordano ancora tutte le difficoltà di essere nuovi e di come li hanno superati.

    
risposta data 10.11.2011 - 23:21
fonte

Leggi altre domande sui tag