Remix.run Logo
AnimalMuppet 2 days ago

In other areas of tech, companies hire electrical, mechanical, and civil engineers, and not, say, physicists.

Software engineers are analogous to the other engineers. Computer scientists are analogous to the physicists.

Or take chemicals. When the question is "how are the outer-shell electrons distributed", you hire a chemist. When the question is "how do we make the stuff in multi-ton quantities without blowing up downtown", you hire a chemical engineer.

Part of the answer to your question is that schools are producing computer scientists and not software engineers. (It's not the whole answer, but it's part of it.)

harimau777 2 days ago | parent [-]

The difference as I see it is that electrical engineers are expected to have a deep knowledge of advanced mathematics, EM fields, semiconductors, control theory, electronics, etc. However, software engineers are not expected to have a deep knowledge of algorithms, category theory, formal languages, etc.

Effectively, companies treat Software Engineers like Electricians not like Electrical Engineers.

ahartmetz 2 days ago | parent [-]

More like they hire electricians but expect them to do electrical engineering. In a way, despite the name, a rigorous discipline of software engineering doesn't really exist yet. Or it does (cf. "The Right Stuff", Space Shuttle software), but the tradeoffs for that kind of rigor are not or don't seem favorable.