Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Margaret Hamilton actually coined the term "software engineer" IIRC. Rest in peace


She did! A few years ago I actually tracked down the source of that, which was an interview done for an obscure textbook and republished it on my blog if you are interested in learning more: https://catskull.net/interview-with-margaret-h-hamilton.html


out of curiosity, how'd you get your hands on the textbook?


This is incredible, thanks a lot for making it available for us.


> https://www.theguardian.com/technology/2019/jul/13/margaret-...

>

> During the early days of Apollo, software was not taken as seriously as other engineering disciplines. Though in fact we had a complex system of systems, we weren’t getting credit for what was a legitimate field. It was out of desperation I came up with the term, to say: “Hey, we’re engineering too.” It was an ongoing joke for a long time. Then one day in a meeting, one of the most respected hardware gurus explained to everyone that he agreed with me. The process of building software should also be considered an engineering discipline, just like with hardware. It was a memorable moment.

The idea that it was believed you could build a reliable and deterministic system without proper engineering methods, today, would get a laugh out of most people in the industry. Interesting how the times have changed.


... an audacious choice of words according to the Austrian association of (real) engineers that get all red-faced and jittery even thinking about it! These peasants, bah, they can't even...


Little did she know, the term would be co-opted by guys changing the color of a button on a web site.


And gate-kept by just as many. I wonder what she'd take more issue with. My understanding is she wanted to elevate people who work on software, not draw a line around it.


If I had the option I would prefer the term "engineer" be gatekept.

Terminology can help elevate something that's often overlooked, but if every programmer gets called a "software engineer" there's no way to distinguish the special stuff.


It is a protected title in some countries but not the UK (and I don’t think the US either?).

I believe in some European countries you’re not allowed to call yourself any kind of “Engineer” without being a member of a professional body?

So ironically if that was the case Margaret Hamilton would not have been allowed to coin the term


It is not a protected title in the U.S., China, or India, and yet you could say those are three countries most responsible for writing the software that the rest of the world uses. I would argue there is some connection.

It is easy to see how gatekeeping is particularly valuable for those with the means to distinguish themselves. But for the rest of us, people who want to work on or consume a product, does a field benefit more from having an open gate or closed?


If the title is backed by professional standards, standards by which someone can lose the title and be held legally liable, then I can see the gatekeeping as valuable. If it is used to restrict who can write software, then I would see it as detrimental.


That seems like the best way to parse the issue. To push back on my earlier point, some kind of standards enforcing mechanism doesn't have to be exclusionary as long as the path to earning the credential is open to everyone. It is probably more important now than it has ever been, since anyone can produce code now without understanding it.


The use of engineer as a title is endemic in some industries that don’t involve software. A mechanical superintendent at a drilling company I worked for like to refer to (drilling) mud “engineers” as mud salesmen because they were always trying to sell you more product.


> I don’t think the US either?

"Engineer" isn't in the US. P.E is.

You only need a P.E license if you are going to perform certain specific tasks. For example, in some jurisdiction, plans for a building above a certain height or floor size must be signed by a licensed P.E.

Not all engineering disciplines are covered by a P.E exam.

> I believe in some European countries you’re not allowed to call yourself any kind of “Engineer” without being a member of a professional body? > So ironically if that was the case Margaret Hamilton would not have been allowed to coin the term

Had she been in Europe, she would not have been a part of the Apollo project, something so cutting edge it required new disciplines to be invented like Software Engineering, for the term to be coined in the first place.


In France it's not about being a member of a professional body, but you need to have an engineer degree to be called an engineer.

It's a master's degree but not all masters are engineer degrees. It's from the "Grandes Ecoles".

And yes, most software engineers in France have an engineer degree.


I believe it is protected in some states. https://ij.org/press-release/oregon-engineer-wins-traffic-li...


PE is protected in most states, "Engineer" isn't.

That's what the Oregon case was about.


It is protected in Canada as well.


In Canada, I was once hired as a Data Engineering Specialist because they couldn't use the term Data Engineer.


The college course I did was Software Engineering Technology because they could not use Software Engineering.


Engineering courses are regulated and regularly audited because engineering programs are accredited.

One of the requirements to become licensed (if one desires to) is to graduate from an accredited programs.

Several programs have been accredited for software engineering for 20+ years now.

https://engineerscanada.ca/accreditation/accredited-programs...


The UK does have professional bodies and memberships of those but the terms are more specific, such as "Chartered Engineer".


Well, there couldn't be a school to become a software engineer if she was the one coining the term.


At the time it was mostly hardware engineers who did this, along with people with math background (especially discreete math). Most of the cutting edge applications for computers were in numerical simulation for engineering, so most software engineers would have been electrical/electronics engineers.

There have been accredited Software Engineering programs in Canada for more than 20 years now.

https://engineerscanada.ca/accreditation/accredited-programs...


How useful is that to this woman who would have needed one in 1950?


True, I'll edit the first part of my comment


Post-AI, the debate feels academic at this point.


Sure?

How would you feel about flying in a plane done with AI without the involvement of any engineers?


today, bad. tomorrow, better than if a human built it


And when is this tomorrow?


So are you okay with actual engineers having a problem with the term used in software since you support gatekeeping? Engineer is a term that was used far before software was a thing. So if you support gatekeeping, you should let engineering refer to "actual work" not "code" and find a new term that doesn't engulfs the "original meaning".

Or just accept terms change as society and technology does.


> Engineer is a term that was used far before software was a thing. So if you support gatekeeping, you should let engineering refer to "actual work" not "code"

This is so jumbled. You mean to say that before software, all work was physical? Nah, engineers spent and spend a lot of time at the drawing board, too. It's just that they're not sitting at the plastic table with a sticker of a dog with a toolbox on it.

If you don't follow rules and practices that are external to you and your employer, as you might in aviation or nuclear reactor software, there's not even a chance it's engineering. It can be "software engineering", sure, just the same way "software architect" is not an "architect".

https://ncees.org/wp-content/uploads/Software-Engineering-ex...

> NCEES will discontinue the Principles and Practice of Engineering (PE) Software Engineering exam after the April 2019 exam administration. Since the original offering in 2013, the exam has been administered five times, with a total population of 81 candidates.

If you don't want the same rigor, if you can't handle the same rigor, you don't get the same respect. Because you don't deserve it.


>> NCEES will discontinue the Principles and Practice of Engineering (PE) Software Engineering exam after the April 2019 exam administration. Since the original offering in 2013, the exam has been administered five times, with a total population of 81 candidates.

>

> If you don't want the same rigor, if you can't handle the same rigor, you don't get the same respect. Because you don't deserve it.

It's an interesting opinion, but the reason nobody took the exam is that, unlike other PE disciplines, there are no jurisdictions with legal requirement to hold a PE license to write software.

For example, here for a building to be constructed, the plans need to be approved by a licensed PE if it's above a certain height and footprint. Note that you only need one PE to approve, not that all engineers working on the design have to hold PE licenses.


And if people called themselves "software doctors" who just happen to be bound by nothing because it's never come up, it would be every bit as bogus.


Not sure I follow here.

I've worked with many software doctors, folks with doctorates (PhD either in Software Engineering or Computer Science).


That's just your opinion. If you support gatekeeping, you support retaining the original meaning of words. The original meaning of engineering did not include software.

So it is a contradiction if you support gatekeeping but also only when its convinient to you.

That is the point I am making.


It doesn't have to be that binary. The important part of the meaning is the rigor and responsibility, not the field. Actual engineering has expanded to new fields multiple times.

And if the "convenient to you" point is also supposed to apply to me, nope not at all. My programming would not qualify.


check this out: https://en.wikipedia.org/wiki/Engineer

> A professional engineer is competent by virtue of his/her fundamental education and training to apply the scientific method and outlook to the analysis and solution of engineering problems. He/she is able to assume personal responsibility for the development and application of engineering science and knowledge, notably in research, design, construction, manufacturing, superintending, managing, and in the education of the engineer. His/her work is predominantly intellectual and varied and not of a routine mental or physical character.

[..]

> His/her education will have been such as to make him/her capable of closely and continuously following progress in his/her branch of engineering science by consulting newly published works on a worldwide basis, assimilating such information, and applying it independently. He/she is thus placed in a position to make contributions to the development of engineering science or its applications. His/her education and training will have been such that he/she will have acquired a broad and general appreciation of the engineering sciences as well as thorough insight into the special features of his/her own branch.

If programmers can't be bothered, if their employers don't want that, either (if not even less), and yet you say times just magically change, so now people who don't fit that description get called engineers -- how do you call those who do fit that description, who still do those things? "Real engineers"? "Classic engineers?" I don't even care, but you gotta have something, you can't just pretend the real, practical, night and day difference between these things doesn't exist.


A deceptive and lazy link.

That's a quote from the 1961 Conference of Engineering Societies of Western Europe and the United States of America, not a dictionary definition.

Canada uses a different definition. The state of Missouri uses another.


I linked the source, how is that deceptive? You complain about it not being a dictionary definition, but then don't provide one either.

"One who is trained or professionally engaged in a branch of engineering. "

Gains you nothing.

> Canada uses a different definition. The state of Missouri uses another.

So? Are you lazily and deceptively suggesting that makes a difference? Or are you even imagining they are using dictionary definitions?


About Canada

https://engineerscanada.ca/become-an-engineer/use-of-profess...

> Misuse of the title engineer

[..]

> Areas of concern

> There are several places where the use of engineer is often used improperly. They include:

> Software or data engineer: In most provinces*, unless someone is licensed with a provincial or territorial engineering regulator, they cannot use the title engineer, or any variation. This applies even if the title is assigned by the employer. Alternative titles can include:

> Data analyst, Data scientist, Software specialist, Software technician, Data technologist, Data manager, Data technical expert.

As for Missouri:

> [..] any person using the word "engineer", "engineers", or "engineering", alone or preceded by any word, or in combination with any words, may do so without being subject to disciplinary action by the board so long as such use is reflective of that person's profession or vocation and is clearly not indicating or implying that such person is holding himself or herself out as being a professional engineer or is willing or able to practice engineering as defined in this section

https://revisor.mo.gov/main/OneSection.aspx?section=327.181

So I say the title "software engineer", in the slop hallucination sense it's too often used, where the sources either don't exist or say the opposite when you look stuff up, carries no information, other that a person is dishonest, or got fooled into repeating something dishonest. They may or may not be a programmer, they may be a man or a woman, but they're a charlatan or victim of charlatans for sure. And furthermore, the petty and stupid way people react to this fact being pointed out means they either have bad motives or Stockholm syndrome. I don't care which is which, since both are wrong.


In the US PE is protected, not the vague "Engineer" tittle.

So Missouri would only go after someone representing themselves as a licensed PE without holding a PE license.

The Canadian law is full of exemptions for non-engineering profession still being able to use the tittle "engineer". Train engineer, airplane engineer (for a driver and maintenance technician respectively).

Honestly, it's not a good law.


And then other guys made frontend dev tooling so complicated that it does actually require a software engineer to change the color of a button.


[flagged]


It becomes engineering when the software is flying to the moon and back.


Grace Hopper would like to show you her collection of nanoseconds.


Up at the software level, the relevance of that distance is only the barest hint of physics behind a frosted glass window. This does not successfully counter what GP was saying.


IMO social engineering is not engineering because it has nothing to with the physical sciences.

IMO reverse engineering is not engineering because it has nothing to with the physical sciences.

That's not how language works.


Quite a few practical constraints on software are imposed by the physical world and our current ability to construct devices out of it. Working within those constraints to provide value that people can depend on isn't the worst definition of engineering I've heard.


I just wish that software engineers had a similar level of accountability that an engineer building something like a bridge is held to. When a negligent software engineer causes harm to people nothing typically happens. No real risk of lawsuits, or loss of license, or worry about their liability insurance. This also means that software engineers can't effectively push back when their bosses want them to implement things that they know are insecure or dangerous


Well, Meta just settled with states to the tune of 17 billion dollars for harm caused by its algorithms.

Air Canada, a few years back, was found liable when its ai bot promised discounted fares to a customer.

Companies are getting hacked and held to ransom regularly so bad software is getting punished alright.

Maybe the guy writing the actual line of code (or the guy in whose name AI code is being pushed to git) isn’t getting punished but software is definitely being scrutinised for ill effects.


Now please show me the consequences from the Hugging Face incident. The company or the engineers individually apparently have nothing to be worried about.


They’re not software engineers, they’re software farmers. Very different kind of job


> Meta just settled with states to the tune of 17 billion dollars for harm caused by its algorithms.

Those were working as intended, unlike a bridge that collapses because of bad design.

> Air Canada, a few years back, was found liable when its ai bot promised discounted fares to a customer.

That was a solid win for AI accountability, but it only cost them $812.02. They most likely made money using that lying AI bot. It wouldn't take a week of paying just one employee minimum wage to hit $812. Last I heard they're still using the chatbot.

It's true that bad code can cost a company something, but its obviously not costly enough that they take the needed actions to avoid shipping it.


> No real risk of lawsuits

This is a joke right? Companies get sued for software all the time.


Companies get sued, programmers generally do not. Companies don't really care about being sued either, as evidenced by the fact that they still don't bother to prevent bad code from being shipped.


> Companies get sued, programmers generally do not.

Which makes sense. Software is generally purchased from a company, not an individual programmer.

> Companies don't really care about being sued either, as evidenced by the fact that they still don't bother to prevent bad code from being shipped.

They do care about code so bad it'll get them a lawsuit.


I hope you don’t write your own crypto.


[flagged]


It's not too soon to delete this, dude. The tone of this statement is cynical, reductive, and dismissive. I bet you're fun at parties.


Obviously, I won't delete this, I actually don't see why. I can critique anything I want. And it's not fair saying a famous person like Hamilton coined some term when probably she heard it from someone else.

Terming "software engineer" is nothing of genius, it's literally taking two logical words and mending them together. One day I will say "plumber engineer" and now I'm gonna be the one coined that term.

People blow things up out of proportion. They should focus on other things, of course, in my opinion.




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: