I absolutely hate this answer. I graduated from a school (Michigan) that had both EE, CE, and CS. That was 2004 (later went to Carnegie Mellon to do a Ph.D. cause it seemed like the "next thing"). Today I work for a large bay area software company and recruit from UM, amongst a number of other universities. In general, having done a few hundred interviews, I find that CE students (or CS students who tried to go the hardware route within the CS program) are a jack of all trades and master of none. They may have a decent understanding of computer architecture but since that was their major design class, they opted not to take neither an O/S nor a compilers class, so they really have no idea of what is running on top of that simplistic CPU they designed. They didn't take a software engineering class (sure, they did the intro programming but they have no idea what singletons or factories are) so their code sucks. They didn't do VLSI so they don't really know how that Verilog they wrote translates into silicon. They've heard of timing constraints but have no idea how to actually place/route so as to alleviate this.
I could hire one of these people and maybe they'd be able to figure things out. Or, I could hire someone who actually chose a specialty and attained something approaching mastery (relative for a student) of some area. Someone whom I'd actually trust to write good code, who understands threading, who understands the performance implications of what they're writing... or I could hire that guy who knows just enough in a lot of areas to be dangerous.
Can you speak to these parts? Maybe. Would I trust you to work on it? Probably not. Want to prove me wrong? Send me a message and a resume and I'll be happy to set up an interview.