Author: Sanjay Goel, http://in.linkedin.com/in/sgoel
Ethical issues are becoming increasing important in the software development process. The Software engineers’ code of ethics is well prescribed by IEEE and ACM. Many organisations have their own prescriptions too. However, the awareness about this issue is insufficient. The educational programs also often do not take it as their stated and cherished goal.
Research literature on morality and ethics can help a great deal in enhancing software development community’s awareness and understanding about this issue. In 1980’s, Kohlberg proposed a six stage model of human development based on their moral reasoning. This precise and practically applicable model can be very useful for self evaluation of the level of moral reasoning in handling professional ethical dilemmas wrt software developers’ work. I persoanlly believe that this model can be an important kernel theory in developing the personal as well as professional practices and also the body of literature in this regard.
With tons of software controlling almost every imporatnt service in our society, with hidden as well as identified risks to environment, sustainability, equity, democracy, privacy, and human dignity, there is sufficient reason to believe that software developers’ moral reasoning should be developed to the higher levels as per this model. If this premise is acceptable to the professional community, than we naturally have a strong need to review the objectives, content, and process of software developer’s educational programs in the light of this model.
Here is a brief summary of the stages of human development as identified in this model:
A. Pre-conventional level (Egocentric)
1. Obedience and punishment: the moral reasoning is motivated by avoiding anticipated punishment.
2. Individualism and Reciprocity: the moral reasoning is motivated by self interest.
B. Conventional Level (Socio-centric) (Conservative)
3. Interpersonal conformity: the moral reasoning is motivated by avoiding anticipated disapproval of others by ‘looking’ nice to them.
4. Social systems and “Law and order”: the moral reasoning is motivated by avoiding anticipated dishonor or institutionalized blame and desire for maintaining social order.
C. Post-conventional (Onto-centric) (Progressive)
5. Social Contract: the moral reasoning is motivated by concern of self-disrespect and broader social welfare.
6. Universal ethical principles: the moral reasoning is motivated by maintaining respect and dignity of all by emphasizing human values and rights.
Keywords: Software Engineering Education, Computing Education, Computer Science Education, Engineering Education, Information Technology Education, Information Systems Education, College Education, Higher Education, Professional Education ___________________
1. L. Kohlberg, The psychology of moral development: the nature and validity of moral stages, Harper & Row 1984.
Keywords: Software Engineering Education, Computing Education, Computer Science Education, Engineering Education, Information Technology Education, Information Systems Education, College Education, Higher Education, Professional Education ________________________________
also check http://in.linkedin.com/in/sgoel