Are there any systematic differences between software developers (sw engineers, architect, whatever job title) with an electronics or other engineering background, compared to those who entered the profession through computer science?   By electronics background, I mean an EE degree, or a self-taught electronics tinkerer, other types of engineers and experimental physicists.  I'm wondering if coming into the software-making professions from a strong knowledge of flip flops, tristate buffers, clock edge rise times and so forth, usually leads to a distinct approach to problems, mindsets, or superior skills at certain specialties and lack of skills at others, when compared to the computer science types who are full of concepts like abstract data types, object orientation, database normalization, who speak of closures in programming languages - things that make little sense to the soldering iron crowd until they learn enough programming.  The real world, I'm sure, offers a wild range of individual exceptions, but for the most part, can you say there are overall differences?   Would these have hiring implications e.g. (to make up something) never hire an electron wrangler to do database design?   Could knowing about any differences help job seekers find something appropriate more effectively?   Or provide enlightenment or some practical advice for those who find themselves misfits in a particular job role?(Btw, I've never taken any computer science classes; my impression of exactly what they cover is fuzzy.   I'm an electronics/physics/art type, myself.)
EE vs Computer Science: Effect on Developers' Approaches, Styles?
education;career development
Having an EE minor and a CS major, I've worked with both groups academically. I've never held a job where I designed EE style products, but I've consumed a lot of them doing work for companies with things like PLC, and so having been able to understand (from an educational background) what as occurring was nice. So I can't say that I know 100% about workplace behavior and characteristics, but I can describe the academic differences between the two to some extent.EE folks tend to focus on the details, and they tend to know the exact implementation. If it's not 100% mappable, they don't like it. EE folks will optimize down to remove unnecessary details if they can.SE folks tend to like layers and compartmentalization of logic. SE folks don't mind bloated projects. SE folks tend to be very math oriented. They tend to think in terms of equations and how to solve problems from a pattern concept. Joins are more intuitive to this group, like database work. The further SE you go the more you tend to see people who are fluent with things like Functional Programming. That's just not safe ground for an EE person.Both folks know about stuff like Karnaugh maps so there's plenty of overlap in those areas. Logic reduction, that sort of thing.Ok, so that's my subjective answer. Hope it helps.