L'esperienza del programmatore può essere espressa in ore di codice come ore di volo per un pilota? [chiuso]

7

Quanto sarebbe utile per un reclutatore?

Nelle arti marziali ci sono un numero minimo di allenamenti, non anni di pratica, da valutare per un livello superiore. Ho visto alcune eccezioni ma ci sono rari.

Nel software, forse questo sarebbe utile per esprimere l'esperienza in particolari tecnologie come OO, OR / Mapper o DBMS specifici.

    
posta Glenn Nelson 13.02.2011 - 20:17
fonte

12 risposte

14

Una volta che hai cancellato 10.000 ore è tutto relativo

Da Valori anomali di Malcolm Gladwell , si può dimostrare che 10.000 ore di apprendimento attivo continuo (circa 10 anni a 20 ore settimanali) è necessario per diventare un esperto in una particolare abilità.

Direi che la regola è trasportabile alla programmazione, consentendo anche cambiamenti nei quadri e nelle tecniche. Sto pensando all'esposizione a schemi di progettazione, metodologie e così via.

Se segui quindi il modello di acquisizione delle abilità Dreyfus , sembra che il seguente potrebbe > mantieni la verità (sto solo compilando i numeri come ritengo - non c'è nessuna citazione):

  • Novizio (0-1.000 ore)
  • Principiante avanzato (1.000-4.000 ore) - il più comune
  • Competente (4.000 - 6.000 ore)
  • Competente (6.000-10.000 ore) - Periodo più lungo
  • Esperto (oltre 10.000 ore)

Quindi, per permetterti di filtrare i tuoi candidati, magari applica questi valori a ciascuno dei livelli di esperienza richiesti nelle tue migliori competenze (consentendo una generale sovrapposizione dovuta all'esposizione, ad esempio un esperto di Spring avrà sicuramente XML competente).

Ora, arriva la parte difficile - solo come hai intenzione di dimostrare che stanno dicendo la verità? Forse è il momento di rompere "Fizz Buzz" e "Indovina un numero".

    
risposta data 13.02.2011 - 20:52
fonte
17

Una volta ho lavorato con un ragazzo.

Il suo capo mi ha detto: "Pensa di avere 7 anni di esperienza, lui no, ha 1 anno di esperienza, 7 volte."

La sottile differenza sta nel non imparare / crescere / pensare di più.

C'è una grande differenza tra un pilota e un programmatore. Un pilota deve conoscere e memorizzare le procedure ed essere in grado di pensare in una crisi. Un programmatore deve pensare a problemi complessi e creare nuove cose dal nulla, e farlo per circa 2 e 6 ore al giorno.

Puoi migliorare la tua capacità di pensare effettivamente facendolo, ma sostenere che "il tempo sul lavoro" in un'attività creativa equivale a un set di abilità è un po 'eccessivo.

    
risposta data 13.02.2011 - 22:55
fonte
4

Direi piuttosto che misura ciò che non può essere previsto.

Qualcuno che ha lavorato nel campo per 20 anni può o non può sapere molte cose, ma uno che ha lavorato solo per anni o mesi è garantito non per sapere queste cose.

Puoi solo verificare ciò che è effettivamente noto sondandoli o provandoli.

    
risposta data 13.02.2011 - 20:19
fonte
2

Penso che, oltre un certo punto per stabilire un livello minimo di competenza, la quantità di tempo che si è programmata non è poi così significativa. Giudicherei un'esperienza dei programmatori sui progetti su cui hanno lavorato e su ciò che hanno portato a loro, non su un numero arbitrario praticamente impossibile da verificare.

    
risposta data 13.02.2011 - 20:21
fonte
2

Penso di aver già postato questo (insegnare a te stesso la programmazione in 10 anni) da qualche parte ma dovresti verificarlo. Questo articolo parla di "magiche" 10.000 ore e dell'efficienza dell'apprendimento.

    
risposta data 12.03.2011 - 01:09
fonte
1

Quante ore di pittura ci vogliono per diventare un pittore professionista?

Quanti corsi di formazione servono per diventare un musicista professionista?

Anche la programmazione è un'attività di progettazione creativa, motivo per cui la maggior parte delle metriche è letteralmente inutile.

L'unica cosa che si può dire è che con il tempo diventi migliore. Se in qualsiasi momento nel mondo sarà sufficiente per te diventare grande, è sconosciuto. Puoi solo guardarti in un dato momento e decidere se sei bravo o no.

    
risposta data 13.02.2011 - 20:28
fonte
1

Cambia linguaggi di programmazione. Gli strumenti cambiano. Cambiamenti paradigmi. Ciò limita il valore dell'esperienza dopo alcuni anni.

Detto questo, la maggior parte dei programmatori lavora a tempo pieno, quindi il numero di anni è più o meno direttamente proporzionale al numero di ore di programmazione.

    
risposta data 13.02.2011 - 20:32
fonte
1

Penso che potresti compararlo come una metrica alle righe di codici (di un programma).

Non puoi dare troppo per la qualità del codice (esperienza nel tuo caso) ma puoi fare qualche ipotesi al riguardo.

Cioè puoi fare un po 'di ipotesi su un ragazzo con 6000h di esperienza contro un 100h pur sapendo che ci sono differenze nella qualità dell'esperienza dei due (non puoi conoscerlo o stimarlo ma confrontando la differenza di grandezza, dettagli inizia a importare di meno)

Non puoi usarlo per dire molto su come dire una 6000h contro una 6500h o addirittura da 4000 a 6000 ore, per esempio. (Sto usando un numero arbitrario qui).

    
risposta data 13.02.2011 - 22:39
fonte
1

Non sono nemmeno sicuro se il numero di ore registrate da un pilota sia altrettanto informativo.

Voglio dire, qualcuno che vola da Charlotte, NC a Portland Oregon e viceversa (giorni alterni) avrà molte più ore registrate rispetto a qualcuno che vola 4 volte al giorno da JFK a Logan. Ma, direi che qualcuno che fa 4 voli al giorno guadagnerà l'esperienza 4x di qualcuno che fa un volo al giorno su una distanza più lunga. Inoltre, il volo da NY a Boston si svolgerà in uno spazio molto più congestionato negli aeroporti più frequentati, con una maggiore esperienza in situazioni difficili rispetto a quelli meno affollati di Charlotte, Portland e di grandi spazi aerei in cui sarebbero in gran parte in volo.

Allo stesso modo, per i programmatori, posso lavorare 10.000 ore allineando caselle di testo su un modulo di Windows, oppure posso spendere 10.000 facendo una varietà di compiti con diversi livelli di complessità.

Le ore non significano nulla, né anni ... puoi solo guardare le realizzazioni. L'unico valore che vedo è che qualcuno con 10.000 ore sarebbe certamente adeguato, altrimenti non sarebbero stati in grado di registrarsi per molte ore. Ma il numero di ore non può dirti se sono esperti o meno.

    
risposta data 13.02.2011 - 23:25
fonte
1

Perché funzioni davvero, i programmatori dovrebbero mantenere un registro.

I piloti tengono registri meticolosi del loro tempo in volo e simulazione e contano il loro tempo "in tipo" - 2.000 ore di volo su un 747 non ti qualificano immediatamente per l'A380.

I programmi di allenamento per le arti marziali richiedono anche un po 'di registrazione (almeno, il mio vecchio allenamento di judo ha fatto).

Ci deve anche essere un meccanismo per controllare i registri - i piloti commerciali vengono sistemati regolarmente nei simulatori e testati. Gli artisti marziali devono essere esaminati (o competere - che è un giudice più duro) per salire di livello.

Quindi, per il time-logging per gli sviluppatori, avremmo bisogno di essere in grado di categorizzare il nostro tempo (ho migliaia di ore in PHP5, diverse centinaia in C ++ e poche altre), ed essere regolarmente controllato (come è stato menzionato già, trascinare e rilasciare gli elementi del form in Qt Creator non ti rende un guru del linguaggio C ++.

Tutto ciò è troppo complicato per non ottenere molti guadagni, quindi sono d'accordo con chiunque altro che afferma che i programmatori dovrebbero essere valutati in base a conoscenze e risultati a cui possono puntare.

    
risposta data 13.02.2011 - 23:51
fonte
0

Ho iniziato la programmazione di base in terza elementare e ho continuato a farlo per circa undici anni. Ciò significa che probabilmente ho già avuto migliaia di ore registrate dalla scuola media, ma un migliaio di ore di esperienza all'epoca e mille ore ora portano a livelli di apprendimento completamente diversi.

La conoscenza e l'apprendimento sembrano seguire una curva esponenziale - Sono in grado di cogliere più facilmente concetti di programmazione e imparare nuove lingue (che aiuta nel tentativo di essere lingue agnostico ) rispetto a 11 anni fa. Cinque anni di esperienza non sono la metà di dieci anni di esperienza. Fornire una risposta più personale alla domanda "Da quanto tempo stai programmando?" sembra essere ottimale.

    
risposta data 13.02.2011 - 23:02
fonte
-3

Non lo esprimerei in ore; - Lo esprimerei in linee di codice del ciclo di vita o anni di programmazione.

    
risposta data 13.02.2011 - 21:04
fonte

Leggi altre domande sui tag