The answer cannot be answered in this way.
There are two reasons for this.
Reason 1: Programmer is not the same programmer.
Reason 2: “know how hardware works” is not a definite state!
Knowing how hardware works
What does knowing how hardware works?There is no state where you either know how hardware works, or you don’t know.
You know certain things and others don’t.Some users have no idea what RAM is and does. Others know what RAM is theoretically good for and what this type of memory is used for. Still others know how RAM works with the processor and what it takes for the two to be able to exchange information at all. Still others know which components RAM is made of and how to build the boards. Others know how to manage available memory…
Programmer is not the same as programmer
Today there are many types of programmers and the purposes and applications for programming can be massively different.
Even someone who programs games can program small arcade games or collaborate on large-scale projects where the person may BE WORKING ONLY on the graphics or ONLY on the game logic.
A C programmer of the operating systems, parts of them or device drivers, on the other hand, should have a completely different level of knowledge and have much more knowledge of hardware.Because this type of programmer offers directly at the hardware.
In professional circles, for example, one speaks of user space and kernel space.So if you are programming at the kernel level (operating system core), you should have significantly more hardware knowledge than a user-level programmer. However, a kernel space programmer is far from being an electronics engineer.
On the other hand, however, it can be said in summary: certain basic knowledge is beneficial for every user, not only for programmers.
What a processor, RAM, a hard drive do.why? How can I choose a device for my purpose if I don’t even know the basics? Even if I’m just a home user.
And we are not just talking about computers.The same applies to notebooks, netbooks, Bay Trail devices, tablets, smartphones,… all these devices are now computers or computers. based on similar principles!