I've seen discussion on HN recently about this and I want a bigger sample size on how HNers approach this question. For context I've worked for several years in web dev and I'm worried about the future and tech's role in it.
When I was able to see the direction that the company was shifting I gave a heads up to other coworkers on the project, started job hunting, and informed management that due to their choices I refused to work on anything associated with one of their products. I half expected them to say "no, you have to work on X" at which point I would have resigned. Since then they've toed the line, but I am not assisting that particular product line in any meaningful capacity.
So, why am I still around? Job hunting is exhausting. I've seen good roles with a good fit and gotten no response, I've followed up on others and refused below-market rate pay-ranges, etc. I almost left a few months back for another role, but there was a lack of work/life separation in an otherwise very interesting position. Perhaps I'm being overly selective or perhaps the more ethical roles that appear to fit simply require more experience, but I plan on continuing to monitor what's out there.
I've since changed careers and I absolutely believe what I'm doing today is a net-positive for individuals and society, and in fact I'd say that it presents an opportunity to uphold and improve a societal ethical standard.
It does not bother me that much to be honest - I've become cynical enough to believe that everybody refusing to work on something because it may feed into defense is a pipe dream. Our economies and professions are just too tightly coupled and can almost be turned on a dime to produce components for weapons - weapons aren't very complicated compared to many products we use in our lives.
I would be more bothered by working for a bank or insurance, training models for agriculture-trading or for a multinational company dodging taxes (I work at an SME), helping to build the systems that control lives.
I can never willingly take work from a military institution because thinking of what they do gives me nausea – some people however feel of it as patriotism.
What I am saying is that if you feel guilty, that maybe a good signal to look for something else.
Hate to get all Hitler-ad-reductio, but I can imagine how Nazi Germany or the CCP can happen. It’s the same pattern in business across companies.
Pays well, most of my coworkers are C and D level of competence, management is clueless. Typical Fortune 500...
This is something I've thought about on a regular basis; usually before I take a job, and again if the project changes. I have a couple of thoughts about this:
1. Finding software jobs right now if you have experience is like shooting fish in a barrel. If you have any question in your head that requires serious examination to tease apart whether it crosses the line into immorality, save yourself the time and energy and exercise the option to go elsewhere.
2. There are some projects that absolutely fall into the "will not work on" bucket for me. Weapons, payday loans, etc, anything that causes or benefits from human suffering, etc.
2. If you have the energy, I think joining an organization which has unethical fundamentals and trying to redirect it is a worthy goal, as long as you don't lie to yourself about how effective you're being, which I suspect will generally be "not at all".
3. I try to keep my buckets for "ethical" and "not ethical" reasonably clean. At some level, you can argue that any organization not primarily focused on fixing the issues with our societies is part of the problem, which pretty much limits you to non-profits and (in some parts of the world) government/healthcare organizations. That's fine if you're inclined that way, but making money selling products/services to consenting adults should not be seen as evil; I find this kind of perfectionist/puritanical thinking muddies the waters substantially.
4. I focus a lot on the people that I'm working with. I think that most projects that don't obviously fall in the "evil" bucket can be run ethically or unethically. In my experience, it's not that hard to pick out people who are fundamentally grifters, and if I see them in places of power in the organization/company, I'm looking at the door.
5. I did a lot of research before taking my current job to see what the complaints are about the company. It's a bit annoying because a lot of the CSR ratings are behind paywalls, but the information is out there.