You bring up good points, and I agree that a lot of these issues are very difficult to grapple with: it's difficult to pin down how evil something is, how much you're contributing to it, and whether you should take part in it when you've got mouths to feed at home. But I also think that an informed and learned individual in this day and age will recognize that dragnet surveillance encroaches on fundamental rights of human privacy. If I were an employee at NSA and had been asked to implement some part of PRISM I would protest within the proper confines of law, and ask to be given other work which I would be ethically okay with.
> Refusing to take part doesn't absolve you of anything, according to your philosophy
I think in this context it's fair to interpret a refusal to work on something you deem evil not as inaction but as an act that makes it difficult for evil to prevail. If most good men did this they either would not find persons to complete the work or only be able to find persons who cannot do it well or do it completely.
To further clarify, what I am really saying is one's decisions at work which are detached from any ethical considerations is a problem, they're not just engineering problems -- they affect people, in good ways or bad. I hope everyone would make an earnest effort to determine the morality of tools, laws, policies, etc. they're in charge of creating or maintaining by accessing existing literature, discussing the moral considerations of their work with their peers and others, and then decide if they really want to be a part of that. And, as it happens, the chances are that since a lot of this stuff work requires high competency, whenever you find yourself in a situation where determining the morality of your work is exceedingly difficult, there is good chance you can easily find good work elsewhere that will give you the right engineering challenges without the difficult ethical questions.
> it's difficult to pin down how evil something is
You completely missed my point. You can't know how "evil" something is because "evil" is a point of view, not an objective fact.
> I think in this context it's fair to interpret a refusal to work on something you deem evil not as inaction but as an act that makes it difficult for evil to prevail. If most good men did this they either would not find persons to complete the work or only be able to find persons who cannot do it well or do it completely.
I think you would prefer that this were the case, but it's not. It assumes that everybody else in the world with the type of training required to do the task also turns it down. It also assumes that a young, idealistic programmer with a talent for [crypto/big data/whatever] isn't convinced he's helping to protect his fellow americans by taking the very job you turned down. In a nutshell, it assumes everybody has the same moral values you do, which is demonstrably not the case.
This brings up the question, if somebody is going to do that job anyway, is it enough that it's not you? In other words, is turning down the job enough to resolve your ethical dilemma? Personally, I choose Thomas's method of avoiding jobs that even make me think about it, especially when it comes to surveillance and privacy.
> Refusing to take part doesn't absolve you of anything, according to your philosophy
I think in this context it's fair to interpret a refusal to work on something you deem evil not as inaction but as an act that makes it difficult for evil to prevail. If most good men did this they either would not find persons to complete the work or only be able to find persons who cannot do it well or do it completely.
To further clarify, what I am really saying is one's decisions at work which are detached from any ethical considerations is a problem, they're not just engineering problems -- they affect people, in good ways or bad. I hope everyone would make an earnest effort to determine the morality of tools, laws, policies, etc. they're in charge of creating or maintaining by accessing existing literature, discussing the moral considerations of their work with their peers and others, and then decide if they really want to be a part of that. And, as it happens, the chances are that since a lot of this stuff work requires high competency, whenever you find yourself in a situation where determining the morality of your work is exceedingly difficult, there is good chance you can easily find good work elsewhere that will give you the right engineering challenges without the difficult ethical questions.