Yesterday, I watched an interview[2] with a former Iran's "National information network" project employee, claiming his intentions was to improve the security of the country in general but he is deeply unhappy that it has helped the government to shut off the Internet while killing people.
As a developer and a security expert myself working for a private sector company in Iran there is almost no day in my life without thinking about the morality of my work. I have never (or even intended to) work on projects like "National information network" or other similar projects.
Alas the problem does not end here. In a country with all the infrastructures controlled by government, naturally most of our customers are important government-affiliated organizations. Because of our company's position and considering the NDAs, the developers are not supposed to know the customers. Alas, this is just theory. I know a lot of our customers and some of them are pretty bad, very very bad, with bloody hands even in this weeks suppressions.
I don't think our product is used for killing people, but what if it indirectly aids those organizations to achieve their nasty goals? This question drives me crazy and I am not alone. There are lots of ethical developers in my country working directly or indirectly for such organizations. I have lots of friends, former employees of companies with censorship/monitoring projects that has left the country for new jobs. Seriously, what other options do we have?
[1] https://www.wired.com/story/iran-internet-shutoff
[2] In Persian, https://www.bbc.com/persian/iran-50504210
[3] https://tools.ietf.org/html/rfc7258
Socrates said, "To know thyself is the beginning of wisdom." This is what I believe he meant, to know what your own morals are. If you know them, you cannot violate your own conscience.