I programmatori esperti dovrebbero essere in grado di assumere e guidare uno sviluppatore junior? [chiuso]

24

In un negozio che vuole essere affiatato e solidale, dovrebbe far parte della cultura che gli sviluppatori senior sono in coppia con gli sviluppatori junior come mentori? O questo mentoring dovrebbe essere qualcosa di più organico e spontaneo, cioè non richiesto, ma permesso di svilupparsi senza un incoraggiamento artificiale?

    
posta richard 22.06.2011 - 22:13
fonte

17 risposte

37

Penso che dovrebbe essere incoraggiato ma non richiesto; gli anziani non dovrebbero essere assegnati ai junior o cose del genere, altrimenti finirai in Dilbert-land. La relazione "mentore-mentee" richiede al suo interno un certo livello di amicizia, oltre a una sana dose di rispetto reciproco. Non lo ottieni dicendo semplicemente alle persone di andare fuori e "mentire".

    
risposta data 22.06.2011 - 22:20
fonte
21

should it be part of the culture that senior developers are paired with junior developers as mentors?

Sì.

organic and spontaneous, i.e. not required, but allowed to develop without artificial encouragement

Non accadrà abbastanza spesso per aiutare davvero nessuno.

Le persone con relazioni esistenti nelle organizzazioni saranno percepite come persone o elite da nuove persone. Le cricche non si abbatteranno normalmente. Attacchiamo con le persone che conosciamo - è un elemento essenziale della natura umana.

Come consulente da oltre 30 anni (100 di incarichi di clienti) posso affermare che le nuove persone sono sempre estranee. Non è una caratteristica di "cultura" o "atmosfera". È una caratteristica essenziale di come le persone lavorano. I consulenti formano la propria cricca perché il personale stabilito non tende a includerli in qualsiasi cosa.

L'unico modo per stabilire un mentoring è inserire nuove persone nelle cricche.

    
risposta data 11.01.2018 - 17:41
fonte
8

Il significato tradizionale di un "mentore" in qualche modo sfida i compiti. Potresti anche provare e assegnare amici.

Nella mia esperienza, è corretto assegnare un nuovo membro del team per utilizzare un membro del team stabilito come principale contatto per le domande durante la prima settimana, mese o così.

    
risposta data 22.06.2011 - 22:21
fonte
7

Gli sviluppatori senior dovrebbero essere tenuti a guidare gli sviluppatori junior?

Assolutamente no. Alcuni bravi sviluppatori senior saranno dei mentori orribili e il matchup di personalità è un must per una nave di successo. Penso, tuttavia, che gli sviluppatori senior dovrebbero essere tenuti a fare qualcosa in meglio sul team di sviluppo. Potrebbe essere la prototipazione di qualcosa sul lato, il miglioramento di un processo o di una pratica, la sperimentazione di nuovi strumenti, la presentazione di materiale tecnico al gruppo, la conduzione di una squadra o qualcos'altro. In altre parole, dovrebbero avere una responsabilità per qualcosa che è più grande della singola condivisione di lavoro.

O questo mentoring dovrebbe essere qualcosa di più organico e spontaneo, cioè non richiesto, ma permesso di svilupparsi senza un incoraggiamento artificiale?

No, non sono d'accordo nemmeno con quella presa. Ho visto troppe situazioni in cui ci si aspetta che il mentoring sia "organico e spontaneo" e succede anche raramente. Penso che le organizzazioni debbano assumersi l'onere di offrire ai mentori una possibilità di infettarsi, ma non può essere forzato. È difficile, ma utile. Penso che l'organizzazione possa fare cose come:

  • Incontri informali tra potenziali mentori e potenziali protetti
  • Le modalità e le opportunità suggerite per il tutoraggio devono essere formalmente riconosciute dall'organizzazione (ad esempio, se si è un luogo che ha un numero di addebito praticamente per tutto, creare un numero di addebito per le riunioni delle navi mentori - chiarire che questa è una parte praticabile del lavoro)
  • Formazione e supporto per i mentori
  • guida ai protetti per come selezionare un mentore e cosa aspettarsi
  • guida ai mentori su cosa aspettarsi e cosa offrire
  • Modelli suggeriti (o forzati) per tutoraggio con modelli per la partecipazione - ad esempio, è molto più facile dare un colpo se sai in anticipo che il tuo obiettivo è un'esperienza di 3 mesi con incontri settimanali e l'obiettivo di aiutare un nuovo lo sviluppatore si alza e va in compagnia. Per non dire che non si svilupperà in più ... ma dà un posto per iniziare la gente.
risposta data 22.06.2011 - 23:19
fonte
5

Penso che renderlo un requisito potrebbe potenzialmente ritorcersi contro, in quanto alcune persone non sono cablate in quel modo, e sarebbe molto spenta dall'idea. Detto questo, dovresti identificare le persone che ritieni siano adatte per essere mentori e avvicinarle per assumere un ruolo più attivo nel mentoring (se non lo sono già). Questo approccio lead-by-example potrebbe catturare e ispirare un mentoring più spontaneo.

Potresti anche pianificare attività di gruppo che si verificano regolarmente, il che aiuterà il team a fare jell. Queste potrebbero essere attività completamente sociali, come un pranzo di gruppo, o attività che comprendono l'apprendimento della programmazione, come un club del libro di programmazione settimanale.

Potresti anche avere dei "mini postmortem" regolari sui sistemi, che funzionerebbero come una revisione del codice di gruppo. Un vantaggio nel fare la recensione in un gruppo è che tutti possono beneficiare del feedback, piuttosto che solo la persona che ha scritto il codice originale. Potrebbe essere necessario ottenere alcuni volontari che si sentano a loro agio nel giudicare il codice per far partire le cose e assicurarsi di mantenere la civiltà.

    
risposta data 22.06.2011 - 23:35
fonte
3

Sono stato in ambienti che fanno le cose in entrambi i modi.

Il primo lavoro che ho avuto da scuola, mi è stato assegnato un mentore. Non mi piaceva quel ragazzo, e di certo non ero d'accordo con lui su tutto. Ero irritato dall'essere costretto a lavorare con lui, ed ero abbastanza sicuro che il mio datore di lavoro avesse commesso un errore, ma a posteriori ho imparato molto.

Avanzamento veloce di alcuni anni, e ora sono con una società che tratta gli sviluppatori con un atteggiamento da uomo per sé. Gli sviluppatori hanno scadenze strette e pochi o eventuali assegni sono fatti per gli sviluppatori che passano il tempo prendendo gli altri sotto le loro ali per mostrare loro le corde. Penso che sia un peccato. Vedo come gli sviluppatori junior hanno problemi con le stesse cose che ho fatto, ma senza un mentore che li aiuti ci vorrà molto più tempo.

Ho sviluppato una reputazione di "mentore" perché i nuovi assunti "sembrano apprezzare l'aiuto che sono in grado di fornire loro". Per quanto posso dire, questo è un modo ingegnoso di dire che sono disposto a tollerare mediocri giudizi sulla produttività, così posso fare la cosa giusta, che è quella di consentire agli sviluppatori junior di svolgere il loro lavoro in modo efficace e di migliorare rapidamente.

Penso che sia quello che i nostri dipendenti più giovani meritano, e con il senno di poi e l'esperienza, penso che la prima società per cui ho lavorato e quel ragazzo che mi ha seguito, abbiano avuto molto più valore di quanto pensassi all'epoca.

Tutto questo è il modo più lungo per dire che, mentre spero che tu non abbia dovuto nominare dei mentori, è probabilmente l'unico modo equo di diffondere il lavoro. Se non lo fai, dovresti dare alle persone che lo fanno. Non è un lavoro facile; richiede sia abilità interpersonali che abilità ingegneristiche; e richiede molto tempo.

    
risposta data 23.06.2011 - 02:06
fonte
3

Ci si aspetta che gli sviluppatori senior vadano oltre lo sfornare il codice. Tuttavia, la direzione in cui vanno non dovrebbe essere la stessa per tutti gli sviluppatori senior.

Alcuni sono adatti al mentoring. Altri non lo sono, e dovrebbero perseguire altri obiettivi a livello senior, che si tratti di pianificare e implementare miglioramenti architettonici, o valutare nuove tecnologie, o pianificare e condurre miglioramenti dei processi (ad esempio integrazione continua, TDD, ecc.)

Fondamentalmente, un senior non dovrebbe essere solo qualcuno che ha tagliato il codice per alcuni anni in più rispetto ai junior. Dovrebbe essere qualcuno che è disposto e in grado di assumersi responsabilità aggiuntive che contribuiranno al successo della squadra. Il mentoring junior è importante, ma non è l'unica cosa importante, e non è qualcosa a cui tutti si adattano bene.

    
risposta data 23.06.2011 - 03:04
fonte
3

Non mi sono mai piaciuti i termini Junior e Senior programmatori. Ad esempio, ho programmato per un po 'e sebbene io abbia esperienza in alcune aree, sono molto verde in altri. Ad esempio, ci stiamo spostando su WPF e sebbene io abbia un sacco di esperienza con le maschere di Windows, WPF è ancora nuovo e per me. Quindi, anche se sono un programmatore "senior", potresti assumere qualcuno per strada con meno esperienza "totale" e probabilmente potresti programmare un'applicazione WPF migliore e più veloce di me a questo punto.

Per non dire che non ho molta esperienza nella progettazione e nell'architettura delle applicazioni che potrebbero essere applicate all'applicazione WPF, ma conosco i miei limiti.

Immagino che tu debba essere disposto a essere il mentore in alcune occasioni e il mentee agli altri.

Se hai membri del team che non hanno paura di essere il mentore quando hanno la conoscenza e un mentee agli altri quando hanno bisogno della conoscenza, avrai un'esperienza fruttuosa.

Se puoi promuovere questo tipo di ambiente di sviluppo in cui gli sviluppatori sono umili e aperti a nuove idee e aiutano gli altri quando necessario, le relazioni sempai-kohai verranno fuori naturalmente.

Forzare il mentoring probabilmente creerà un sistema di caste che gli sviluppatori potrebbero risentirsi a vicenda. È meglio trattare tutti gli sviluppatori allo stesso livello.

Questo settore è molto diverso. La senority non è sempre migliore.

A volte gli anziani devono essere seguiti dagli juniores.

    
risposta data 23.06.2011 - 04:37
fonte
3

Obbligare tale mentoring è controproducente perché gli esseri umani si sforzano naturalmente di premiare le persone che fanno un buon mentoring, invitando le persone a vogliono a mentore.

Ovviamente questo solleva il problema di misurare "buono" in questo contesto. Una soluzione imperfetta, ma facilmente implementabile potrebbe essere quella di avere i nuovi arrivati dopo un anno (possibilmente in forma anonima) i nomi di, ad esempio, le prime tre persone che li hanno aiutati a integrarsi nella società e / o nella base di codice. Dopo di ciò puoi premiare le persone i cui nomi vengono citati di più. I premi monetari non funzioneranno qui, comunque. È meglio trovare qualche tipo di ricompensa sociale.

    
risposta data 23.06.2011 - 06:01
fonte
3

la struttura dei lead del team, che porta alle revisioni del codice dovrebbe fare il trucco ...

Avresti un membro anziano del tuo staff responsabile di uno o più junior. Non credo che dovrebbe essere un aiuto spontaneo, ma piuttosto un processo formale; nel senso che il membro anziano sarà responsabile della qualità del lavoro prodotto dai nuovi arrivati. Questo approccio ha 2 vantaggi (almeno): istruisci i senior negli stili di gestione e assicurati che i junior producano un codice di qualità.

    
risposta data 23.06.2011 - 06:34
fonte
2

In tutte le cose che la programmazione dipende . Ma vorrei sicuramente che uno sviluppatore senior assegni nuovi assunti, siano essi junior o meno, per ottenere loro la migliore formazione per il lavoro a portata di mano.

    
risposta data 22.06.2011 - 22:21
fonte
2

No, perché ciò implicherebbe il numero di sviluppatori senior e junior sempre lo stesso. Potrei vedere incoraggiare quegli sviluppatori senior che vogliono essere mentori ma far rispettare un abbinamento potrebbe essere una pessima idea. L'idea di sostenere le relazioni di mentoring è buona e non dovrebbe essere buttata qui.

Tuttavia, l'incoraggiamento artificiale non è una cattiva idea. Dicendo a tutti gli sviluppatori junior e senior che saranno mentori e mentori, non importa cosa potrebbe essere un po 'religioso e controproducente abbastanza rapidamente.

Se esiste un framework noto all'interno dell'azienda su come gestire il mentoring sarebbe fantastico. Tuttavia, se questo non esiste, la chiave diventa avere diversi tipi di momenti tra il mentore e il mentee:

  1. Stato attuale - Dove sono le cose adesso? Qual è la sfida attuale che il mentore può fornire assistenza nella risoluzione?
  2. Stato futuro - Cosa è richiesto: un suggerimento, una soluzione, domande da porre, chi chiedere?
  3. Retrospective - Che cosa ha funzionato e non ha funzionato nell'apportare modifiche?
  4. Cambiamenti futuri: cosa verrà provato in futuro che potrebbe funzionare meglio di quanto è stato fatto in precedenza?

Almeno quelli sono stati che posso vedere e avere senso dal mio punto di vista per adottare un approccio logico dall'alto verso il basso. Altri potrebbero volere qualcosa di molto più organico e di forma libera che possa funzionare altrettanto bene. La chiave è avere un'idea di come ottenere da entrambe le parti abilità che dovrebbero essere affinate attraverso la pratica della comunicazione in questa relazione. Ogni parte dovrebbe ottenere qualcosa dalla relazione e ci dovrebbero essere alcune regole di base comuni nell'avere questo tipo di relazione in quanto il feedback è un grosso problema qui.

Quanto tempo si spende in questa è una domanda giusta che realisticamente si deve guardare a ciò che si sta facendo e fino a che punto è accettabile passare il tempo a sviluppare abilità e costruire relazioni. Ho potuto vedere alcune coppie che vogliono un'ora alla settimana per passare attraverso questo mentre altri possono volere un paio d'ore al giorno per coprire questo. Non dimenticare che ci possono essere altre interazioni in cui un senior e un junior possono lavorare insieme, anche se non all'interno di una relazione di mentoring formale.

    
risposta data 22.06.2011 - 22:52
fonte
2

Ho visto un paio di diversi tentativi di sistemi di mentorship. Quelle che mi piacevano di più erano quelle in cui lo sviluppatore senior aveva una serie specifica di compiti che eseguivano per aiutare lo sviluppatore junior, che apriva la strada al mentoring senza richiederlo. Ad esempio, un revisore dei codici uno per uno dedicato senior dev per i primi sei mesi potrebbe essere molto utile e potrebbe portare a un tutoraggio. Quelli che non mi piacevano erano quelli che sembravano un lavoro più intenso e che non sembra essere direttamente correlato al lavoro svolto - ad esempio, incontra il tuo mentore assegnato per mezz'ora ogni settimana. Ciò era particolarmente fastidioso quando i due membri del rapporto di mentorship non interagivano tra loro durante la settimana e non avevano nulla a che fare con i progetti di ciascuno. Si sentiva molto forzato e permaloso anziché concentrarsi sulla crescita professionale. L'ultima cosa che vuoi è che un rapporto di mentorship si senta come una sessione di consulenza.

IME, non puoi contare su relazioni di mentorship in via di sviluppo, quindi fornire un potenziale mentore abbinando un dev senior e un dev junior per un insieme di normali attività commerciali accoppiate (revisioni del codice, debug, programmazione della coppia, ecc.), almeno all'inizio, è una grande idea. Idealmente, il membro anziano dovrebbe essere volontario per il ruolo e dovrebbe essere in grado di percepire qualche vantaggio personale. Nella mia attuale azienda, gli sviluppatori senior sono quasi i lead per i loro progetti e il vantaggio è che stanno costruendo il proprio team di progetto. Nell'altra azienda, i mentori stavano spesso studiando la pista di gestione.

    
risposta data 22.06.2011 - 23:14
fonte
2

Penso che ogni azienda che assume giovani sviluppatori dovrebbe avere una sorta di programma di mentoring ragionevolmente efficace. Ma non sono sicuro che la posizione predefinita dovrebbe essere che ogni sviluppatore senior dovrebbe farlo per il semplice motivo che molti sviluppatori, indipendentemente da quanto siano bravi nello sviluppo, sono pessimi nel mentoring. Sfortunatamente va con il territorio. Alcuni di noi non sono persone fantastiche se ti piace.

D'altra parte, dove ci sono persone che sono brave a farlo, dovrebbero ottenere il riconoscimento per questo, e non i segni di spunta perché il loro effettivo output di sviluppo cade mentre stanno spiegando un semplice problema localizzato riguardo, oh implementazione IDE ad alcuni novizi chi ha sempre usato NotePad e Javac, ad esempio.

Ciò richiede una gestione equilibrata. Non sono sicuro che sia comune.

    
risposta data 23.06.2011 - 12:54
fonte
2

Affinché qualsiasi tutoraggio funzioni è essenziale che la direzione riconosca che questo è importante e dedica del tempo a questo e incoraggiamo attivamente questo!

Per chiunque sia prenotato al 100% con incarichi, non c'è letteralmente tempo per fare o ricevere mentoring e non accadrà.

    
risposta data 23.06.2011 - 13:58
fonte
1

Generalmente le navi mentori sono un buon punto di partenza per la transizione da senior a team lead o manager. È più efficace collegare il mentorship al progresso in un PDP (Personal Development Plan) o in qualsiasi piano di merito che la tua azienda utilizza. Legare il proprio aumento di stipendio e lo sviluppo della propria carriera, almeno in parte, alla loro capacità di trasmettere conoscenze e spingere nuovi sviluppatori è la chiave per costruire un strong staff IT in grado di superare i cambiamenti nella gestione e nella rotazione del personale. Fornire obiettivi chiave e collaborare con lo staff per aiutarli a migliorare è parte di quella crescita in leadership. Per coloro che pensano che non sia giusto legare una valutazione per anziani a una performance junior che è parte della crescita. Nella maggior parte dei casi non si tratta di un taglio di stipendio, ma di un aumento piuttosto ridotto o di un avanzamento rallentato. Vedere come parte di questo progresso è la capacità di guidare e insegnare a quelli sotto la tua guida questo mi sembra abbastanza naturale.

    
risposta data 23.06.2011 - 15:13
fonte
0

Quando sono arrivato per la prima volta nel team ho avuto il proprietario e uno sviluppatore principale che mi ha dato istruzioni. Potrei chiedere a nessuno di loro qualcosa ed entrambi risponderebbero. Tuttavia, ero abbastanza rispettoso da non continuare a disturbarli a meno che non riuscissi a capirlo in modo tempestivo.

Ha funzionato alla perfezione ma, di nuovo, probabilmente hai bisogno di persone carine con senso dell'umorismo per farlo funzionare.

    
risposta data 22.06.2011 - 23:14
fonte

Leggi altre domande sui tag