Todo lo que se relacione con la tecnología con la que trabaja directamente lo ayudará a mejorar en todas las tareas relacionadas con esa tecnología.
Conocer el hardware de la computadora lo convertirá en un mejor programador. Puede que no lo haga directamente, pero habrá instancias en las que te beneficiará.
Realmente depende de lo que quiere que sean sus habilidades. Sería una pérdida de tiempo jugar con el hardware si desea especializarse en matemáticas complejas o tipos específicos de software (A.I., por ejemplo).
Sin embargo, si desea hacer cosas como construir robots con mentes propias, necesitará saber tanto software como hardware. Si desea desarrollar juegos, especialmente como indie o incluso solo, se le pedirá que emule múltiples trabajos y especialidades. Qué pesadilla sería si un desarrollador independiente no entendiera cómo el hardware diferencia entre los sistemas.
IMO, no puede considerarse un verdadero nerd a menos que sepa cómo hacer tanto el software como el hardware. Cuando me encuentro con programadores que no saben cómo instalar una tarjeta gráfica, tengo conflictos sobre si debo reír o llorar.
Por supuesto, no todo el mundo es lo suficientemente inteligente o entusiasta acerca de la tecnología como para interesarse en ella hasta el punto de querer saber cómo se crea el hardware, mucho menos ensamblado y luego programado. A medida que fui creciendo, aprendí a reír menos a los demás, y en su lugar entiendo que es posible que no tengan la necesidad de aprender sobre hardware mientras se concentran en el software. Ciertamente no es un requisito.
Cierto, suponiendo que no tengo en cuenta mi tiempo que es :) –