How to do Software ethically and don´t die trying.


Image from:

Every day, a lot of lines of code are written in the world with or without thinking of how, when and whom are going to use them.

Here we explain a little how a code of Ethics for Software Engineering works and is stablished, due to the need of ethics application in all professional activities.

Software engineers shall commit themselves to making the analysis, specification, design, development, testing and maintenance of software a beneficial and respected profession. 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.

Seems easy right? Let´s check what these principles means to do:


The engineer shall accept for their work even if the work produces any good or bad situations. Test is an important thing in software related with

security of the conditions it can produce. Be concient of public topics and be encouraged to volunteer profesional skills with good causes.


Be honest, competent and care about client-profesional relation. Keep private any confidential information gained for working or relating with customers, don´t try to ofend or affect client and profesional interest unless another higher priority concern is compromised, in this cases inform.


Achieve goals and reach the profesional standards. Write appropiate documentation of your work and be useful using data, Test, Debug and Maintain.


Maintain profesional objectivity in the work and avoid the participation in not legal activities or the ones who can be conflictive or compromise the organizations interests.


Ensure good management, information and knowledge of the standards. Offer education, assign work correctly and don´t ask engineers to do unconsistenly things with code. Contribute correctly and don´t punish for expresing ethics concerns.


Promote and extend public knowledge of software.

Detect correct and report errors.

Support other software engineers.


Assist, Credit and hear/give opinions making others work be better and acorded to this ethics code.


Further their knowledge of developments in the analysis, specification, design, development, etc. Improve their ability and understanding of reliable, and useful quality software.


Now that we have described the general areas of this ethics code (feel free to check the entire Ethics at ACM site referred at the begining of the post), I want to read about your opinions of what area do you need is more important than the others and why.

One of the areas that causes more interest in me not only in S. E. Ethics code but in profesional general ethics code is the profesional section. Basically this gives you a brief description of what your career does and how it is needed to be done.

Another one not lees important is the SELF one. I should add a point that says:

  • Before thinking of making any good or produce domething the profesional must see for his/her security and mental/physical health and stability, If He/she is not good he/she cannot produce or give any good.


What do you guys think?