Je vais répondre à cela comme demandé dans le titre:
Oui, un développeur doit connaître le fonctionnement interne du matériel. Le montant dépend du type de développeur et de ses objectifs, du temps disponible et de l'intérêt personnel. La priorité devrait, bien entendu, être accordée aux outils, techniques, etc. immédiats qu'ils emploient dans leur domaine. Cette opinion va dans le sens d'un individu bien équilibré. Plus vous en savez sur des choses en dehors de votre métier, sans sacrifier votre métier, mieux c'est.
Cela ne signifie pas que vous devez devenir fou avec le Cheese Whiz. Avoir une bonne vue d'ensemble du matériel, comment les pièces interagissent, comment les systèmes d'exploitation les utilisent. Dans ce sens, je suggère de lire un livre de concepts de systèmes d'exploitation pour tous les développeurs.
Est-ce que je sais tout ça? Heck non. J'ai oublié tellement d'informations inutiles sur SCSI que ce n'est même pas drôle. Cependant, l'apprendre a été une expérience inestimable. J'ai également oublié beaucoup d'autres détails liés au matériel, mais rappelez-vous les concepts importants que j'ai appris de cette connaissance.
Donc, je suggère certainement d'en apprendre davantage sur le matériel. Faites-le à un rythme raisonnable, selon vos besoins. Apprenez autant de détails que possible, mais concentrez-vous sur les concepts.