I continue to think that you're over-romanticizing traditional engineering. I'm a mechanical engineer by training, have many peers still in the field, and worked in it before switching fields myself.

In fact, the major reason why I switched out of mechanical engineering into software was because my experience is very much the opposite of how you seem to think traditional engineering works.

> "The defining trait of a profession is a set of ethics (that one professes) and processes to which one subordinates."

This is reasonable. This is what separates accountants, lawyers, doctors, and yes, traditional engineers from software engineers.

The question is how well these ethics and standards are enforced in actuality. The sad reality is, for traditional engineering, not well at all, to the point where the ethical bar for software is frequently higher.

I left the field after working at an automotive parts maker (who shall rename blissfully unnamed) when I saw, first-hand, sub-standard products being shipped deliberately, extreme managerial incompetence, safety standards being compromised, willful disregard of the public's safety, and fraud. And none of this was particularly unique to where I worked.

There are many interesting stories here. Including one where the company shipped a large batch of motors to an automaker knowing full well that all failed QA standards in some way or another, and many were completely defective. When the automaker eventually returned the shipment, instead of replacing them with good parts, the company knowingly and deliberately hired minimum-wage workers to test and pick out the "best" parts from the defective pile, to minimize the amount of manufacturing the company would have to do.

I was also asked, at one point, to find "proof" that a series of car fires were not caused by the company's defective design. At this point it was already obvious to everyone that we were the culprits. Management spent weeks, if not months, ducking this while people continued driving those cars on the road.

I was also involved with a project where radiators were literally falling out of the cars due to cutting corners and the use of substandard materials. The solution to which is not replacement with good parts, but rather shipping dealerships strengthening screws and endcaps, the notion being that as long as the incidence rate was low enough the company can simply afford to settle whatever lawsuits came out of it. At no point was actually fixing the defective parts on the table.

And here we thought we learned a few things from the Ford Pinto.

Mind you, this is a regulated profession, with a well-stated code of ethics. It did no good here - management had employees over a barrel. People were dangerously overworked, both on the factory floor and in the design office, and the state of the auto industry meant that no one could afford to speak up. The whole place stank of the very thing you were originally railing against - people working on meaningless things, working for horrible managers, looking out for their own survival more than the public welfare.

So yeah, traditional engineering does a nice song and dance about being ethical, making it possible for employees to blow the whistle on abuse, that an engineer can just tell their boss to fuck off when something unethical is asked of them.

In reality, none of that truly exists. Traditional engineering, in actual practice, is closer to software engineering than you think.