don&#x27;t you think that, especially in a large organization, the work can be partitioned in such a way that nobody knows they are working on something objectionable?<p>There are cases where it is obvious and people will quit over it, but if you are given the task, say, to change the firmware on this particular device to execute these external calls for conditions A, B, C, how do you know if this particular check is used for something you don&#x27;t agree with?<p>What if somebody had you implement a bunch of logging and management interfaces telling you it&#x27;s for QA when instead it is for mass surveillance? how are you going to know?<p>I think the ethics come more into play after the fact, if you find out that your company has done something you don&#x27;t agree with (and you might have taken part in it without knowing), are you going to quit over it or not?