Ethics for Software Engineers

Gamze Yılan
3 min readMar 26, 2021

Software engineering carries far more responsibilities than simply using the technical skills such as a programming language or database management. But what exactly is ethical in a world that is so new and constantly developing, how do we decide? Here’s a guide on how to be a good software engineer.

Any software engineer that respects their job will show honesty and ethical choices through their career and keep in mind, ethical choices doesn’t only consist of what’s legal but also what’s good for the individual and for the society.

A software engineer holds the professional responsibilities of;

  1. Privacy: Regardless whether there are any contracts between the parties, the software engineer must always approach the privacy of the employers and the customers with respect.
  2. Competence: The software engineer must be honest and correct about their level of skills. They shouldn’t misdirect the employers or accept projects that are above their skill level.
  3. Intellectual Property Ownership: Engineers should be aware of the fact that intellectual property is protected by the law with patents. It’s also the engineer’s responsibility to make sure that the customer’s intellectual property rights are protected by the law as well.
  4. Computer Abuse: Software engineers shouldn’t use their technical skill for purposes that abuse the customer’s computer or use it for purposes other than the one originally intended and allowed by the customer. Abuse mentioned here could be something as simple as playing video games on the employer’s computer or as critical as getting virus on a company-assigned computer.

ICM/IEEE Ethics Regulation

Some science organizations within the US got together to get an agreement on ethics and came up with 8 principles. These principles concern not only software engineers but also programmers, teachers, managers, interns and even students. Here is the summary of all these principles;

  1. Public: The software engineer’s actions must concern of what’s best for the public.
  2. Customer and Employer: Software engineers must make decisions and act in a manner that benefits both the customer/employer and the public.
  3. Product: The software engineer must guarantee that the changes and updates inflicted upon the product are of the highest level of professional standards.
  4. Judgement: Software engineers must remain honest and objective in all decisions they make.
  5. Management: Software engineering managers and leaders must obtain an ethical approach to the development and sustainment processes of the project.
  6. Profession: Software engineers must defend the prestige of their profession while working for the good of the public.
  7. Colleagues: Software engineers must remain fair and supportive with their approach towards their colleagues.
  8. Self: Software engineers must continue learning through lifetime and sustain an ethical approach towards their profession as an act of respect.

Ethical Dilemmas

The engineer’s political approach might not match to that of the managers. The employer might launch the project without proper testing and risk the lives of the users. A peace-supporting engineer might end up having to work on projects that help build military weapons or nuclear systems. Such things happened before and will happen again, and in such cases the engineer will have to consider the ethics mentioned before and chose the best action to take accordingly.

--

--