...Last point is spot on. Most of my IT peers are engineers from other fields as well. Skills are VERY transferable.
Not really, without further training. From my experience, most electronic engineers cannot write decent embedded code for a complicated system because they lack the training to do so. Some don't know how interrupts work and how to use them efficiently; many do a shabby job at commenting their code etc etc. About 5 years ago, after having to refactor/rewrite 50K lines of C "code" written by an idiot, I decided it would be better to be in jail than inherit such bad code again.
Even with training, some engineers lack the discipline or the time resource to write good embedded code. One engineer I worked with in a company was very good with hardware design but said to me he did not care what his code looked like or how badly it was written, as long as it worked. He clearly had no idea.
I am an EE who did further professional study in embedded coding and OOP at a university in 2002. It was worth the pain and effort, believe me.