What happens to programmers who lack teamwork?
Quindi diventa difficile lavorare su progetti troppo grandi per un singolo programmatore. Difficile per il programmatore solista e difficile per il resto della squadra.
Where does the problems begin?
Tutti i tipi di posti. Al momento abbiamo un singolo programmatore che non funziona come parte di un team. Tende a fare scorciatoie che hanno effetti negativi sul resto dell'applicazione perché è troppo focalizzato a sistemare il bug di fronte a lui. O scrivere la nuova funzionalità in modo tale che non sia compatibile con il resto dell'applicazione. Dobbiamo riorganizzare le cose in modo che ogni check-in di codice venga esaminato dal resto del team. Ma per non escluderlo, esaminiamo anche i controlli di codice di tutti gli altri, quindi insieme alla riunione sullo stato del mattino, non lavoriamo fino a dopo pranzo. Quindi nel nostro ufficio, questo significa che 4 persone stanno perdendo un giorno e mezzo di lavoro ogni giorno perché un ragazzo è schifoso nel lavoro di squadra. Non posso dire che sia un miglioramento rispetto alle avventure precedenti, perché potremmo perdere casualmente da un giorno a una settimana (di solito inseguendo nuovi bug) dai suoi check-in che rompono le cose (noi chiamiamo quei "robstacles"). Alcune delle correzioni al suo codice finiranno per eliminare una mezza dozzina di bug a causa di quanto sia aggrovigliata e disordinata l'applicazione (la mia raccomandazione a spostalo dall'orbita e ricomincia da capo perché è l'unico modo per essere sicuro che non sia stato accettato).
Quando siamo di umore generoso, lo chiamiamo un "programmatore testa in giù", ha la tendenza a guardare la tastiera e digitare velocemente. Non presta attenzione a ciò che fanno gli altri.
Does being a good programmer compensate at least a little?
No. La maggior parte dei programmatori che sono cattivi giocatori di squadra hanno un'opinione molto alta delle proprie abilità, e questo è chiamato Dunning- Effetto Kruger . PDF di carta.
Forse: il programmatore solista dovrebbe essere di gran lunga migliore rispetto al resto della squadra. Ma questo significa solo che nessun altro può mantenere ciò che fa; e quando ciò accade, probabilmente significa che il programmatore solista non è in realtà molto meglio del resto della squadra - lui (ed è quasi sempre un ragazzo) è solo più bravo a ingannare tutti.
Nello sviluppo del software aziendale, la società sarà a lungo dopo la tua partenza. I programmi sono stati scritti molto probabilmente prima di iniziare e verranno mantenuti a lungo dopo che te ne sei andato. Se scrivi cose così speciali e sorprendenti che nessun altro può capirle, ti ritrovi nella situazione in cui Naughty Dog è in - il loro sviluppatore principale ha smesso, nessuno ha compreso il linguaggio di programmazione proprietario che il ragazzo ha scritto (e ha scritto le cose), quindi ora devono cambiare tutto in C ++.
Is it normal for a programmer to have a vision about his work instead of just doing what he is told?
È comune - come un ingorgo o un diabete. Non lo chiamerei normale Nel mondo aziendale, ci sono molte altre cose da considerare; il strong ego che molti sviluppatori hanno tipicamente fatto credere allo sviluppatore che non importa nient'altro. Questa "mancanza di adattamento" e la mancanza di considerazione per il resto del business è il motivo per cui così tanti manager-tipi arrivano alla conclusione che gli sviluppatori di software sono difficili da lavorare.