Vou responder isso conforme solicitado no título:
Sim, um desenvolvedor deve conhecer o funcionamento interno do hardware. Quanto depende do tipo de desenvolvedor e seus objetivos, tempo disponível e interesse pessoal. A prioridade deve, é claro, estar nas ferramentas, técnicas etc. imediatas que eles empregam em sua área. Essa opinião é semelhante à de um indivíduo bem-arredondado. Quanto mais você souber de coisas fora do seu ofício, sem sacrificar o seu ofício, melhor.
Isso não significa que você precise ficar louco com o Whiz de queijo. Tenha uma boa visão geral do hardware, como as peças interagem, como os sistemas operacionais as utilizam. Nessa linha, sugiro a leitura de um livro de conceitos de sistemas operacionais para todos os desenvolvedores.
Eu sei tudo isso? Parreira não. Esqueci tantas informações inúteis sobre o SCSI que nem sequer é engraçado. No entanto, aprender sobre isso foi uma experiência inestimável. Também esqueci muitos outros detalhes relacionados a hardware, mas lembre-se dos conceitos importantes que aprendi com esse conhecimento.
Então, eu certamente sugiro aprender sobre o hardware. Faça isso em um ritmo razoável, dependendo de suas necessidades. Aprenda o máximo de detalhes possível, mas concentre-se nos conceitos.