Concentrerò la mia risposta sull'ultima parte in quanto si riferisce a qualcosa a cui sto pensando da alcuni anni ormai:
Mi piace essere un ingegnere del software, ma mi sento come se non ci fosse un buon modo per valutare le abilità. Come posso capire se sono davvero cattivo o se ho solo bisogno di continuare a esercitarmi di più?
La scala dei numeri di Norris è una metrica in base a quale individuo e le organizzazioni possono misurare se stesse.
I numeri di Norris partono da 20 e aumentano per multipli di 10. Sono correlati a una maggiore comprensione del design e della struttura fondamentali di una data applicazione software.
Ai fini di questa risposta, il numero di Norris è una misura delle righe di codice dell'applicazione, meno le librerie, che un individuo può scrivere e mantenere da solo.
Tutti iniziano da 20 Norris. La maggior parte dei programmatori formali passa a 200 Norris abbastanza rapidamente. 200 I programmi Norris sono di solito script veloci e sporchi che fanno qualcosa di importante ma fanno solo quell'unica cosa. Tali programmi sono "messi insieme", il che significa che tendono a mancare di una corretta formattazione del codice e di controllo degli errori, specialmente dai programmatori più recenti. Molti programmatori passano a 2.000 Norris quando iniziano a costruire programmi / script più grandi.
Passare da 2.000 a 20.000 Norris al di fuori di un ambiente di squadra è molto più difficile. A quel punto devi creare un'applicazione seria. Molte porte si aprono a 20.000 Norris (ad es. Grandi progetti open source). Superare da 20.000 a 200.000 Norris a livello individuale è abbastanza difficile poiché non ci sono molte applicazioni software là fuori costruite da una persona con oltre 200.000 righe di codice applicazione . Questo è generalmente troppo per una persona da mantenere in modo sano e attivo.
Norris indica anche il livello di comfort. A che punto puoi scrivere una domanda "nel sonno"? Cioè, la quantità di sforzo mentale richiesta per passare dall'idea alla distribuzione. Quelli che si diplomano con una laurea in CS tendono ad essere 200 e meno comunemente 2.000 Norris. È molto raro trovare uno sviluppatore di 20.000 Norris appena uscito dal college. Tali sviluppatori di solito iniziano a scrivere software molto prima del college e considerano il diploma un pezzo di carta molto costoso.
Un numero Norris organizzativo è simile ma è il numero medio di righe di codice dell'applicazione per applicazione distribuito nell'intera organizzazione. La maggior parte delle organizzazioni sono 2.000 o 20.000 Norris. Le piccole imprese con un reparto IT che sviluppa minuscoli script per l'organizzazione di solito non sono più di 200 Norris. Un'organizzazione può anche avere una media di 2.000 Norris ma potrebbe avere una o due 20.000 applicazioni Norris in agguato all'interno che aumentano leggermente la media ma non abbastanza per arrivare a 20.000 Norris.
Se un'organizzazione è 2.000 Norris e l'individuo ne ha appena 200, l'individuo avrà difficoltà a tenere il passo (cioè sarà una sfida rimanere a galla). Se un'organizzazione è di 20.000 Norris o sta assumendo per una richiesta di 20.000 Norris e un individuo è 200 Norris, l'individuo probabilmente non verrà assunto senza mentire nel lavoro, ma l'individuo non sopravviverà comunque per più di poche settimane. Se un'organizzazione è di 200 Norris e l'individuo è di 2.000 Norris, l'individuo sarà probabilmente annoiato e avrà difficoltà a rimanere interessato ai progetti che verranno (cioè una mancanza di sfide). Inoltre, qualcuno a 20.000 Norris scoprirà regolarmente che comunicare con qualcuno a 20, 200 e anche 2.000 Norris è imbarazzante o difficile. La persona al livello di Numero Norris inferiore semplicemente non capirà lo scopo di certe decisioni e potrebbe provare a "refactoring del codice" o chiamare la persona a 20.000 Norris un "cattivo sviluppatore di software". Nella mia esperienza, l'unico sviluppatore di software "cattivo" è la persona che (involontariamente) scrive codice contenente vulnerabilità di sicurezza e poi partecipa alla negazione attiva quando le vulnerabilità vengono segnalate da colleghi.
Solo Norris Number può, fintanto che tutte le parti ne sono sincere, determinare se assumere o meno (o addirittura licenziare) un individuo. È anche possibile che un singolo sviluppatore diventi troppo grande per un'organizzazione o viceversa. Quando si fa affidamento su una metrica Norris onesta, il test di codifica durante l'intervista potrebbe essere saltato, che può davvero misurare solo fino a 200 Norris nel tempo assegnato per l'intervista media. Norris Number potrebbe essere un ottimo filtro per un motore di ricerca di lavoro per sviluppatori di software e sospetto fortemente che altri settori abbiano metriche simili che potrebbero sfruttare in modo simile.
Invece di mettere in pratica i problemi , che tendono a concentrarsi sulla progettazione algoritmica, concentrati invece sui progetti . Quali progetti ti interessano? Crea un elenco e inizia a costruire QUELLI progetti nel tuo tempo libero. Il punto centrale dello sviluppo del software è costruire ciò che è interessante per TE. Il software è una forma d'arte piena di eleganza e bellezza. Sì, puoi essere pagato anche per questo, ma se non stai già facendo ciò che ami al di fuori di un lavoro formale, allora dovresti iniziare a farlo. Altrimenti lavorerai per 40 anni eppure la tua vita sarà vuota e priva di risultati personali.