I think there's also a lot of engineers with a, shall we say, hands off attitude about ethics and the downstream effects of the software they are writing. Like it's "Boss told me to do it" or "Boss told me not to do it" and that's the end of the ethical quandary! Software engineers need to take at least partial responsibility for the code they are physically typing in and causing to come into existence. If that software is going to fail and cause harm to people, it's literally your job and responsibility as a professional engineer to raise that concern and stop it from shipping.
A lot of software teams have too much of a "JIRA ticket is closed, so my work here is done" attitude.