There is no doubt that software developers have a significant impact on our environment, community, and culture. Software tools influence how people live, communicate, and (sometimes) behave. This chapter emphasizes that these influences should be considered when one develops any software system. At the same time, it is important to determine the ethical considerations one should consider in the process of software development. The Code of Ethics of Software Engineering comes to address at least partially some of these issues and to guide software developers when sensitive and ambiguous issues arise.
This chapter attempts to highlight several guidelines, recommended within the framework of the Code of Ethics of Software Engineering, that one should take into consideration in the process of software development. These guidelines address both the development environment and the potential influence outside the development environment of what is developed. Although a code of ethics can be addressed on different levels (for example, individual, team, organization, and country), we limit the discussion to the individual level. We hope that the detailed discussion with respect to the individual level will establish a basis for the discussion about the application of the Code of Ethics of Software Engineering to the higher levels.