As a Ph.D. in EE, who did indeed take all of these things before becoming a software engineer [1], I feel eminently qualified to say:
Engineering is a thing you do. It is not the name of a course, a piece of paper, or a certification exam. Don't let the maturity and professionalization of other forms of engineering blind you to the real meaning of the word. I believe there was a time, in the 18th and 19th centuries, when there were significant numbers of engineers who were "practical men" and didn't go to college. They were engineers, and so are we.
An engineer is someone who designs and builds machines that do work. [2] And software engineers design and build machines -- some of the most complex machines ever built by conscious mind. We count.
---
[1] I highly recommend studying all of these things, by the way. They are not just useful subjects, but very beautiful ones. Don't neglect biology, either.
[2] People who build machines that look pretty are artists. People who understand why the computing machines work are computer scientists. Nothing stops one from being all of these things at the same time -- indeed, many people, including myself, think that it helps a lot -- but neither art nor science are synonymous with engineering.
Actually it is a piece of paper. In every state in the United States you have licensed by the state to call yourself and engineer and sell engineering services. The same as doctors, nurses, lawyers, barbers, and whatever other professions states deem required to have licenses.
And those laws almost universally ignored.
The trouble is that the laws are so overbearing that they choked off the supply of new licensees. The first people to get licensed, because that was the entire industry at the time, were things like boiler and power engineers. Suppose you were a young engineer and you wanted your PE license to design metal detectors "properly". You'd have had to specialize in something like power systems, sign up with whoever had a PE on staff, spend 6-12 months sizing transformer windings and designing 50 kV relays (because most PEs worked at places like that). Then you have to jump ship to work with a different PE, because you need to accumulate an apprenticeship under four PEs before you can get a license. Only then can you get your license and go back to school to specialize in what you actually want to do. Finally, in your late 20s, with no job longer than a year, and just starting work on your passion, you can try to get a job in metal detection.
Most new engineers sensibly decided to just break the law. Even if the engineering board were certain to catch up with you, it would be easier to quietly move to another state in the middle of the night and start over. And the actual odds are more like one in 10,000.
P.S. IIRC Texas scrapped a lot of their silly PE laws.
The PE license gets you the ability to sign off on drawings, so if there isn't a drawing change involved, there isn't any engineering to sign off on.
Electricians follow a handbook rather than derive results from general knowledge, so the PE laws don't apply. As long as the electrical code handbook allows it, they can do it. Possibly at enormous expense, which is why you want a power engineer to plan your factory wiring.
I've always thought a phlebotomist is similar to a licensed electrician. (Assuming an MD is similar to a PE)
"Scientists discover what is, engineers create what never was. Think always about how things can be improved, or how new things can be created."
Or to put it another way, why isn't someone who writes software worthy of the title "Engineer"?
> Do people who work in software startups generally take Physics, Chemistry, Calc 1-4, Diff Eq, Statics, Dynamics and so on while at University?
That is kind of a broad question. But I can tell you that at Berkeley, everyone in the School of Engineering takes those classes, whether you are going to be a materials engineer or a software engineer.
Edit: I'll throw this out here too:
Definition of Engineering: The application of scientific and mathematical principles to practical ends such as the design, manufacture, and operation of efficient and economical structures, machines, processes, and systems.
I would posit that someone writing software uses scientific (debugging) and mathematical (algorithms) principles to practical ends.
edit: This is true for the U.S. anyway. I believe some other countries are more strict on who may call themselves an engineer.
Do people who work in software startups generally take Physics, Chemistry, Calc 1-4, Diff Eq, Statics, Dynamics and so on while at University?
I was a little squeamish calling myself an engineer since I never took the certification exam to become a Professional Engineer after graduating with a BS in Aerospace Engineering...