| Phenomena | Ethics in software development (Ethical Engineering)

Knots in the knowledge map

Disziplin

Computer science
Ethics

Ethics in software development (Ethical Engineering)

Reading time: 9 min.

If we reject the idea that our digital world is inevitably predetermined, we recognise that those who develop software bear a moral responsibility. The focus of ethical engineering is on the developers themselves – not on CEOs, managers or hardware producers, nor on operators (business ethics) or users (user ethics). The aim is for developers to dedicate themselves to the task of software development in an ethically responsible manner. To this end, codes of conduct are developed, among other things, which are intended to provide behavioural guidance, for example the professional associations ACM and IEEE. This corresponds to professional ethics, which calls on a specific professional field to adopt behavioural patterns in order to guarantee the ethical standard of a professional group.

In medical ethics, guidelines and codes are used to provide doctors with guidance in complex decision-making situations. Structured checklists serve as a tool for a systematic approach and support medical action. Further training programmes ensure that basic specialist knowledge is available and accessible to all. The primary goal of all these medical actions should be healing. To this end, they take a variation of the Hippocratic oath, the Geneva Oath. A doctor’s licence to practise can be withdrawn if he or she displays behaviour that reveals unreliability or unworthiness to practise as a doctor in accordance with Section 3(1)(2) of the Federal Medical Code. All of these combined efforts are intended to enable good medical care for everyone in need. In the field of computer science, such an approach cannot be implemented so clearly, as computer scientists are a very heterogeneous professional group: Software developers from different countries work in a wide variety of industries around the world, from medicine to the public sector to the military. They have different levels of expertise – from self-taught to university graduates. This makes licensing and a standardised code of values difficult.

In ethical engineering, we look at software applications that either have unintended negative externalities, such as Airbnb, or those in which biased moral perspectives are embedded, recognisable in discussions about bias in machine learning. This refers to judgements that are made based on a lack of information and therefore a biased assessment of specific circumstances. Software can therefore not be an instrument with a claim to neutrality, but is morally “charged” by the variety of decisions made during its development. The discussion about Airbnb centres on the market distortions caused by the platform, which have resulted in rising housing costs for the local population, among other things. Correcting such negative externalities requires a considerable moral effort on the part of the software developers, such as a self-imposed restriction on the number of flats offered per square kilometre. However, this type of problem-solving should be an endeavour for society as a whole and cannot be imposed on developers alone (supererogatory demand). This contrasts with the bias that is often found in machine learning systems. In this case, the moral requirements are known, but the data set or the data evaluation does not fulfil them. Distortions in the results, such as those that occur in facial recognition systems, can be corrected technically. The responsibility here clearly lies with the developers, who must make the appropriate corrections.

In ethical engineering, software is seen as a tool for achieving specific goals, but software is by no means morally neutral. Ethical engineering is not concerned with the development of machines that can independently make and justify moral decisions (moral machines), but rather with the often unconscious embedding of the developers’ values in the technical design. This process of integrating values into technology is reflected in the embedded values approach (bottom-up) or the ethically aligned approach (application of principles).

The inherence of values in digital technology emphasises the need to subject software and software systems themselves to normative evaluation. Ethically significant situations do not arise exclusively through the application or use of digital artefacts. Ethics must therefore define its own area of investigation or apply a characteristic methodology that legitimises an independent ethical consideration in each case. It is essential to identify precisely those situations that are specifically characterised by the properties of information technology. Responsible ethics requires the identification of those characteristics that emphasise the special nature of digital technologies and thus underline their uniqueness (uniqueness thesis). This is the basis for a specialised ethical subfield that is proactive and forward-looking, as opposed to merely assessing the consequences of technology.

An ethics for software developers is based on distinguishing features of digital technologies and techniques, which should be taken into account when identifying normatively relevant aspects:

  • the medial character of digital technology and techniques (media)
  • the characteristic of an emerging technology
  • Networking through transparency and ubiquity (ubiquitous and ambient computing)
  • the malleability of digital technology and engineering
  • the power position of digital technology and engineering (scalability)
  • Diffusion of responsibility (many-hands problem)

During the development process, the identification of ethically significant aspects is often supported by the use of ethical frameworks. These serve to support the identification of relevant points by guiding the acquisition of insights in a structured manner and can serve as tools for documentation. However, the selection of values that are considered important sometimes seems arbitrary or does not appear to be sufficiently grounded in theoretical considerations. The digital humanism approach could provide a robust set of values in line with European core values. Digital humanism defines itself as an ethics for the digital age that interprets, accompanies and shapes the process of digital transformation from the perspective of humanistic philosophy. At its centre is the principle of human authorship, which is expressed in the way we assign responsibilities and view ourselves as rational, fundamentally free and self-determined individuals.

Equally critical is the consideration of how this knowledge or these identifications can be put into practice (principle-practice gap). This requires both technical methods (privacy by design, explainability or accountability models; ethical user stories) and work processes (value-sensitive design; value-based engineering; agile development) that enable reflective thinking about specific problems. An ideal approach would be to proactively and discursively integrate normative considerations into the entire software life cycle (Discourse Ethics; Participatory Design; Agile Ethics). To this end, software developers should not only be able to discuss normative issues, but also be actively encouraged to do so. Their ability to apply their judgement and communicate ethically must be specifically promoted and trained. Responsible engineering includes ethical considerations that take into account both contextual and technology-specific values and assess the defensibility of digital artefacts in the context of individual, intersubjective and collective practices. Normative considerations should be an integral part of the development process and should also be reflected in documentation practice and quality assurance.

Comparability with analogue phenomena

The development of ethical practices in engineering is crucial as engineers are often confronted with decisions that have far-reaching implications for society and the environment. Here are some basic steps that can help promote ethical behaviour in engineering practice. Professional organisations such as VDE (Verband der Elektrotechnik Elektronik Informationstechnik e. V.) and VDI (Verein Deutscher Ingenieure) are developing different strategies to ensure ethically appropriate engineering work. Similar considerations also apply to computer science.

Training and awareness: Ethics should be an integral part of the training of engineers. Courses and workshops on professional ethics can help raise awareness of ethical issues and develop the ability to recognise and manage ethical dilemmas.

Ethical guidelines and codes: Many engineering associations have ethical codes that serve as a guide for the professional behaviour of their members. These codes often include principles such as honesty, fairness and respect for the environment. Engineers should familiarise themselves with these codes and integrate them into their daily work.

Interdisciplinary collaboration: Engineers should collaborate with professionals from other fields, such as ethicists, lawyers and social scientists, to develop a broader understanding of the potential impacts of their work. This can help avoid biased technical solutions that could have unintended negative consequences.

Stakeholder engagement: It is important to include the perspectives of all stakeholders in the development process, especially those who are directly affected by the engineering projects. This includes conducting environmental impact assessments and considering the social impact of engineering projects.

Sustainability and social responsibility: Engineers should strive to develop solutions that are sustainable and respect the environment. This includes minimising environmental impact and promoting technologies that contribute to sustainable development.

Continuous education: Technology and the associated ethical challenges are constantly evolving. Regular training and professional development can help engineers stay up-to-date and better prepared to deal with new ethical dilemmas.

Transparent practices: Openness and transparency in all phases of an engineering project promote public and stakeholder trust. Documentation and open communication about decision-making processes can help improve understanding of the decisions made.

These steps are not only important for every engineer, but also for organisations and societies that practice and regulate engineering. Ethical behaviour in engineering strengthens trust in the industry and contributes to a fairer and more sustainable world.

The ethical principles and challenges in software development are similar to those in general engineering, as both fields require technical expertise and can have far-reaching impacts on society. However, there are specific aspects in software development that require special attention arising from data-driven technology, such as privacy or algorithms (uniqueness thesis, techno-generic values). Overall, ethical behaviour in software development is crucial to ensure that technologies support, protect and do not harm human well-being. Organisations such as the ACM (Association for Computing Machinery) and the IEEE (Institute of Electrical and Electronics Engineers) provide ethical guidelines and resources that can help software developers follow these principles in their work.

Social relevance

The social relevance of ethical engineering, ethics for software development, can hardly be overestimated in today’s world. In a world where digital technologies form the backbone of our everyday lives – from communication to healthcare to business – ethical considerations play a central role in software development. The decisions made by software developers have far-reaching consequences for data protection, freedom of information and the security of users: Issues such as the fairness of algorithms or the transparency of data handling processes as we move towards a future in which artificial intelligence and machine learning will be ubiquitous. Software developers are therefore not only faced with the task of creating functional and efficient products, but must also consider their social and ethical implications in order to design a technology that respects and promotes the dignity and rights of all people.

Sources