It's really not. People take jobs for all sorts of reasons. They are answerable to their friends, family, community etc. If that were the case, why would people be resigning from Google over moral issues?
And furthermore, when was the last time you saw someone held to account for their job title? I've done that and every time it results in me alienating someone, because no one wants to lie to themselves and be forced to answer that they work at Raytheon because they think that's the way to do good in the world.
Lots of people make principled decisions every single day. You think only rich engineers can afford to put morals over money, and everyone else is selling their soul for a paycheck? Where do you live?