Don't be evil

Don't be evil

Ethics in software engineering

I generally find software engineers to be very ethical people who do their job and end it there. I strongly believe this because if 1 in 10 software engineers is an unscrupulous person it would be very hard to build any technology we have access to today. We don't have many cases where software engineers create secret backdoors to projects in order to enrich themselves and this is why software engineers are averagely trustworthy people.

There are code of conducts in our field that most engineers don't bother reading but find themselves abiding by regardless. These codes of conduct (when followed) help ensure a world where we can sleep soundly with our increasing reliance on software solutions.

I believe that organizations ought to emphasize these codes of conduct even at the expense of profit at times. We humans are really good at creating dangerous things when we want to, we still have regular issues with products (which we call guns) built with the aim of perforating human beings as such its really critical that don't create more products or "solutions" that help compromise the safety or human rights of our species.

I'm going to paste the summary of our code of ethics (as software engineers) below;

The joint ACM/IEEE-CS Software Engineering Code was published as: Don Gotterbarn, Keith Miller, and Simon Rogerson. 1997. Software engineering code of ethics. Commun. ACM 40, 11 (November 1997), 110-118.In accordance with their commitment to the health, safety and welfare of the public, software engineers shall adhere to the following Eight Principles:

  1. PUBLIC – Software engineers shall act consistently with the public interest.

  2. CLIENT AND EMPLOYER – Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest.

  3. PRODUCT – Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.

  4. JUDGMENT – Software engineers shall maintain integrity and independence in their professional judgment.

  5. MANAGEMENT – Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.

  6. PROFESSION – Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.

  7. COLLEAGUES – Software engineers shall be fair to and supportive of their colleagues.

  8. SELF – Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.