Hacker News new | ask | show | jobs
by ChillyWater 5970 days ago
Is it just me or does the misuse of the label "Engineer" bother anybody else?

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...

4 comments

Do people who work in software startups generally take Physics, Chemistry, Calc 1-4, Diff Eq, Statics, Dynamics and so on while at University?

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.

"Engineering is a thing you do. It is not the name of a course, a piece of paper, or a certification exam."

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.

"In every state in the United States you have licensed by the state to call yourself and engineer and sell engineering services."

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.

For a PE in KS, you complete an engineering curriculum. Take the FE test. Then you study under any PE for four years. (Not four different ones for one year, but I suppose that would work.) Finally, you have to pass another test. It's not really too much to ask for the guy signing the blueprint that says the power lines or building being put up won't kill anybody.
That's a step in the right direction, and many jurisdictions seem to be doing it lately. However it is still too much. They need more gradations, like how medicine has a spectrum from phlebotomists (people who draw blood) to board certified neurosurgeons. As it is, a handyman who uses Ohm's law to choose the size of a wire has committed illegal engineering.
Generally, Electricians can do things similar to that if they follow the local electric code. I've watched them work--they don't consult the building drawings or whatever, and they can make some pretty extensive changes.

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.

I like your second point. One of my older engineering professors (PhD in '64) made an observation that I found particularly astute:

"Scientists discover what is, engineers create what never was. Think always about how things can be improved, or how new things can be created."

Out of curiosity, what is your definition of a "real" engineer.

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.

In many engineering disciplines you're legally forbidden from self-applying the title of "engineer" -- you have to be licensed and take formal legal responsibility for the quality of your work. That level of discipline and rigor is what most people are referring to when they distinguish between "software engineers" and "real" engineers.
It's not nearly that strict. You can't use the title "Professional Engineer" without licensing, but non-licensed engineers can and usually do use the term "engineer", or derivatives like "chemical engineer" on their business cards and resumes. It's the norm in firms with a lot of engineers (like, say, Exxon) that most of the people whose job title includes the word "engineer" are not PEs. It doesn't even really give you any benefit to be a PE in the corporate context, because everything you're doing is on behalf of the corporation anyway; you're not an independent contractor providing services that you have to legally stand behind, but an employee doing work for hire.

edit: This is true for the U.S. anyway. I believe some other countries are more strict on who may call themselves an engineer.

So would you be ok with calling people software engineers if they had to take a test to get a license and then be responsible for failures of their code in the future?
I'm not advocating a position either way. I'm explaining why people make the distinction.
The term "software engineer" has always been problematic to me for this reason, and a lot of real engineers agree, but among software people it's just become accepted. Whether you keep on arguing about it it mostly a matter of your own stubbornness. I'm stubborn enough about it to distinguish "software engineers" from real engineers, but I'm not stubborn enough to turn down a job just because the job title contains the term "software engineer".
I am also curious as to whether software engineers are exposed to as much ethics and consequences of their actions as the other engineering disciplines (ME,EE,CE).