Software, as a technology, is now underlying almost every aspect of our world. Computers and software are part of nearly every area we can think of. And this means that software engineering is practically becoming a practice that is relevant in everything we do. Or, if we want to be more dramatic, we can say that software engineering is the most influencing trade existing today.
It is therefore quite alarming that no part of the professional education of software developers deals with the ethical, social, political and cultural consequences of what they - we - do. We are trained in technology. We study how to build software, how to write algorithms. But technology is not the end goal - it is the means to an end. And no one teaches us that. No one tells us to stop and think about what we’re producing, about how it affects the world around us, how it influences people’s lives.
I believe we’re at a point where this becomes critical. We must raise awareness of the importance of ethics in technology. We need to educate developers not only to be good developers but also to be conscious and critical of the implications of what they release into the world. If we want to sustain a healthy society we don’t really have a choice.
My small contribution to this subject was this talk, given at the O’Reilly Software Architecture Conference in London (October 2018). I hope that those of us who care about it will keep writing and speaking and stressing the importance of changing the way we think about the part of ethics in our work and in the way we train developers. With enough voices, we will be able to shift the industry to a better and more conscious place.