Electrical/electronic engineering is still part of most engineering degrees, so -at the interface -we still had the common language[ /quote].
So is programming. If I met with a bunch of people I was writing firmware for, and they were hardware engineer types, they probably wouldn’t be able to do the actual firmware, but we’d have a common language relating to where our bits stuck together.
So
a)most engineers are like you, specialists, who can work well on one particular area, and can also keep up enough understanding to interface with areas where they need to. So are programmers.
b) the functionality of many products is 90% defined by software nowadays eg. Take the original ipod – nice shiny design, not very much innovative engineering, very elegant software, 90% about software, 10% product design, then hardware ‘engineers’ stuck some commodity components in a box. The big reason Apple consumer products are so popular is because they didn’t have the idiot engineer / software divide, whereas if you look at a lot of stuff, it isdesigned first by ‘proper engineers’ with the software fitted into what the engineers build (a lot of old Sony stuff really suffered from this, and I’ve seen this in action in some other big companies with a rigid hardware/software divide ).
Given that so much ‘hardware engineering’ is really just sticking a processor in a box, it’s futile to argue that there’s any real difference any more.