Consigli per diventare un programmatore migliore [chiuso]

5

Sono un team leader che si occupa di un programmatore con una laurea in Informatica. Ha un paio di anni di esperienza ed è ancora una scimmia del codice. Avendolo osservato da un po ', è molto lento nel programmare anche domande in stile fizzbuzz. Per altre cose, cerca di accontentarsi di armeggiare di codice o di chiedere aiuto nei forum di programmazione. Per gli scripting che ottiene può a malapena farcela, ma per il nostro lavoro principale di sistemi embedded che utilizzano le nostre toolchain proprietarie, i forum online non sono di grande aiuto. Di conseguenza, è in ritardo o incompleto, quindi sono costretto ad assegnare il suo lavoro agli altri. Di fronte a lui riconosce tutto questo, ma non sa quali passi pratici ha bisogno di prendere su come migliorare.

Rimane bloccato per molto tempo, non riuscendo a eseguire il debug. Come sviluppare le sue capacità a un livello superiore, renderlo un risolutore di problemi, sviluppare abilità architettoniche e comprendere grandi sistemi, eseguire il debugging e fargli pianificare i suoi compiti? In tutte le sue recensioni sulle prestazioni annuali non ha mai votato in alto. Come leader della sua squadra, devo sviluppare un piano d'azione in consultazione con lui.

Chiedergli di lasciare è sempre l'ultima opzione, ma vorrei evitarlo.

    
posta andrew 03.12.2011 - 11:35
fonte

6 risposte

10

Anche se Oded ha ragione (è stata anche la mia prima reazione), potresti avere a che fare con qualcuno che non ha ancora sviluppato un approccio strutturato al suo mestiere.

Se hai il margine di manovra nei tuoi progetti (e dovresti avere dato che non contribuisce molto al suono e comunque il suo lavoro è già svolto per lo più da altri), unisciti a lui con un altro sviluppatore.

Invitali a lavorare in una configurazione di programmazione a coppia con lo sviluppatore più debole ai "controlli" del PC e lo "sviluppatore" più strong che lo "aiuta". Rendilo chiaro a entrambi che è responsabilità dello sviluppatore minore implementare / eseguire il debug di qualsiasi cosa tu assegni alla coppia e che lo sviluppatore più strong è "solo" lì per aiutarlo a migliorare e renderlo più indipendente. (E se è una preoccupazione, assicurati che lo sviluppatore più strong non debba preoccuparsi dei suoi obiettivi di produttività annuale della recensione ...)

Lo sviluppatore più strong non dovrebbe / mai prendere il sopravvento o andare in modalità docente. Invece (s) dovrebbe fare domande come: "cosa devi sapere per andare avanti?", "Cosa ti dice questo?", "Come puoi scoprire se?", Ecc.

Per lo sviluppatore più strong scegli uno a cui piace aiutare gli altri ed è in grado di comunicare chiaramente come (i) egli svolge i suoi compiti. Scegline uno anche le cui abilità sono al di sopra delle sue, ma non troppo altrimenti il divario sarà troppo ampio e entrambi saranno frustrati abbastanza rapidamente (anche se per ragioni diverse).

    
risposta data 03.12.2011 - 11:59
fonte
3

bene, ha bisogno di leggere alcuni libri di programmazione e guardare tutorial online, cioè lezioni di stanford. Ovviamente non ha le conoscenze necessarie per programmare.

    
risposta data 03.12.2011 - 16:26
fonte
2

Quando ho iniziato a lavorare fuori da scuola ero intimidito dalla quantità di codice sconvolgente. Codice che non ho capito per l'avvio. Sono un maestro procrastinator e avevo paura di infrangere il codice. Dopo che questo è andato via ho sviluppato le mie capacità ben oltre ciò che avevo immaginato.

Questo perché la programmazione richiede conoscenza tacita . Non è qualcosa che può essere facilmente comunicato o insegnato come nel caso di un fatto esplicito. Ci vuole molto tempo per sviluppare un "know-how" di qualsiasi cosa, la programmazione non fa eccezione. Direi anche che specialmente in cose come la programmazione.

Forse puoi comportarti come se il suo lavoro fosse in linea (e forse lo è davvero). Vedi se questo fa scalciare la sua zucca. In caso contrario, temo che @Oded abbia ragione.

    
risposta data 03.12.2011 - 11:44
fonte
1

Avevo uno sviluppatore nel mio team che era intimidito dal nuovo codice e dal nuovo linguaggio (questo era in un ambiente in cui si apriva una posizione per un set di abilità generali e alla fine qualcuno veniva assegnato, senza un vero colloquio o input nel selezione). Avrebbe sempre procrastinato, e quando l'ho affrontato a riguardo, ha detto qualcosa con l'effetto di "Sto ancora imparando questo, quindi ogni compito è un rompicoglioni".

La mia risposta: "Mi dispiace, ma l'unico modo per superarlo è avere un culo dolorante per un po '."

Per quanto riguarda lo sviluppatore del problema, sarei d'accordo con gli altri soccorritori sul mentoring pratico. Avere quella seconda persona aiuterà a insegnargli i processi e i modi di pensare, per non parlare della possibilità di lasciare vagare la mente (e il browser).

    
risposta data 03.12.2011 - 14:22
fonte
1

Questo non è diverso da qualsiasi manager, si occupa di qualcuno che non sta guadagnando il suo mastio. Mi sembra che tu non abbia ancora parlato con lui. Rendi la tua priorità assoluta.

Quando gli parli, non dire quello che hai detto qui. È tutto vago e accusatorio.

Preparati con un elenco di esempi specifici di ciò che ha fatto di sbagliato o in cui non ha eseguito. Sii pronto ad aiutarlo. Scopri quali sono le sue preoccupazioni e cerca di trovare corsi di formazione per risolvere i problemi. Come se fosse più a suo agio nel fare coppia con altri sviluppatori senior per un po '. Rivedi personalmente il suo codice e offri una critica costruttiva.

Soprattutto, non arrenderti ancora.

Se ciò non funziona, è necessario adottare un approccio più aggressivo. Trova i modi per misurare il problema. Sii molto specifico su dove non è all'altezza delle tue aspettative, visto il suo grado di retribuzione e dove deve essere tra 6 mesi. Follow-up con 1-a-1 almeno una volta al mese (dovresti farlo comunque, per l'intera squadra).

Se non riesce a raggiungere gli obiettivi che hai fissato per lui in 6 mesi, allora e solo allora dovresti suggerire di prendere un taglio di pagamento o di andartene.

Un'altra cosa: coinvolgi il tuo manager fin dall'inizio. Digli che vuoi il suo consiglio, non che si impegni personalmente. Ma assicurati che sia a conoscenza della situazione e di tutto ciò che fai, in modo da avere un sostegno nel caso in cui il dipendente ti accenda, tramite risorse umane o tribunali o altro.

    
risposta data 03.12.2011 - 15:09
fonte
0

Parlare con lui è imperativo.

Capendo se si preoccupa del suo lavoro di programmazione, se è interessato a ciò, qual è la sua motivazione? È una questione di mancanza di fiducia in se stessi ??

Se è interessato, forse comprarlo il SICP libro potrebbe aiutarlo.

    
risposta data 03.12.2011 - 16:01
fonte

Leggi altre domande sui tag