Back

Understanding the eight principles of the
ACM / IEEE Software Engineering Code of Practice

Introduction
The Software Engineering Code of Ethics and Professional Practice is a standard for teaching and practicing software engineering. It lays down the ethical and professional obligations that should be followed by software engineers by specifying the standards they are expected to adhere to as both members of society and members of a professional team within an organisation.

face

There are Eight Principles in the Code of Practice: 

    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. Judgement: 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.

The eight priciples spell out the relationships that software engineers have with their peers, their employers, their customers and to society and informs non-software engineers what they can expect from actual software engineers. They describe how software engineers should behave and make decisions in a manner that can be called 'ethical'. These principles are not laws but provides an ethical foundation upon which a software engineer can work.

Back