Sono il capo di una piccola squadra in cui tutti hanno meno di un anno di esperienza nello sviluppo di software. Non mi definirò affatto un guru del software, ma ho imparato alcune cose nei pochi anni in cui ho scritto software.
Quando eseguiamo le revisioni del codice, faccio un bel po 'di insegnamento e correzione degli errori. Dirò cose come "Questo è troppo complicato e complicato, ed ecco perché" o "Cosa pensi di spostare questo metodo in una classe separata?" Sono molto attento a comunicare che se hanno domande o opinioni dissenzienti, va bene e dobbiamo discutere. Ogni volta che correggo qualcuno, chiedo "Cosa ne pensi?" o qualcosa di simile.
Tuttavia raramente, se mai non sono d'accordo o chiedono perché. E ultimamente ho notato segni più evidenti del fatto che sono ciecamente d'accordo con le mie affermazioni e non hanno espresso opinioni proprie.
Ho bisogno di una squadra che possa imparare a fare le cose in modo autonomo, non solo seguire le istruzioni. Come si può correggere uno sviluppatore junior, ma incoraggiarlo a pensare da solo?
Modifica: Ecco un esempio di uno di questi segni evidenti che non stanno formando le proprie opinioni:
Me: I like your idea of creating an extension method, but I don't like how you passed a large complex lambda as a parameter. The lambda forces others to know too much about the method's implementation.
Junior (after misunderstanding me): Yes, I totally agree. We should not use extension methods here because they force other developers to know too much about the implementation.
C'è stato un malinteso, e questo è stato affrontato. Ma nella sua affermazione non c'era nemmeno un OUNCE di logica! Pensò che stava rigurgitando la mia logica per me, pensando che avrebbe avuto senso quando davvero non aveva idea del perché lo stesse dicendo.