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


15

Nel mio team, abbiamo spesso bisogno dei programmatori più esperti per formare / guidare i nuovi programmatori junior. Tuttavia, questi stessi programmatori senior sono quelli che stanno svolgendo la maggior parte del lavoro reale e importante.

Ho provato a discutere con il mio manager che ha senso avere i programmatori junior, che stanno dimostrando un'alta attitudine, prendere i nuovi programmatori sotto la loro ala. Prima di tutto, libererà gli sviluppatori senior a lavorare su iniziative più importanti (non che il mentoring non sia importante). Successivamente, darà ai programmatori junior un po 'di orgoglio nel loro lavoro a cui verrebbero ricercati per tale responsabilità e che potrebbero imparare qualcosa nell'insegnamento. Infine, farà risparmiare denaro all'azienda, poiché gli sviluppatori senior costano molto di più rispetto ai junior.

Il mio capo non è riuscito a essere convinto poiché è così che ha funzionato in questa squadra fin dall'inizio dei tempi, a quanto pare. Supponendo che sia stata presa la decisione che una sorta di formazione / tutoraggio è obbligatoria, qualcuno può fornirmi alcuni argomenti migliori o dirmi perché sbaglio? Cosa fa la tua squadra?

** Siamo tutti d'accordo sul fatto che l'anzianità non denota necessariamente competenza, quindi supponiamo solo da "programmatori senior" intendo "programmatori di alto livello".


1
Vorrei avere formulato questa domanda come "programmatori migliori rispetto ai programmatori di livello intermedio e intermedio". Alcune grandi risposte però.
smp7d,

Puoi modificarlo come sai ...
ChrisF

ah, non sarebbe giusto per quelli che hanno già risposto.
smp7d,

Pensavo stessi parlando del titolo ...
ChrisF

Bene, se l'hanno sempre fatto in quel modo, deve essere il modo giusto di fare le cose.
SoylentGray,

Risposte:


11

Ho avuto questa situazione in un'azienda precedente. Gli sviluppatori senior, che erano solo pochi, stavano guidando un numero crescente di sviluppatori junior al punto da non poter svolgere gli altri compiti loro assegnati. Dopo un po 'gli sviluppatori senior hanno parlato con il nostro manager ed è stato deciso che gli sviluppatori che si trovavano da qualche parte tra junior e senior avrebbero agito come mentori, ma per problemi difficili potevano chiedere agli sviluppatori senior.

Ha funzionato abbastanza bene. Prima di ciò, alcuni sviluppatori senior stavano iniziando a cercare nuovi lavori perché non erano stati sfidati sul posto di lavoro. Successivamente, sono stati in grado di lavorare su nuove funzionalità e svolgere attività. Cosa pensano i tuoi sviluppatori senior della situazione?

A mio avviso, essere senior non riguarda solo l'esperienza nel dominio, il titolo nel tuo piè di pagina e-mail o per quanto tempo hai lavorato. È anche una mentalità, per aiutare e guidare gli sviluppatori junior. E quale modo migliore per ottenere più sviluppatori senior in una squadra che lasciare che il mentore non sia così anziano?


2
sembra molto simile alla mia situazione attuale.
smp7d,

21

Non tutti i migliori programmatori sono i migliori insegnanti. Consiglierei di fare la formazione da qualcuno che possa spiegare e che abbia una visione d'insieme dell '"ambiente" della tua azienda (aspetti tecnici, ma anche organizzativi come i contatti).


sicuramente vero, ma la domanda giusta potrebbe essere "questi anziani tecnicamente grandi cercano anche di essere più solidali e di insegnare a meno esperti?". Penso che manchi una parte importante del lavoro. nessuno è diventato un anziano da solo, immagino.
zero Divisore il

7

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

Azienda: come azienda, si desidera produttività e minori rischi. Sebbene gli sviluppatori senior stiano svolgendo gran parte del lavoro, si desidera che trasferiscano le loro conoscenze del sistema verso il basso, riducendo i rischi. La produttività non ne risentirebbe tanto perché è necessario concedere a questi anziani un po 'di riposo per fare cose meno critiche (insegnare agli sviluppatori più giovani). A parte i sistemi, hanno anche molte discipline che gli sviluppatori junior non conoscono ancora o non comprendono.

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


6

Guarda questo da un'altra angolazione. Quali tipi di abilità e conoscenze vuoi trasferire tra i programmatori qui? Se i programmatori senior svolgono la maggior parte del lavoro reale e importante, questo non mantiene un po 'di isolamento in termini di chissà quale sistema? Far conoscere ai giovani il sistema in modo che possano essere backup per l'anziano è una direzione piuttosto logica da prendere in quanto è la conoscenza più alta di potenziali anni di conoscenza accumulata che passa qui che è la più importante qui. Gli anziani che fanno da mentori agli junior sembrano una specie di formazione naturale per me.

Un programmatore junior che guida un altro programmatore junior non ha molto senso per la mia mente. Associare un paio di programmatori junior insieme potrebbe avere senso in un certo senso. Avere un paio di persone che lavorano insieme su un compito in modo che non sia solo l'idea di una persona può essere abbastanza utile e aiutare a promuovere un ambiente più collaborativo in cui una squadra si riunisce in un certo senso. A seconda dell'ambiente che hai questo può o meno avere molto senso da fare.


4

Beh, se i programmatori senior del team non dominano il loro commercio più dei junior, sono solo rimasti più a lungo e / o hanno uno status sociale / politico più elevato all'interno del team, quindi in realtà non fa davvero una grande differenza chi - se qualcuno - fa da mentore ai nuovi arrivati. È probabile che graviteranno tutti sullo stesso livello di mediocrità ... :-(

Se, OTOH, un anziano è davvero (almeno notevolmente più vicino a) un programmatore esperto nel vero senso del mondo, può fare una grande differenza. Un junior può facilmente insegnare pratiche non così ottimali al nuovo bambino sul blocco. Ed è molto più difficile disimparare un approccio non ottimale o cattivo in seguito, piuttosto che iniziare imparando le migliori pratiche .

Detto questo, se un junior ha il talento e ha dimostrato in modo affidabile che sa cosa sta facendo in merito a un determinato strumento, tecnica o area, può davvero essere un utile trainer in quella specifica area .

Ma nota che, da un certo punto di vista, l'intero punto del mentoring / training è quello di consentire agli anziani di delegare ad alcuni dei loro compiti non così impegnativi, in modo che possano concentrarsi su cose davvero difficili. Perché ciò accada, devono prima insegnare effettivamente quei compiti e quelle abilità ai loro coetanei, e insegnarli bene, in modo che i compiti vengano assunti correttamente, una volta per tutte.


4

Risposta semplice: la persona che fa la formazione dovrebbe essere la persona più adatta alla formazione che vuole anche fare la formazione.

Ad alcune persone piace 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 viene allenata, e probabilmente è un male per l'intera squadra. Non aggiunge nulla. Nel frattempo, lasciare che le persone facciano ciò che si diverte fa bene a loro, al team e, si spera, che il tirocinante catturi un po 'di entusiasmo.

Allo stesso modo, alcune persone sono brave nell'allenamento e altre no. C'è un tipo di interazione o intelligenza umana che consente ad alcune persone di essere brave a capire come gli altri barrano; un formatore dovrebbe essere in grado di fornire conoscenze in modo da comprendere il tirocinante. Un bravo istruttore può farlo e può imparare 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 trainer fa un discorso di prova ed è inflessibile e si sentirà frustrato quando il tirocinante non afferrerà i loro modi di apprendimento idiosincratici.

Presumo che tu voglia che i tirocinanti ottengano la migliore formazione - approfondita ma efficiente. Se i tuoi "programmatori migliori" sono desiderosi di allenarsi, allora dovrebbero farlo. Se i "programmatori junior" sono all'altezza, anche loro dovrebbero avere una possibilità. Non fa male che alcune persone partecipino al programma di formazione, in questo modo puoi determinare chi vuole allenarsi e chi è bravo nell'allenamento.

Non sono sicuro dalla tua domanda se sei un programmatore senior che vuole uscire dall'allenamento (nessuna critica - hai cose più importanti da fare, o semplicemente non lo adoro), o un programmatore junior che vuole entrarci dentro. Ma in entrambi i casi, stai cercando di fare ciò che ti piace - e non tutti vogliamo fare i compiti che ci piacciono? I dipendenti felici portano a migliori ambienti di lavoro e una migliore produzione.


3

Nella maggior parte delle aziende in cui ho lavorato, un programmatore Junior era qualcuno con meno di 3 anni di esperienza. Anche se sarei felice, come programmatore esperto con esperienza di tutoraggio di indirizzare un nuovo programmatore a un programmatore junior per la formazione su un argomento specifico, vorrei mantenere il controllo, piuttosto che delegare tutta la responsabilità del tutoraggio a qualcuno che ha ancora bisogno di supervisione del tutoraggio loro stessi.


2

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

Per quanto riguarda la stessa conoscenza della programmazione, è meglio che il gruppo passi a tutto il gruppo. Anche i programmatori esperti imparano continuamente nuove cose, specialmente in quadri di sviluppo complessi. Questa condivisione può essere formale, come in una sessione di pranzo e apprendimento o attraverso discussioni informali quando il tempo lo consente.


1

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

Sebbene tu abbia fornito alcuni buoni motivi per questo, ne segnalerei uno in più che ritengo particolarmente importante: insegnare è uno dei modi migliori di apprendere, specialmente imparare abbastanza di più per rendere alcuni di questi ultimi passi da veramente buoni alla grande. Una parte particolarmente importante di questo è imparare non solo a fare bene le cose, ma a fare un buon lavoro di articolazione di ciò che stai facendo e perché. Io, per esempio, ho spesso scoperto che per fare un buon lavoro spiegando perché sto facendo qualcosa in un modo particolare, devo sedermi e pensarci abbastanza che 1) la mia comprensione migliora considerevolmente, e 2) I rivalutare spesso la situazione abbastanza da 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 un po '... carenti rispetto ai loro coetanei. Spingerli un po 'fuori dalla loro zona di comfort dal puro codice a più aspetti sociali come il tutoraggio può aiutarli tanto quanto le persone che guidano. Ovviamente, se hai intenzione di farlo, però, devi essere particolarmente attento a scegliere chi accoppiare insieme - l'abbinamento sbagliato potrebbe finire per ferire entrambi.


0

Penso che funzioni meglio quando i mentori si offrono volontari per il compito. 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 per fare il tutoraggio.

Ciò che finisce per accadere è che il nuovo assunzione è messo su un progetto che può permettersi il tempo della curva di apprendimento e guidato dalla persona che ha più familiarità con il progetto. Potrebbe essere qualcuno che è stato qui 10 mesi o 10 anni. A volte le persone finiscono per fare un po 'di tutoraggio ai mentori, ma il vantaggio è che le persone più nuove ricordano ancora tutte le difficoltà di essere nuove e il modo in cui le hanno superate.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.