I suppose it's too much to ask that we as developers and engineers show some fucking backbone and refuse to work on or with these tools and projects? And publicly shame those who do?
Those are all overt means of oppression, whose use and abuse is so obvious in most cases that restraint in their usage is exercised by those who wield them.
Something like this is a quiet, terrible thing slinking about unnoticed until it is rather too late. I believe these things have more potential to cause harm than any missile built and kept in stasis.
My point was that shaming engineers for choosing what they work on is stupid because often they work on components and don't ever build a complete missile, or "quiet, terrible, slinking thing" by themselves.
The developers at these kinds of places don't need to know what they're building. They have many tasks assigned to them and one of them is to write an API that collects a single piece of data. Many kinds of data are collected from many places and put into a database. Reports are made and cross-referenced by an analyst. Final reports are generated and fed to a guy who deals with direct marketing or advertising or sales. Any of these jobs could also be done by contractors or third parties.
You can't just tell people how to make a living without understanding what the hell you're talking about. That's my $0.02 anyway.
(P.S. people that work on missiles are often academic researchers and work for both the private and public sector on the same thing for many different clients, and aren't told what it's used for. the more you know...)
Anybody competent enough to build a system like this, even somewhat smaller units thereof, is more than clever enough to see the forest despite the trees and recognize that their work could be used for bad purposes.
Again, let's not argue over defense contractors or some damn fool thing--when you work for Google, when you work for AT&T, when you work for Palantir or HBGary or whoever, you don't get to say "lol not my department I made swing apps and file dialogs" when you find out they've done something bad.
We need to speak out when people work on harmful technologies.
What's one of the "bad purposes" you're talking about, anyway? What's the threshold of "badness"? How do you define what is worth quitting your job, and what might merely annoy a user? Can you even quantify it? Is it illegal, and where? What is 'it', anyway?
I'm talking about things like identifying if somebody is gay or republican or kinky and using the information for profit. Aside from selling it to background-check websites and the like, and the fact that it's information people willingly give up about themselves to entities unknown, I have trouble understanding how you can be so offended you think people should lose their jobs rather than develop potential parts of a potential system that could maybe harm someone at some point.
Your assumption about the "cleverness" of developers is misguided. If a guy is told to write a small piece of code which simply takes HTTP requests from JavaScript and plugs it into a database, there is no idea what the fuck that could be used for. The guy maintaining the database also may not know what the fuck he's looking at, it may just be numbers. Are you really so willfully ignorant as to believe every single outcome of every single human action is cut & dry?
Have you ever read "Scroogled" by Cory Doctorow or Stallman's "The Right To Read"? Both are a bit absurd at first glance but viewed today seem oddly prescient.
I'll even accept your assertion (for the sake of argument only, mind you!) that engineers at a company might only work on some small fragment of JS munging numbers in a database.
At some point, though, an engineer needs to implement the API for a saleable product using that information, or code up a dashboard with element names like "#user-site-history" or "#tracked-profile-visits", or at the very least see the marketing materials the sales folks use to show that the product is competitive due to this information gathering.
Your assertion makes publicity even more important--eventually, some engineer or admin is going to have to get their hands dirty and that is when they need to speak out.
~
To go back and answer your "so what if we have targeted advertising" directly: there is currently no heavily established legal framework of which I am aware that protects metadata about users gathered for the purposes of advertising. I do not know if Google or Facebook is prevented from giving up (for whatever reason!) the results of their ad engine's analysis of user browsing to anyone at a whim.
We (Americans, at any rate) are very lucky that our government at least goes through the motions of liberty enough to not overtly round up deviants and send them off to the camps or send drones after them--this is far from the case in various other countries.
As far as the idea that the information is given up willfully, we're talking about techniques and technology that are really only ten or fifteen years old...the average consumer has not had time to build up any sort of reasonable intuition about what they are sharing or not sharing, or how that information can be linked to other facts about their lives. To say that they've "willingly" given up this information is, I suggest, somewhat misleading.
I used to work on defence projects, and I considered this. I was working on ECM (protective) systems, which I felt was morally acceptable. Had the job been missile guidance, then I might have felt differently.
You could refuse to work on such a project, but then the project development would just get outsourced. I don't like the concept of this service at all, and I think its a really shady business practice to use it, but I don't think theres really way short of passing laws to stop it.