Nella domanda Gestione del mio collega antiquato , varie persone hanno discusso le strategie per affrontare colleghi che sono non desiderosi per integrare il proprio flusso di lavoro con quello del team.
Mi piacerebbe, se possibile, imparare alcune strategie per "insegnare" un collega che è semplicemente ignorante delle tecniche e degli strumenti moderni, e forse un po 'apatico.
Ho iniziato a lavorare con un programmatore che fino a poco tempo fa lavorava in relativo isolamento, in una parte diversa dell'azienda. Ha una vasta conoscenza del dominio e, soprattutto, ha dimostrato buone capacità di problem solving , cosa che a molti candidati sembra mancare.
Tuttavia, il codice effettivo (C #) che ho visto è un ritorno ai VB6 giorni. Struttura procedurale, notazione ungherese, variabili globali (abuso di static
), nessuna interfaccia, nessun test, non uso di Generics, lancio di System.Exception
... si ottiene l'idea.
Questo programmatore è un po 'più vecchio di me e, almeno per le prime impressioni, non attivamente cerca un cambiamento positivo. Non ho intenzione di cambiare resistente , perché penso che sia in gran parte un problema di come viene affrontato l'argomento e voglio essere preparato.
I programmatori tendono a essere testardi e andare avanti con le pistole in fiamme e istituire revisioni del codice da "rip-it-to-shred" e le politiche strettamente applicate è molto probabile che non produrrà il risultato finale che Voglio. Se questa fosse una nuova assunzione, un programmatore junior, non ci penserei due volte a prendere una posizione di "mentore", ma sono estremamente diffidente nel trattare un impiegato esperto come un inesperto novizio (che non è - non ha tenuto il passo con alcuni progressi nel campo).
Come potrei migliorare lo standard di qualità del codice dello sviluppatore secondo la modalità Dale Carnegie, attraverso la delicata persuasione e incentivi non materiali? Quale sarebbe la migliore strategia per effettuare cambiamenti sottili e graduali, senza creare una situazione contraddittoria?
In passato, altre persone - specialmente gli sviluppatori di piombo - erano in questo tipo di situazione? Quali strategie hanno avuto successo nel stimolare l'interesse e creare una dinamica di gruppo positiva? Quali strategie non sono riuscite e sarebbe meglio evitare?
Chiarimenti:
Sento davvero che molte persone rispondono in base a sentimenti personali senza realmente leggere tutti i dettagli della domanda. Si prega di notare quanto segue, che avrebbe dovuto essere implicito, ma ora lo sto esplicitando:
-
Questo collaboratore è solo il mio "senior" in virtù dell'età. Non ho mai detto che il titolo, la sfera di influenza o gli anni dell'organizzazione superano il mio, e in effetti nessuna di queste cose è vera. È un programmatore LOB che è stato assorbito nel principale negozio di sviluppo. Questo è tutto.
-
Non sono un nuovo assunto, un programmatore junior o un altro ingenuo idiota con grandi piani per trasformare l'azienda da un giorno all'altro. Sono fondamentalmente responsabile del processo software, ma tutti quelli che hanno lavorato come "lead" sapranno che le responsabilità non sono sempre correlate esattamente all'organigramma.
-
Sono non che chiede alle persone come ottenere la mia strada, come l'inferno o l'acqua alta . Potrei farlo se volessi, con il risultato netto che questa persona sarebbe risentita e / o smettere. Cerca di capire che sto cercando un metodo social , cooperativo per guidare il cambiamento.
-
La menzione di "... variabili globali ... nessun test ... il lancio di
System.Exception
" aveva lo scopo di dimostrare che i problemi non sono solo superficiali o estetica . Pratiche che potrebbero funzionare per applicazioni CRUD relativamente piccole non funzionano necessariamente per le app di grandi aziende, e infatti, nessuno del codice finora ha superato i test di integrazione.
Per favore, cerca di rispondere alla domanda, accetta che io sappia di cosa sto parlando, e rispondi alla domanda che ho effettivamente chiesto o prosegui.
P.S. La mia più sincera gratitudine a coloro che -did- offrono consigli costruttivi piuttosto che discutere con la premessa. Ho intenzione di lasciarlo aperto ancora per un po ', mentre spero di sentire di più in termini di esperienze del mondo reale.