Software Engineering Code of Ethics and Professional Practice

Posted on Dec 1, 2013

The other day I was reading a book on Mechanical engineering. The introductory chapter of the book had sections with terms like "engineering responsibility", "professionalism", "ethics". In traditional engineering disciplines these terms have been significant, because the product you design may directly harm or kill someone. In Software engineering however these aspects haven't been imprinted on the minds of practitioners of this profession.

I was glad therefore to see this link on Hacker News today: Software Engineering Code of Ethics and Professional Practice

Here's the quoted short version:

The short version of the code summarizes aspirations at a high level of the abstraction; 
the clauses that are included in the full version give examples and details of how these 
aspirations change the way we act as software engineering professionals. Without the 
aspirations, the details can become legalistic and tedious; without the details, the 
aspirations can become high sounding but empty; together, the aspirations and the details
form a cohesive code.

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.