Parlerò dell'esperienza, ma tieni presente che ognuno è diverso. Queste cose non sono universali.
Una cosa è lasciarlo andare personalmente. Questo progetto è qualcosa con cui hai vissuto e vissuto per 18 mesi: vorresti naturalmente che ogni cambiamento fosse come lo faresti tu. Dare un buffer per un collega per fare errori, per imparare. Crea una stanza perché possano essere utili. E ricorda che potrebbe non accadere subito. Inoltre sarebbe bello se ci fosse qualcosa, una parte del codice che possono percepire che riescono a migliorare o creare, che sembra un successo in un breve periodo di tempo. La pazienza e la tolleranza hanno una buona retribuzione qui. Non provare a microgestire, e se vuoi criticare, dire "hai torto", assicurati di avere un merito, puoi dimostrarlo, non è una lotta "religiosa".
Un altro problema chiave è trovare la persona giusta per te. Idealmente è meglio trovare qualcuno più intelligente di te. È soggettivo e relativo, ma se senti che una persona ha delle conoscenze e abilità che non hai, è per il meglio. Sarà una collaborazione reciprocamente gratificante.
Ci sono due modi in cui può andare: il collega sarà un drag, e finirai per rifare quello che ha fatto, o le abilità di due di voi si moltiplicheranno, non solo sommando, e apprezzerete davvero lavorare insieme.
Su un argomento di "codice pulito, veloce e riutilizzabile" - suggerisco in un'intervista, chiedo di scrivere un piccolo micro-kernel / gestore del servizio e / o esecutore del lavoro. Scopri come i componenti collegabili sono specificati e configurati. Non deve essere finito, è un pensiero che conta. E anche imparerai rapidamente le persone che sanno bene come farlo vorranno soldi decenti ;-) Buona fortuna!