La scorsa settimana stavo guardando questa incredibile intervista di Kevin Rose di Phillip Rosedale, di Second Life.
E hanno avuto una discussione stupefacente su come trovare, assumere e identificare i programmatori bravi, e quanto è difficile trovare quelli validi.
Il che mi ha portato a pensare veramente al modo in cui i programmatori apprendono, vengono insegnati. Per la maggior parte di noi, me compreso, siamo autodidatti. Il bello di essere un programmatore, chiunque può apprendere e sviluppare competenze.
Ma ciò significa anche che non esistono standard reali su ciò che un buon programmatore è / sono e che tipo di ambiente incoraggia la crescita delle capacità di programmazione.
Questa non è una domanda, ma solo un desiderio in me, per vedere come possiamo cambiare la cultura della programmazione e i manager della programmazione, in modo che l'educazione e l'auto-miglioramento siano incoraggiati.
Ci sono molte vie per la formazione continua, video di youtube, libri, conferenze, ma a causa della natura esperienziale di ciò che facciamo, non è sempre chiaro cosa è importante imparare e padroneggiare.
Diamo un'occhiata a The Joel 12 Steps.
Il test di Joel
Usi il controllo del codice sorgente?
Puoi creare una build in un solo passaggio?
Crea build giornalieri?
Hai un database di bug?
Risolvi i bug prima di scrivere un nuovo codice?
Hai una pianificazione aggiornata?
Hai una specifica?
I programmatori hanno condizioni di lavoro silenziose?
Usi gli strumenti migliori che il denaro può comprare?
Hai dei tester?
I nuovi candidati scrivono il codice durante il colloquio?
Esegui test di usabilità nel corridoio?
Penso che tutti questi abbiano un valore importante, ma a causa di qualcosa che definisco Gap Esperienziale, se un programmatore o un manager non ha mai avuto alcuna conseguenza negativa per non aver fatto gli articoli sulla lista, non vedranno mai la necessità per farne uno qualsiasi.
The Experiental Gap, è la mia teoria di base, che ognuno di noi ha diversi lavori e diverse esperienze. Quindi per alcuni di noi, che hanno sempre lavorato con dozzine di programmatori, il controllo del codice sorgente è un must. Ma per le persone che sono sempre state l'unico programmatore, non possono immaginare la necessità del controllo del codice sorgente.
Ed è a causa di questo grande difetto nel modo in cui apprendiamo, che valutiamo le persone secondo le migliori pratiche che fanno o non fanno, e la ragione di entrambi può iniziare una guerra di fiamma.
Valutiamo sempre le persone nel nostro campo con quello che fanno, e pensiamo "Oh se questo ragazzo / ragazza non sta facendo le migliori pratiche xyz, non può essere un buon programmatore, quindi non perdiamo tempo o energia parlando con loro. "
Questo è esattamente il motivo per cui abbiamo così tante guerre di programmazione in programmazione, che diventa, a causa di Experiental Gap, non possiamo immaginare che le persone non abbiano preso le decisioni che abbiamo dovuto prendere.
Quindi questo mi ha portato a pensare che abbiamo totalmente bisogno di ripensare a come addestriamo, istruiamo e gestiamo i programmatori.
Ad esempio, quale percentuale di voi ha avuto l'incoraggiamento da parte del vostro manager di andare alle conferenze, e persino farle pagare per questo?
Per me, e molte persone, questo è estremamente raro, molti di noi vorrebbero andare alle conferenze, per saperne di più, ma i soldi non sono lì per farlo.
Quindi il punto di questa domanda è proprio quello di stimolare molto il modo in cui possiamo allenarci, imparare e gestire meglio?
Come possiamo creare una nuova cultura dell'apprendimento che non insulti le persone per non avere le stesse esperienze lavorative.
Sì, tutti noi abbiamo lavoro e lavoro da fare, ma la nostra capacità di svolgere bene il nostro lavoro dipende dal nostro desiderio, interesse e supporto nel migliorare la nostra padronanza delle nostre capacità.
In questo momento, vedo che la nostra cultura è piuttosto disorganizzata, sosteniamo l'élite, ma quelle tonnellate di noi che vogliono migliorare, semplicemente non hanno abbastanza supporto per imparare e migliorare noi stessi.
Voglio dire, noi come industria, vogliamo essere percepiti come ingranaggi sostituibili?
Grazie ...