Aug 22, 2025
Ethical software engineering
I want to coin a new term : "ethical software engineering."
In the tech world, we already know about ethical hacking. White-hat hackers use their skills to find and fix security problems. This became popular because companies and governments saw that bad hacking was dangerous for them, so they supported a kind of hacking that helped protect their systems and data.
But why don’t we see the same idea with software engineering in a wider moral way? For example, there is no strong movement that tells software engineers to refuse building programs for the military or for surveillance, even though these projects can have very serious effects on people and society.
Ethical hacking became important because it also made money and kept systems safe. Ethical software engineering is different, because it could mean saying no to powerful groups who profit from war or control.
So what does it mean to be an ethical software engineer? It means putting the well-being of people before money or career. It means thinking about what your code does, not just if it works or if it is efficient. It means asking if the software you are building can harm people or communities. It means being honest and fair when you create systems. It can also mean saying no to projects that build weapons or support harmful surveillance, even if they pay well.
There is already a Software Engineering Code of Ethics, which talks about things like acting for the public and being honest. But most of the time, these ideas are treated in a very narrow way, or left for companies to decide. Real ethical software engineering means making personal choices, even hard ones, and asking who technology really helps.
We should not only focus on defending systems but also ask what purposes our software serves. The future of technology depends on engineers who do not only ask, “Does the code work?” but also, “Should this code be written at all?”