Given that like most decent programmers here, I can work more or less anywhere, given equal amounts of money etc, I'd probably go work for Google than the CIA.
But if the job choice is between fiddling with javascript on some ancient offshored CRUD codebase(say, been there done that), vs building robots for the American Army, or the Indian army - [I live in India]), no contest at all.
In other words I won't work for the mafia or child pornographers or anything illegal, but the CIA/NSA/whoever? In a heartbeat.
Drone targeting software? sure thing. A drone is just the weapon of the day and not any more illegal than say a smoothbore musket in its day. Should all the engineers/metallurgists have stuck to making trinkets for the nobility vs cannons for their army? You are working for the same people in any case.
Every algorithm known to man has both good and bad uses. Not developing algorithms because they might be harmful is insane.
On a less hyperbolic plane, I like Richard Stallman but would easily work for Apple or Goldman Sachs (for e.g, given enough money and good work and good working conditions and coworkers).
The software you'd write for SpaceX isn't that far different from the software you'd write to control an ICBM. Salarymen who think they can control what the software they write will be used for by their employers are just deluding themselves. Do you think the people who built Watson have any control on what IBM will do with the tech? And this is a company that used computing to help the Nazis. Should the engineers at IBM not have worked on computers?
Work is just work, a means to exchange your talents for money. Keep it legal, do good work. Go home and play with the kids.
The way to stop the NSA from doing distasteful things is, in my opinion, to work to elect people/hold your legislators feet to the fire, and get good legislation passed not refuse to research/deploy cryptographic/cryptanalysis algorithms.
I just wanted a little balance to this discussion. Not everyone buys into the political correctnesses of the day. Sorry for the rant, but the article is nonsensical, trying to guilt trip algorithm developers.
yes so "People should think about it. But I'm just an engineer, basically."