Ho intenzione di rispondere a questo come richiesto nel titolo:
Sì, uno sviluppatore dovrebbe conoscere il funzionamento interno dell'hardware. Quanto dipende dal tipo di sviluppatore e amp; i loro obiettivi, tempo disponibile e interesse personale. La priorità dovrebbe, ovviamente, essere sugli strumenti, le tecniche, ecc. Che impiegano nella loro area. Questa opinione è sulla falsariga di essere un individuo ben arrotondato. Più conosci le cose al di fuori del tuo mestiere, senza sacrificare il tuo mestiere, meglio è.
Questo non significa che devi diventare pazzo con il mago del formaggio. Avere una buona panoramica dell'hardware, come interagiscono i pezzi, come i sistemi operativi li usano. Seguendo queste linee, suggerisco di leggere un libro di concetti sui sistemi operativi per tutti gli sviluppatori.
Conosco tutto questo? Heck no. Ho dimenticato così tante informazioni inutili su SCSI che non è nemmeno divertente. Tuttavia, conoscerlo è stata un'esperienza inestimabile. Ho anche dimenticato molti altri dettagli relativi all'hardware, ma ricordo i concetti importanti che ho imparato da quella conoscenza.
Quindi, di certo suggerisco di conoscere l'hardware. Fatelo a un ritmo ragionevole, a seconda delle vostre esigenze. Scopri tutti i dettagli che puoi, ma concentrati sui concetti.