Circa tre mesi fa sono stato inserito in un progetto che fino a quel momento era in fase di sviluppo da un singolo sviluppatore appena assunto perché era in ritardo. Per essere onesti, il progetto è un'interfaccia per un dispositivo medico che ha molte sottigliezze ed è relativamente complesso, quindi posizionare una persona sul progetto che non ha avuto esperienza in azienda è stata probabilmente una cattiva decisione dal punto di vista manageriale.
Ad ogni modo, una volta che ho iniziato a lavorarci mi sono reso conto che ... beh, non ha funzionato affatto. L'interfaccia utente sembrava carina, ma in realtà non ha fatto molto, e ciò che ha fatto è stato fare in modo errato. Ancora una volta, per essere onesti, gran parte di questo era dovuto al fatto che questo sviluppatore non era adeguatamente preparato a scrivere un'interfaccia sul nostro dispositivo. Tuttavia, ho anche capito rapidamente che il codice che era in atto era fragile ed estremamente difficile da mantenere.
Ora non pretendo di essere il miglior programmatore al mondo. Lavoro con un sacco di persone molto intelligenti che sono sviluppatori migliori di me. Tuttavia mi sforzo molto di scrivere un codice il più semplice possibile e robusto. Metto alla prova i miei check-in. Se vedo che il mio codice sta diventando disordinato e difficile da lavorare all'inizio, lo cambio. Ho avuto alcuni colloqui con il mio collega nel tentativo di aiutarlo a scrivere codice migliore. Questo è un po 'complicato perché a) ha più di 20 anni di esperienza nel settore e io ne ho solo 5 eb) è stato assunto come un cosiddetto "esperto di UX" e altri lo vedono come un individuo esperto.
Detto questo, proprio non lo vedo. È un ragazzo molto simpatico ed è ragionevole, ma ogni volta controlla un codice fragile, funziona solo nel caso più ottimista e 9 volte su 10 finisco per correggere bug nel suo lavoro. Il suo codice sembra solo amatoriale e ovviamente non ha il livello di esperienza che ha affermato di avere quando è stato assunto. È arrivato al punto in cui le ore extra che trascorro a modificare il suo codice e a correggere i suoi bug mi hanno messo a dura prova. Per come la vedo io ho due opzioni:
- Non fare nulla, rompi il sedere per assicurarmi che questo prodotto si spenga in tempo e sia robusto e aspetto che fallisca in futuro (non lavorerò con lui su questo progetto dopo il rilascio iniziale).
- Racconta al mio capo della sua esibizione. Il mio capo è un uomo ragionevole, ma mi sento solo imbarazzato ad adottare questo approccio. Non mi piace "colpire" (per mancanza di un termine migliore) i miei colleghi e non so come lo prenderà.
Quindi, questo è tutto. Ho provato a risolvere questo problema con il mio collega spiegando perché la sua implementazione non funzionerà o in che modo il suo codice potrebbe essere reso più gestibile, ma continua a fare gli stessi errori. Sono molto interessato a sapere come gli altri hanno gestito situazioni simili, in particolare le persone nel management attualmente. Grazie in anticipo per qualsiasi consiglio che puoi offrirmi.