I think the main question is"Program.
Is an embedded hardware engineer as simple as a canvas? -- If you do not understand some driver access methods, how can you debug the hardware? How to draw a circuit diagram that meets the requirements? If this is not the case, it should not be called a hardware engineer or a PCB engineer.
An embedded driver engineer must have a wealth of knowledge about the chip architecture. Otherwise, debugging will fail.
An embedded application software development engineer has little access to hardware. As long as the driver engineer tells him the interface, he only needs the application. This usually involves many projects, unlike drivers and hardware, always make those bugs there
In short, hardware engineers are sometimes really thankless.
If a problem occurs in the product, the application is driven and the driver is responsible for the hardware. In short, I see this phenomenon.