"Half or more of the firmware developers I meet have EE degrees. It's odd that these experts at transistor theory, electromagnetics, and IC design spend their career cranking C and C++ code.
Perhaps the reason for this is the simplification of hardware and explosion of firmware. I suspect there are more EEs around than needed. Companies find them desirable for software development due to their deep knowledge of how things work.
But as firmware's complexity increases, it also becomes more like application code. Implementing drivers and ISRs will always require hardware insight, but that might be one percent of a large project. GUIs, net connectivity, and data reduction looks pretty much the same whether it's on a PC or an embedded system. "
doni