Conference Papers  |    |  March 2, 2017

Reflections on Cyberethics Education for Millennial Software Engineers

Conference paper by Claudia de O. Melo and Thiago C. de Sousa. Presented at the International Workshop on Software Engineering Curricula for Millennials (SECM), ICSE 2017.


Software is a key component of solutions for 21st Century problems. These problems are often “wicked”, complex, and unpredictable. To provide the best possible solution, millennial software engineers must be prepared to make ethical decisions, thinking critically, and acting systematically. This reality demands continuous changes in educational systems and curricula delivery, as misjudgment might have serious social impact. This study aims to investigate and reflect on Software Engineering (SE) Programs, proposing a conceptual framework for analyzing cyberethics education and a set of suggestions on how to integrate it into the SE undergraduate curriculum.

Excerpt from the Introduction:

The current technological revolution, being a critical engine of the digital transformation of the economy, is impacting all disciplines and industries. The so-called “Digital Economy” is considered the single most important driver of innovation, competitiveness and growth of countries. In this context, it is also a consensus among nations that taking advantage of technology to advance social and economic inclusion, and to promote sustainability and peace, is paramount and will demand a “transformation of societies”.

Software engineers investigate problems, and propose and develop software to tackle such societal challenges. They are creating the foundations that enable and govern our online and increasingly our offline lives, from software-controlled cars to digital content consumption. In fact, software helps shape, not just reflect, our societal values.

Software is a key component of solutions for 21st Century problems. These problems are complex and unpredictable, which is typical of “wicked” problems. They are difficult to define and are never entirely solved, as improvements can always be made.

To be able to work on problems not seen before, while applying the right knowledge and judgment, software engineers must think and act more systemically and more adaptively, so they can build up experience over time to make sense of world challenges.

As the complexity of problems continues to increase, the complexity of software intensive systems or systems of systems also increases. Therefore, there are serious challenges to educating millennial software engineers, which requires continuous innovation in educational systems and curricula delivery.

Moreover, the design of software systems comes with a special set of responsibilities to society that are much broader than those described in existing codes of ethics for computing professionals. While the potential return on investment in technology is usually high, the increasing pace of technological innovation raises ethical questions about its development and use. Information and Communications Technologies (ICT) bring ‘predictable’ and ‘less predictable’ ethical issues. Unintended consequences of technology need to be investigated and a precautionary principle applied.

Do millennial software engineers, the current dominant generation of workers, understand the ethical choices and related unintended consequences that the solutions for the 21st century might generate? Are they prepared to investigate and co-design solutions with other stakeholders to ensure better solutions for all? From algorithms, data science, AI, cloud computing to digital business models and services design, there are a number of ethical decisions a software engineer is (or not) going to make while designing systems.

This paper aims at investigating these questions about how millennial software engineers are trained to deal with computer ethics issues. We developed a conceptual framework based on Brey’s “disclosive” method for cyberethics, as it provides the major components for cyberethics decision-making, and the most important 21st Century cybertechnologies to support our investigation. We analyze the ACM/IEEE Software Engineering Guidelines and the curricula of the top two Brazilian SE undergraduate programs. We end the paper with a set of suggestions that might be integrated into the SE undergraduate curriculum, as well as conclusions and recommendations for future studies. [ . . . ]