For a number of products today, due to the expected complexity, most companies will prefer to approach as much R&D time into the software, rather than the hardware, after all you can have 1 guy route in a different CPU in under a week, but writing the platform software to accomplish what you need may take a team 2 months the write and validate,
For myself, its because being the only hardware person at my company led me to being the only person who understood the peripherals enough to write software for it, Its surprisingly hard to get a young PC programmer in the mindset or registers and bare bones access, vice versa, I am horrible at PC software.
The other things that come with an electrical engineering background are things like power consideration, that peripherals can run independently of the core, and you know you can add a transistor to invert that signal, rather than writing a software protocol to make the highs a low. Its hard to escape your own knowledge but without background, somethings in a datasheet are very obtuse to understand.