The biggest problem for SW engineers is what's between the chair and the keyboard.
A user can think of so many illogical input that it is impossible to prevent everything.
If a HW engineer would face the same problem than it would have the enduser to allow to choose and use its own power supply,
so the device you have to build has to withstand every possible powersupply with every possible connection ever made from 1,5VDC to 2kV AC
And to proof this I have a real life situation from a friend that bought an american apparatus on amazon, it was delivered at his home with a 120V mains connector so it would not fit.
The supply was 5V 2A polarized and he did not have this so he used another adapter he had lying around, his argument: the connector fitted.
This was unfortunately an 14VAC adapter and the magic smoke escaped.
Now who is at fault here?
If this was software that failed on some stupid input everyone would point to the software engineer, now it is hardware and everyone points to the user.
But was it so much extra effort to add one crowbar or one diode and fuse?
Or why do we not design a special unique connector for each and every possible voltage and polarity, so grandparents and technical deficient persons can not make any mistakes ?