Unfortunately not all of us programmers share the same foundation of moral principles, and not all of us programmers are anti-authoritarian left-wing anarchists. There are a fair number of "patriots" among us and no matter how much I dislike this kind of person they are the talent pool from which police, army and shady companies such as Finfisher draw their staff.
For some, the money is also appealing - the shadier the company the more limited the supply of workers (e.g. many could imagine working for the police, less for the military and only very few for Finfisher etc.), so they put up quite a chunk of money... enough to expand their talent pool, at least.
It's also not that that tech is only used to oppress free speech, hunt down dissidents etc. I was tangentially involved in an investigation targeting a child pornography collector/trader and talked a bit with the lead investigator. Their department used a commercial trojan as well, though I don't know whether it was built by FinFisher. "Hey, want to help us take down people that rape children?" doesn't clash with moral principles for most people, I think.
For some, the money is also appealing - the shadier the company the more limited the supply of workers (e.g. many could imagine working for the police, less for the military and only very few for Finfisher etc.), so they put up quite a chunk of money... enough to expand their talent pool, at least.