Come posso rendere confortevole la vita di un nuovo assunto? [chiuso]


36

Come membro senior di un team di software che, sfortunatamente, ha poca documentazione per motivi legacy, quali sono le cose che si potrebbero fare per rendere più confortevole un nuovo noleggio?

Ho pianificato sessioni di debug con la persona su specifici difetti / richieste di funzionalità per fargli conoscere la base di codice. Tuttavia, la base di codice è molto ampia, ed è solo una quantità fissa di codice a cui posso esporre la persona in questo modo.

Sto cercando suggerimenti in entrambi i casi quando il nuovo assunto è un neolaureato o un professionista con esperienza.


3
Che cosa significano "motivi legacy"?
Giobbe

9
@Job: significa che gli architetti originali del codice non credevano nella documentazione. Erano persone mistiche.
Fanatic23,

7
Direi che la tua nuova assunzione ha bisogno di tempo e supporto e nessuna scadenza immediata! Sono stato quel nuovo assunto in cui i bug dovevano essere corretti APPENA POSSIBILE per la patch di un cliente, ma molti di loro erano piuttosto coinvolti - avevo bisogno di andare in giro e parlare letteralmente con 6 persone, producendo risposte contrastanti. Qualcuno ha lanciato perché ho fatto troppe domande. Sarebbe stato più facile se quel ragazzo avesse corretto il codice da solo. Avevo bisogno di disponibilità di persone + nessuna scadenza immediata + un'abilità (tempo assegnato) per migliorare le cose mentre andavo. Non avevo quelli, quindi ho quasi smesso ma ho deciso di non farlo per l'esperienza :(
Giobbe

@Job: molto utile, grazie. Nessuna scadenza immediata è un buon inizio e una mano libera per migliorare le cose migliorerebbe sicuramente la fiducia dei candidati.
Fanatic23,

Risposte:


31

Questi si applicano davvero a qualsiasi nuova assunzione, siano essi più freschi o abbiano una vasta esperienza nel settore:

  1. Assicurati di essere accessibile. Se sei troppo impegnato per aiutarli a familiarizzare con il tuo sistema, assegna loro un mentore. Assicurati che il mentore sia simpatico e disposto a fare cose come uscire a pranzo con il nuovo assunto. Il compito del mentore è di rispondere a qualsiasi domanda che il nuovo assunto possa avere e di fornire loro una mano quando necessario.
  2. Assicurarsi che tutte le attività assegnate abbiano il minor numero di dipendenze possibile. Non c'è nulla che possa far sentire qualcuno di nuovo nel tuo sistema (esperienza nuova o di oltre 5 anni) più che assegnarli a un'attività che ha dipendenze sparse in tutto il sistema (che dovranno anche imparare per completare il loro compito)
  3. Avere una qualche forma di elenco contatti / proprietà disponibile attraverso un sito Intranet o qualcosa del genere. Le nuove persone (in particolare le matricole) sono generalmente piuttosto incerte a chiedere "a chi chiedo del xsottosistema?". Se c'è un elenco a loro disposizione a noleggio, sono molto più disposti a inviare un'e-mail o parlare direttamente con loro senza dover passare attraverso una catena di persone per trovare quella giusta.
  4. Ottieni la documentazione . Applicare standard di codifica che includano commenti che possono essere analizzati con un'utilità come Doxygen. Come minimo, questo fornirà ai nuovi assunti la capacità di navigare attraverso la tua API. Se si utilizza un IDE come Netbeans, l'utilizzo del formato di commento Javadoc fornirà la documentazione insieme al suo completamento del codice. Inestimabile quando si impara un nuovo sistema.
  5. Avere un po 'di incontro di benvenuto / pranzo / nonnismo / ecc. Immergere qualcuno nella propria scrivania senza alcune cortesie personali di base può farli sentire piuttosto distaccati dalla squadra.

1
Grazie ma cosa succede se un nuovo assunto è troppo difficile da capire e cerchiamo di non accettare la sua colpa anche se insegniamo loro a un livello massimo - sto vivendo una situazione in cui un nuovo assunto non è buono e sto gestendo i suoi compiti anche nello sviluppo - grazie ancora
Naveen Kumar

2
@naveen: esiste una cosa come un cattivo noleggio. Se non sono assolutamente disposti (o non sono in grado) di apprendere o assumersi la responsabilità per i loro compiti, allora parlerei con il loro manager e lo lascerei nelle loro mani - o parleranno con il nuovo assunto per vedere se possono aiutare ulteriormente e forse (si spera) metterli sulla buona strada, o il nuovo assunto potrebbe scoprire che preferirebbe perseguire altri interessi fuori dalla tua azienda.
Demian Brecht,

10

Penso di poterti davvero aiutare con questo. Quando avevo 18 anni, il mio primo lavoro era una posizione di sviluppatore Jr. .Net. Avevano un framework molto ampio e mi ha fatto saltare direttamente all'apprendimento di un corso intensivo su CAB, e quando è arrivato il primo progetto mi aspettavo di stimare il progetto e imparare SqlServer e il loro framework. Ciò che ha reso questa esperienza meravigliosa è stato il fatto che il mio sviluppatore senior fosse lì per me durante tutto il processo, dalle stime, al server SQL, al loro framework. Ho imparato quello che dovevo imparare in modo tempestivo perché ero in grado di usarlo come risorsa per domande e aiuto. Intendiamoci, questo è stato fatto anche mentre ero in Colorado, ed era in California. (Sviluppo remoto). Mi ha fatto leggere white paper su CAB, mi ha indicato buone risorse, ecc., Quindi non è come se dovesse fare tutto l'insegnamento, ma quando si trattava di domande lui era lì. In conclusione, hai bisogno di qualcuno che supporti il ​​tuo Jr. Developers. Soprattutto se vuoi che imparino e crescano con l'azienda e abbiano un buon rapporto di lavoro. Volevano che mi trasferissi in California perché erano contenti della velocità con cui ero in grado di apprendere e progredire, e il mio lavoro, sfortunatamente non potevo fare la mossa a causa di costi / ecc.

Quell'esperienza ha davvero creato un tratto anche in me. Ora sto sviluppando software da solo con successo per aziende e fondazioni nella mia città locale e ho ancora solo 21 anni. È stato il primo lavoro migliore e sono estremamente grato a Tom Anderson di RenEvo Software & Designs (che era il mio sviluppatore senior). Un mentore straordinario.


Grazie per aver condiviso la tua storia. Capisco come ci si sente ad essere lì per un candidato junior, ci sono stato ad un certo punto.
Fanatic23,

Ben fatto Tom Anderson. Bella storia.
Gary Rowe,

Tom Anderson - David Anderson. Coincidenza o sei imparentato con Tom?
zeroef

Abbastanza strano, coincidenza.
David Anderson,

4

La compagnia con cui mi trovo ora, IMO, lo fa bene per i nuovi assunti. Ecco alcune delle cose che ho visto essere efficaci.

mentori

Forse un po 'improprio perché alcuni sviluppatori esperti potrebbero non pensare di averne bisogno, ma abbiamo 1 persona a cui è assegnato il ruolo di mentore. Questa persona deve essere disponibile per rispondere a qualsiasi domanda tu possa avere. Funziona meglio se si siedono vicino al nuovo assunto. Il punto centrale di un mentore è che i nuovi assunti, specialmente i giovani, siano abbastanza comodi da non cadere nella trappola di non fare abbastanza domande .

Documentazione

Ne hai già parlato, ma la documentazione può essere d'aiuto. Abbiamo un documento nel nostro wiki qui che descrive sostanzialmente le tue prime due settimane di lavoro. Quando hai terminato la tua prima rampa di due settimane, ti sei ritrovato in un solco, hai ottenuto il terreno e sei a tuo agio a lavorare lì.


Troppo tutoraggio porta a un dipendente che ha bisogno di una babysitter per la maggior parte del tempo e chiede qualsiasi cosa, davvero qualsiasi cosa invece di leggere il codice ecc. Lo consiglierei solo per ragazzi.
Falcon,

1
@Falcon: non l'ho visto accadere in pratica, ma forse posso chiarire che il mentore è più di una persona il cui ruolo è ben definito per il nuovo assunto come qualcuno che deve mantenere l'alta disponibilità per il nuovo assunto per rispondere alle domande o indirizzare il nuovo assunto a qualsiasi informazione di cui abbia bisogno. Ancora una volta, un po 'improprio, ma non riesco a pensare a un nome migliore per il ruolo.
Steven Evers,

1
@falcon: non sono d'accordo (riguardo a consigliarlo solo per ragazzi). Quelli con esperienza migliorano solo da soli (ok, quindi la maggior parte può ) o diventa più facile con il mentoring? C'è sempre qualcuno migliore di te, qualcuno che è in giro da più tempo e qualcuno da cui puoi imparare, per aiutarti ad arrivare a quel passo successivo nella tua carriera, che tu sia un nuovo assunto o CTO.
Demian Brecht,

1

Pazienza

Entrare a far parte di una nuova azienda può essere abbastanza scoraggiante, soprattutto se hai un nuovo prodotto da imparare e usi strumenti diversi a cui sei abituato. Concedi loro il tempo di accontentarsi del nuovo ambiente e mettersi al passo. Assegna loro le attività da svolgere, ma tieni presente che impiegheranno molto più tempo di un normale programmatore esperto.

Supporto

Non devi necessariamente assegnare loro un mentore dedicato, ma assicurati che ci siano molte persone intorno che possano offrire loro aiuto quando ne hanno bisogno.


Ognuno ha diversi modi di apprendere, alcuni potrebbero scoprire di aver bisogno di un mentore, altri potrebbero trovare un mentore che li rallenta. Non esiste una soluzione unica per tutte le soluzioni, quindi invece lascia che trovino il loro terreno e li sostengano, e sii paziente mentre imparano le corde.


1

Ho iniziato con un nuovo lavoro 4 mesi fa e penso davvero che il mio nuovo posto di lavoro abbia fatto davvero un buon lavoro su questa nuova roba di noleggio.

A. Buddy

Hanno un cosiddetto "programma amico", in cui gli sviluppatori possono iscriversi per diventare un amico / mentore per i nuovi dipendenti. Quando viene assunto un nuovo sviluppatore, uno sviluppatore nella stessa squadra (che si è iscritto per diventare un amico) viene indicato come compagno / mentore del nuovo ragazzo. È sua responsabilità far funzionare il nuovo ragazzo, aiutarlo con i problemi che incontrerà, andare a pranzo con lui, presentarlo alla squadra e così via.

B. Bassa dipendenza

Anche questo è stato menzionato in precedenza, ma inizia con incarichi non critici e troppo difficili da svolgere, senza la piena conoscenza della base di codice. Non c'è niente di peggio che essere gettati in una base di codice che non conosci e che quindi devi eseguire dal primo giorno. Se possibile, prendi incarichi relativamente facili e che si estendono su tutto il sistema. In questo modo acquisirà una certa conoscenza del sistema.

Probabilmente hai piccoli compiti che non hai avuto il tempo di fare, quando hai scritto il codice per la prima volta. Dagli quei compiti.

C. Formazione di nuova assunzione

Questo è probabilmente un lusso per la maggior parte, ma lavoro in una grande azienda che può permettersi di farlo. Ogni mese o ogni due mesi circa viene organizzata una sorta di formazione per nuovi assunti. Si tratta sostanzialmente di una serie di presentazioni, con l'obiettivo di fornire ai neoassunti un qualche tipo di conoscenza del sistema, di come vengono eseguiti i test, di come funziona il tracciamento dei bug e così via.

Dove lavoro, ci sono molti team diversi, che lavorano su compiti completamente diversi, ma sullo stesso software. Un membro di ogni squadra è assegnato a fare una presentazione dalla propria parte del software, in cui fornisce un'introduzione a ciò che fa quella parte, come funziona e così via. Oltre a ciò ci sono corsi di formazione sui test (sto lavorando come tester) su come vengono scritti i test, su come vengono eseguiti, su come vengono controllati nella base di codice e così via.


Per riassumere, sii gentile con i neoassunti e non aspettarti un lavoro serio da loro nel primo mese circa. Fornisci loro strumenti per ottenere aiuto e, se possibile, fornisci loro presentazioni o video.


1

Disegna uno schizzo rapido su un pezzo di carta. Blocchi funzionali e dati viaggiano tra di loro. In modo che il nuovo assunto possa tenere a portata di mano questo elenco e cercare dove si trova il punto che sta cercando di toccare e quali moduli lo influenzano gerarchicamente.

Tutto il resto arriva con il tempo. Ma è il quadro generale che ti fa sentire stupido quando devi cambiare 2 righe di codice, ma non hai idea di quali effetti collaterali possono causare su moduli dipendenti, blocchi di codice, ecc.


0

Oltre a quanto detto in precedenza, identifica le esigenze di formazione e provvedi fornendo tempo, materiale, lezioni interne, libri, ecc. È probabile che non tutti sappiano tutto. Informalo che va bene.

Tienilo lontano dai "cattivi". Di solito ci sono almeno 1 persona arrogante in ogni organizzazione (questa è la mia legge :))

Se assegni un mentore, assicurati che il mentore sappia che è compito del mentore aiutare e non è del tutto gentile. Trova il tempo nel programma del mentore per quello.

Segui i suoi progressi nel primo mese o giù di lì, se puoi, deduci i suoi problemi.

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.