Come misurare la propria abilità in un linguaggio di programmazione? [duplicare]

16

Come molti programmatori ho lavorato in diverse lingue. Mentre ovviamente ci sono alcuni che sono più a mio agio rispetto agli altri, non ho un vero modo per misurare con precisione le mie abilità in una lingua specifica.

Quindi ho pensato a un sistema che mi consenta di aiutarmi in questo. Sto cercando 5 criteri comuni nei linguaggi di programmazione, a cui avrò un valore da 1 (junior) a 4 (senior) per rappresentare la mia abilità.

Tuttavia non ho idea dei criteri che dovrei scegliere per questo.

Qualcuno ha suggerimenti?

Grazie.

    
posta lollancf37 12.12.2010 - 03:32
fonte

4 risposte

9

Non riesco a immaginare un sistema che permetta di misurare le abilità di qualcuno, anche per un particolare linguaggio di programmazione. Per cosa potresti aver bisogno? Strutture di dati e algoritmi sono comuni e ci vuole mezz'ora per trovare l'implementazione della struttura dati appropriata nelle librerie standard (non sempre vera, ovviamente). Quindi, se sai cos'è una lista collegata, probabilmente la userai correttamente.

Inoltre, i criteri dipendono dalla lingua e non possono essere comuni. Alcuni linguaggi di programmazione offrono più libertà di fare tutto ciò che vuoi (per spararti ai piedi) e alcuni di loro creano dei limiti da cui non puoi uscire. Quindi i criteri variano da una lingua all'altra.

Se ho bisogno di uno sviluppatore per lavorare su un servizio web che voglio implementare usando Java, probabilmente assumerò qualcuno che ha costruito un sistema complesso usando django (Python) piuttosto che qualcuno come sa Java ma non ha esperienza sul web- Servizi. Quindi qui misuro le conoscenze in un particolare dominio, non in un linguaggio di programmazione, perché per questo compito considero la conoscenza del dominio più importante del linguaggio di implementazione.

    
risposta data 12.12.2010 - 10:59
fonte
15

Dai un'occhiata a la matrice delle competenze del programmatore . È una buona misura di abilità a tutto campo, più o meno.

    
risposta data 12.12.2010 - 04:56
fonte
2

La capacità di leggere e comprendere qualsiasi codice (ragionevolmente ben scritto) in quella lingua è il criterio più importante per misurare la padronanza.

La capacità di scrivere codice per risolvere qualsiasi problema non dice molto; considera solo un programmatore C che sostiene la capacità di scrivere in C ++. Poiché C è più o meno un sottoinsieme di C ++, il programmatore C può risolvere qualsiasi problema scrivendo un programma C appropriato e utilizzando il compilatore C ++ per compilarlo, quindi tecnicamente è C ++. Allo stesso modo, molti programmatori imparano abbastanza di una nuova lingua in modo da poter applicare i vecchi idiomi. Puoi scrivere FORTRAN in qualsiasi lingua .

Per lo stesso argomento, LOC / hour non dice nulla. Un programmatore che scrive programmi Perl che assomigliano a programmi C probabilmente genera più LOC / ora di un programmatore Perl che scrive il codice Perl idiomatico.

    
risposta data 12.12.2010 - 14:55
fonte
1

Se riesci a fare problemi con tutti Project Euler correttamente nella lingua X, ti ritengo un esperto nella lingua X.

    
risposta data 12.12.2010 - 21:01
fonte

Leggi altre domande sui tag