We are literally the last line of defense in a lot of industries. From the first line of the ASME code of ethics:
> Engineers shall hold paramount the safety, health and welfare of the public in the performance of their professional duties.
If you can't do that, you should be in another field. Maybe software engineering at Meta would be a better fit.
This is such an important part of engineering as a profession.
However a huge number of engineers critical to safety would not have one.
Also the personal insult is not needed. It just makes you out to be an ass rather than someone making a point.
Consider your romantic notions might not be realistic.
To a certain extent this is true. To extend the OP's example, a mechanical or civil engineer who stamps a building design takes responsibility for that design being safe enough for public use. The same could apply to the MCAS design, or the quality engineer who signs off on how the plane was put together. These are not "romatic notions"; the latter is already common practice in aerospace. Do you think if a QE stamped that the door bolts were installed should not bear responsibility for the bolts being missing?
In those cases where the engineer is supposed to be aware of the risks, there should be processes in place to account for, and mitigate, those risks. For the example of MCAS, the software was categorized as hazardous in the hazard analysis document. As such, Boeing processes required it to have redundant inputs as a default. It did not (the redundant sensor was sold an optional equipment); as such, I think the engineer who signed off on the hazard analysis may bear some responsibility. If, on the other hand, there were no business processes in place to require redundancy, that seems like a CEO responsibility.
It's true that most software engineers never work on safety-critical systems. The nature of the products they work on, or the nature of their contributions to those products, limits the possible impact of flaws and mistakes.
Once you work on a product with safety-critical features and/or become responsible for one, there really is a marked psychological change that takes place. I've lived through that change in my own career, and many comments (including some I've written, I'm sure) now strike me as callous and trivializing important matters to an extent that grates.
It's important to hold engineers accountable for their work in proportion to their impact, which is typically very significant. If you build machines that can kill, stakes should exist for you as well.
When I worked at a retailer, we were told to push buy-now-pay-later schemes on our customers (on top of the corporate credit card, and insurance plans, and service plans). Most of my coworkers simply decided that they weren't going to - in part, because such schemes are nakedly predatory, but also because it was yet another dumb metric we knew we'd be held to if it were successful. I don't know of anyone who was fired or docked pay or denied a promotion because of it, and it's not worth luring someone into financial ruin over a TV and an entry-level sales position. Which leads me to another thought: if you're so low in the chain that you have no say in how and what you work on, is it a job that's worth sacrificing your morals for? Maybe take advantage of that increased earnings potential from job-hopping and get out of dodge.
In the building sector you can't build without your design being signed of by an engineering office and the engineer and its office take the responsability for it, both at the criminal and civil level.
If the same rule existed for the software industry, the organisation would adapt itself around it.