Come si fa a introdurre la base di codice, che può essere piuttosto complessa e ingarbugliata con molti "gotchas", a un nuovo membro della tua squadra?
Penso che il modo più semplice sarebbe avere l'architettura generale strutturata con diagrammi e impiegare un paio di settimane (o mesi) dando alla nuova persona compiti ben definiti (e ben definiti) man mano che si abitua al codice.
Tuttavia, in qualità di consulente (e dipendente junior), non posso sempre averlo a causa di vincoli di tempo o designazioni di ruoli di squadra. (Sono stato su questo particolare progetto due volte più di chiunque altro, quindi "junior" non è in alcun modo "meno a conoscenza del codice / progetto".)
Sono stato incaricato parecchie volte di presentare un nuovo membro al progetto e al codice, e purtroppo ogni volta che trovo che non sono molto più bravo di quello precedente. Adoro i diagrammi e le immagini, ma spesso sento che non spiegano adeguatamente la complessità di un sistema. (Che dire di tutti i "gotchas" del piccolo?)
Il progetto sta arrivando al punto in cui lo consegneremo al cliente e, per rendere le cose più difficili, la persona con cui farò un trasferimento di conoscenze è essenzialmente appena uscita dal college. (Non che sto molto meglio quando faccio trasferimenti di conoscenza con sviluppatori senior.)
Frequento un gruppo di utenti una volta al mese e altre opportunità quando si presentano, quindi non sono inutilizzato per essere introdotto a nuovi argomenti, ma sento la mia capacità di replicare una condivisione efficace delle conoscenze dolorosamente inadeguata.
Qualsiasi consiglio sarebbe molto apprezzato. Sto cercando principalmente una linea guida che posso seguire. Ad esempio: da dove inizi? Come procedete? Come si coprono le tecnologie o i modelli non familiari da parte dell'ascoltatore senza passare tutto il giorno? Dove ti leghi tra logica aziendale e struttura del codice?
Grazie!
(Come sempre, non esitare a modificare la domanda come ritieni opportuno.)
# TODO: fix this ugly hack