Poni queste domande sul tuo vantaggio.
- Sono abituati a lavorare da soli o con una squadra molto piccola?
- Hanno principalmente codificato in questo negozio?
- Sono abituati a prendere le decisioni?
- Sono abituati a "solo farlo"?
- Hanno scritto la maggior parte del codice?
Se le risposte sono "sì", allora dipingerò un'immagine di un particolare tipo di programmatore principale. Se corrisponde a quello che hai vissuto, forse ti aiuterà a metterti in testa. In caso contrario, ignora questa risposta .
Questo è qualcuno che è stato lì fin dal primo giorno, ha trascorso anni nello stesso lavoro lavorando sulla stessa base di codice, è abituato ad avere la propria strada e non ha molta esperienza con altri modi.
Non considerano le altre persone quando scrivono codice poiché tutto ha un senso per loro. Certo che lo fa, l'hanno scritto o hanno passato anni a capirlo.
Considerano lo stile di codifica come una preferenza personale, non uno strumento per ridurre la manutenzione e i bug. Quando discutono dello stile di programmazione, faranno fatica ad ascoltare i tuoi argomenti perché probabilmente non hanno mai pensato molto al perché fanno le cose a modo loro. Quello che sentiranno è "Voglio farlo a modo mio" o "Voglio farlo nel modo nuovo, elegante e alla moda".
Sono disposti a modo loro. Perché lo hanno fatto allo stesso modo per così tanto tempo tutti i loro strumenti, editor e cervello micro-configurati esattamente nel loro stile. Qualsiasi deviazione da questo stile entrerà in conflitto con questo modo di lavorare attentamente organizzato, ma molto fragile. I tentativi di cambiamento porteranno lamentele sul loro editore, sugli strumenti, sul modo in cui a loro piace lavorare o sul fatto che siano "difficili da leggere". Rifiutano il cambiamento perché si sono impacchettati così tanto nello status quo che non possono cambiare.
Questo è qualcuno che non ha mai appreso correttamente l'ingegneria del software e l'architettura del software. In un certo senso fanno il botto insieme qualunque cosa funzioni.
Hai un problema di persone, non tecnologico.
Dovrai riqualificare il tuo vantaggio o dovrai smettere.
Andare alla gestione è l'ultima risorsa . Sia per i motivi indicati da @JaredSmith sia perché perderai. Questo ragazzo ha passato anni a fare soldi per loro. Ha scritto la loro compagnia. Si è spento in numerosi incendi. Per te è uno chef da cowboy che fa gli spaghetti. Per loro è un eroe che ha costruito e salvato la compagnia.
Per riqualificarti dovrai ...
- Guadagna la sua fiducia.
- Scopri come pensa.
- Affronta le sue paure riguardo al cambiamento.
- Rendi il cambiamento più semplice.
- Mostra come questo è meglio per lui .
Prendi sul serio il suo stile ed entra nella sua testa. Chiediglielo. Perché fa le cose come fa? Cosa vede quando lo legge? Come interagisce con i suoi strumenti? Come si muove attraverso il codice? Conoscere tutte queste cose ti permetterà di comprendere e affrontare le sue obiezioni.
Trova la radice obiettiva delle sue obiezioni soggettive, rendile fruibili. "È difficile da leggere" è soggettivo e non fornisce informazioni. Non puoi farci niente. "Sono daltonico e l'evidenziazione della sintassi non funziona" è oggettivo, ti dà informazioni e puoi fare qualcosa al riguardo. Consiglierei un libro intitolato Come arrivare a Sì per saperne di più.
Una volta che hai riscontrato il problema alla radice, il vero problema che sta riscontrando, vedi se riesci a risolverlo o mitigarlo. Quindi non è un problema. Probabilmente avranno ancora problemi emotivi con il cambiamento, ma almeno non possono più sostenere che si tratti di un problema reale.
Fallo un po 'alla volta. Questa è una persona che lo fa da anni. È abituato a vedere determinati schemi nel codice e ad usarli per capirlo. Cambiare improvvisamente tutti questi schemi sarà confuso. Per quanto frustrante possa essere quello di portarli lentamente al passo con le buone pratiche conosciute, devi affrontarlo.
Sostenere uno stile di comunità standard. Questo elimina l'argomentazione che riguarda le preferenze personali e mette la pressione su di loro per giustificare perché il loro diverso stile è molto meglio. Se prevedi di assumere, semplifica l'integrazione di nuovi assunti.
Sostenere lo stile di codice automatizzato. Rendi seguendo lo stile corretto una pressione di un pulsante. Usa uno strumento che inizia con uno stile standard, che ti consente di configurarlo secondo i tuoi gusti e che può ridisegnare il codice con la semplice pressione di un pulsante. Rendere il più semplice possibile seguire lo stile rimuove molti argomenti su quanto sarà difficile da seguire. Possono codificare come preferiscono e quando hanno finito premono un pulsante e segue uno stile che altri possono leggere.
Dal momento che questa persona non è nella mentalità di pensare agli altri, dovrai mostrare come questi cambiamenti li giovano. Può essere semplice come "dato che questo è lo standard ora, non dovrai più affrontare questa lotta con la prossima persona che assumi". Oppure può essere "se abbiamo dei test puoi essere più aggressivo nel cambiare il codice e preoccuparti di meno nel cambiare le cose". Oppure "se ci sono buoni documenti, le persone non dovranno continuare a disturbarti con domande su come funziona il codice". Perché questo sia efficace, devi sapere cosa vogliono: ad alcune persone piace essere disturbate, le fa sentire importanti.
È una strada lunga, lunga. Dovrai decidere se hai la pazienza di gestire e riqualificare il tuo capo. Pensa a te stesso più come al loro insegnante che al suo frustrato sentimento, e potresti sentirti meglio.