Earlier quoted context omitted.
The problem is that engineers are not always the ones in charge of the entire end result. If you want to do something unethical you can just split it up into harmless individual tasks and give it to a dozen engineers and then put it all together. It’s obfuscation. Some of the greatest atrocities we will see in tech (and we will see them) in the coming century will be the result of combining things created with good i…
An engineer can quit if the project is unethical. Just 'enduring' is harmful to yourself, and others. Don't be a coward, at least stand up for your values.
That said, a lot of engineers actually are in the position to make demands. The chances of getting fired for saying "I'm not going to do that because it's wrong" are probably very low. Most managers would rather not feel bad, and hiring someone new is usually touted as being a pain in the ass.