Values in Design? The role and relevance of ethics in software engineering
Digital technologies are permeating and thereby affecting almost every aspect of our lives. Technologies are never given, but designed and developed, they are never neutral, but shaped by human desires and intentions while at the same time shaping us in return. Philosophy in general and ethics in particular provide methods to critically assess the relationships between us and the technologies we are developing, using or refusing. Drawing on insights from computer ethics and value-sensitive design, I will distinguish three approaches to ethics in software engineering namely as the 1) ethics of the profession, 2) ethics of the use of technologies and 3) ethics of the technological artefacts themselves. Given the increasingly dynamic and complex nature of many software projects, I will argue that accounting for values in software engineering, requires a combination of all three approaches as well as a recognition of the distribution of agency, power and responsibility in software as a socio-technical ecosystem.