A seconda dell'esperienza che il programmatore vuole avere la risposta può variare. Se il programmatore è specializzato in driver su hardware specializzato, potrebbe essere necessaria una profonda comprensione. D'altra parte, uno sviluppatore web potrebbe non aver bisogno di approfondire il lato hardware e potrebbe semplicemente usare le astrazioni nella loro carriera.
Ciò che ti viene insegnato all'università dovrebbe darti la possibilità di sapere come imparerai a conoscere un set che potrebbe evolversi nel tempo. Quando viene creato un nuovo hardware, spesso può esserci la sfida di come imparerai i nuovi stili per le cose. Considera come ci sono tanti gesti nello sviluppo mobile che potrebbero non essere esistiti 15 anni fa.
Diverse specializzazioni possono richiedere diversi livelli sarebbe la risposta breve qui mentre mentre può aiutare a conoscere le cose, anche la misura della profondità è importante. Ad esempio, stiamo parlando di progettare CPU e GPU qui o semplicemente di utilizzare ciò che è già in commercio? Che livello di profondità intendi qui? Un dottorato in meccanica quantistica essere necessario o è sufficiente sapere come gli elettroni avrebbero una carica?