In my experience the title "Engineer" is a legally protected one, and those using it without proper licensure can suffer penalty - take a look at the Strongtowns case for one example. But those in the programming world seem to be able to throw around the title on a whim. Any discussion/history/insight would be appreciated.
I saw it used for people with an amount of learning comparable to a real engineering degree.
Engineer means, "Clever builder", how does that not describe software engineering?
Now, someone with a degree called Software Engineering may well have had a somewhat different education than someone with a Computer Science degree. That's another matter, and whether the former makes them an engineer in the protected sense depends on where they are and exactly what the degree program was.
I looked up "Strongtowns case"[1]. Notice they open with "A small group of professional engineers are using the licensing process to stifle calls for reform...". They _mean_ "Professional Engineers" (state-sanctioned engineers who have licensing rules) but are unaware, or are being disingenuous about, that it is a legal term and refer to them as "professional engineers" (engineers who aren't amateurs). This is the equivalent of saying "The American Medical Association is using licensing to restrict changes in medical reforms..." as opposed to, presumably, allowing untrained non-medical personnel to make medical reforms. Also notice, that the author dropped the term "professional" as the article went on.
In the software world, there is no distinction AFAICT between "software engineer" (SWE), "developer", or "programmer"; they are just terms used to make the coder feel important. A "senior SWE/developer/programmer" is anyone with a minimum _three_ years of experience, regardless of schooling.
IME, most software "engineers" know nothing of basic engineering practices: documenting research, testing assumptions, learning how to write correct documentation, proper project development, etc. If they can sling code, they're an "engineer". Mind you, SW engineering isn't nearly as robust as Civil, Mechanical, or Electrical (and other licensed) engineering disciplines but it's been around for less than a century whereas some of the other engineering disciplines date back well over a century, if not millennia.
I've heard, but have no sources, that companies that employ "software engineers" have lobbied local (read: state) regulatory bodies to exclude "software engineers" as it would make hiring them more difficult (reducing the available pool), subject them to legal regulations and hence liabilities, and cost the companies more money in salaries and legal obligations.
Mind you, I've got nothing against people going to boot camps or being self-taught in software development. I'm self-taught. But I also have a BSEE degree, did some master's work in EE, was an EIT (not that big of a deal, but still), and have worked in the field as an engineer but not a PE. I do my best to keep up on standards practices and principles (not necessarily the framework du jour). I have earned the title "senior" by doing this stuff, professionally, for 30+ years.
puts on their asbestos suit
[1] https://www.strongtowns.org/journal/2021/5/23/lawsuit#:~:tex....
He says ‘Junior’ later on, and if his job role says software engineer he can use the term.
No.
Language also involves. When words lose meaning people abandon them.
> Shaking your fist at the term "software engineer" isn't going to roll back those changes
And yet many countries has been capable of regulating words like "engineer", "medicine", "certified airline pilot" for very good reasons.
If he writes code he's an engineer.
However many SWEs do have the same engineering mindset, just applied in a different space.