this post was submitted on 06 Oct 2023
473 points (99.2% liked)
Firefox
18040 readers
152 users here now
A place to discuss the news and latest developments on the open-source browser Firefox
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The answer to your question is because you’re confusing very specific job titles that refer to specific industries and jobs, with a single word with centuries of history and has a far more broad meaning that predates the usage that you prefer which only dates back to evidently 1907 America.
“Chief of software surgery” would be a play on a specific job, which is a “surgeon” a word which here means “a medical specialist who practices surgery” so it refers to one particular thing in one particular field of work.
“Engineer” on the other hand, refers to someone who “devises or contrives” something, and more broadly if you look at its Latin origins, “Cleverness”. So the term “Engineer” is linguistically appropriate for all kinds of jobs that fit into its fairly broad definition, unlike Surgeon, which has a more specific meaning. The “Engineering standards of care and professional liability” you’re referring to is no less made-up than the word Engineer itself.
I get your point that people with “Engineering” degrees who work in the fields of like mechanical or electrical engineering want to hold onto that word as some kind of earned title, but if we’re being honest, if they wanted that they should have picked a more distinct word.
I think engineers have been held liable for the soundness and fitness-for-purpose of what they "engineered" since ancient Rome - though they have certainly been called upon to engineer a greater variety of things in the past couple of centuries. And I think if someone proposes to engineer software, I am all for that! We could do with a great deal more of it in fact. And let's dispense with this perpetual disclaimer of warranty for merchantability or fitness for any particular purpose, and such terms. If an engineer designs it and it does not work, the engineer is generally held to be negligent and liable . . . except if they are a software engineer, of course.
I went to an engineering school and graduated without the engineer title. I then started working in the software field and got a title of software engineer. I have people I've talked to about the title of engineer and how they have to take multiple tests and curriculums for that title. I only bring that up to say I think I know what you're going for but as I see things, they are a bit different.
I feel a lot of engineer titles are based on hard math/physics/chemistry of this universe. That makes a lot of things well researched, investigated, and (depending on your view) semi-stable in how things behave. We've been learning and expanding on this physical world for centuries.
Now with software engineering we're learning all the ways that we can build/create/destroy things that are in a "virtual space". What is interacted with doesn't necessarily conform to the physical universe. These are things that technically exist in those electronic pulses/signals but that feels more like computer engineering vs software engineering. Anyway, these non-physical designs don't pose an immediate risk to the life of someone in the physical space so they don't have the same creed and oath like the other professions. I feel we're in the changing of titles in the future because software is forever integrating itself in our lives and we're learning how much it can impact us physically as it's more tied to our lives.
Just like electrical engineer may not have been a protected title in the past (as an example as we learned how electricity affected us) and other disciplines now affect our physical space, we're on the precepts of software engineering affecting us. We still may be years or decades out but remember that other engineering fields had their infancy
These are some good points. The more traditional engineering disciplines have a depth of methods and practices that developed over time, and software engineering is - what? only maybe 50 years old or so? I have not worked with software engineers, but with all other sorts, so I know if there is engineering going on in software development there will be certain methods in place: preliminary designs that senior teams evaluate and compare, interdisciplinary review so the features of design that "work" for one objective also do not detract from others, and quality control - nobody works alone - every calculation and every sentence and every communication is documented, reviewed by someone else, and recorded permanently.
I can imagine that some software engineering efforts must bring some of these tools to bear, sometimes - but the refrain in software development has long been "we don't have time or funds to do it that way - things are moving too fast, or it is too competitive." Which maybe all that is true, and maybe it can all be fun and games since nobody can get hurt. So if game developers want to call themselves engineers regardless of whether they follow, or even know about standards of their industry (let alone any others'), no harm, no foul, right?
An old friend of mine wrote the autopilot software for commercial passenger jets - though he retired about 25 years ago. He was undoubtedly engaged in a project that nowadays would be dubbed software engineering. The aerospace company included him in the team with a whole slew of different engineers of all sorts and they did all the sort of engineerish things. But I don't have the impression that much software goes through that kind of scrutiny - even software that demonstrably deeply affects lives and society. In a way this is like criticizing the engineering of an AR-15; what were the engineers thinking to develop something that would kill people?! But it seems like with software, the development has effects that are a complete shock even to the developers: facebook algorithms weren't devised to promote teen suicide, it was just an unforeseen side effect for a while.
I think it is time for software engineering to be taken seriously. And there is professional licensing. The problem is that corporations are dubbing their staff as software engineers a lot of times, when there is no licensed engineer in the building and there are no engineering systems in place. It is fine for me to say that I engineered the rickety shelves in my garage, because I'm an engineer and therefore it must be so, but that is some sensationally bad logic. They could collapse at any moment - I'm a chemical engineer.