Questo potrebbe essere troppo stretto, ma è un problema unico per i professionisti ITSec. Una persona amata sta iniziando una nuova carriera di programmazione e ho la gioia di vederla apprendere da zero i concetti di programmazione più elementari. È al vertice della sua classe in ciascuno dei suoi corsi universitari, producendo un lavoro di alta qualità, e ha attratto tanta attenzione che sta già ottenendo un lavoro a contratto.
Come professionisti ITSec, parliamo di infondere il ciclo di sviluppo con pratiche e progettazione di codifica sicure, ma come si applica a uno studente nuovo di zecca? Un nuovo programmatore è all'inizio del proprio "ciclo di sviluppo permanente". A che punto è appropriato, da un punto di vista educativo, passare dalla mentalità di "metterlo in funzione" a "deve assolutamente essere sicuro"? A che punto dovrebbe uno studente "fallire" un incarico a causa di un problema di sicurezza?
Capisce perfettamente la necessità di produrre codice sicuro e lo desidera, ma nessuno dei suoi corsi ha introdotto l'idea e continua a venire da me per la revisione e l'analisi del codice. Quando dovrebbe essere fatto il passaggio per costringerla a riprogettare tutti gli incarichi di classe per utilizzare un design sicuro?
Non voglio anticipare una carriera promettente introducendo requisiti frustranti, ma voglio anche dare a quella nuova carriera il miglior inizio possibile. Inoltre, ci sono risorse per aiutarmi a insegnarle le basi della codifica sicura dal punto di vista di un programmatore iniziale? Trovo che sto inventando mentre vado ...
Accolgo con favore il tuo consiglio.
- A che punto è appropriato, da un punto di vista educativo, passare dalla mentalità di "metterlo in funzione" a "deve assolutamente essere sicuro"?
- A che punto uno studente "fallisce" un incarico a causa di un problema di sicurezza?
- Quando dovrebbe essere fatto il passaggio per costringerla a riprogettare tutti gli incarichi di classe per utilizzare un design sicuro?
- Ci sono risorse per aiutarmi a insegnarle le basi della codifica sicura dal punto di vista di un programmatore iniziale?
Come nota a margine: ho notato che alzando la barra nella mia revisione del codice dei suoi compiti in classe, solo in termini di sicurezza "validate and sanitize" di base, ha finito per produrre un codice di qualità molto alta in generale. Da questo esempio, penso di poter vedere il valore di iniziare la propria educazione in questo modo perché impone una comprensione ancora più profonda del flusso di dati e della logica di programmazione.