Ethics education among developers: Is it adequate?
In the year 2018, in the age of automation and Artificial Intelligence projects, the talk about ethical implications of programming becomes more relevant than ever. Do developers have an adequate understanding of the ethical considerations of their work?
It’s been 3 years since the influential talk by ‘Uncle’ Bob Martin in Kuppelsalen, Copenhagen and 2 years since Bill Sourour’s article on “The code I’m still ashamed of” that went viral; and yet, here we are still talking about the importance of ethics among the programming community, or rather the lack of it. The results of the 2018 Stack Overflow survey concerning the ethical implications of code developing are worrying, to say the least. Let’s have a closer look.
Among 70,782 respondents, the majority of 58.5% replied that they would not write a code for a product or a purpose with clear and important ethical implications. However, a significant percentage of 36.6 responded that it depends on the situation. To my mind, an unethical use of the code is… I don’t know, unethical? Shouldn’t the answer to this question be a no-brainer?
Moving on to the question of who is ultimately responsible for code that accomplishes something unethical, among the 64,540 respondents, 57.5% replied that responsibility lies with the upper management, while 19.7% believe that developers are responsible.
Finally, 69,309 responded to the question ‘Do Developers Have an Obligation to Consider the Ethical Implications of Their Code?’ among which 79.6% replied yes, 14.3% were unsure while 6.1% denied the importance of any ethical considerations. What appears to be more troubling is that, as the survey points out, those who said they were unsure about whether developers should consider the ethical implications of their work were 40% more likely to also say that they do not need to report any ethical problems.
“We rule the world”
In 2015 ‘Uncle’ Bob pointed the finger at the programmers and argued that “we, the programmers, rule the world”. Everything that makes the modern world function depends on the work of developers. As ‘Uncle’ Bob said, some people may think that they rule the world, but when they think of how to rule the world, they write down the rules and then give them to the programmers to write the code that runs everything. But doesn’t great power come with great responsibility?
SEE ALSO: Why software ethics matter
Of course it does. Theo Schlossnagle, CEO of Circonus argues that practically no one ever writes code that would not, at some point, interface with a human being. Therefore, as one can easily fathom, the ethical implications are enormous and cover almost every aspect of life; from environment pollution (see the Volkswagen emissions cheating scandal) to the death of tens of people due to faulty software in cars and air travel.
Then, what does it take for programmers to collectively understand the implications of their work and assure the ethical application of their code? ‘Uncle’ Bob argued that if programmers don’t start regulating themselves, an apocalyptic catastrophe that would kill thousands of people is inevitable. As improbable and far-fetched this may sound, it is not impossible. And as there are still individual programmers out there that lack ethical barriers and undertake tasks with clear unethical outcomes, as the results of the survey suggest, ‘Uncle’ Bob’s scary prediction becomes even scarier.
The most obvious solution to ‘how we teach programmers about ethics’ is for developers to attend courses on ethics. And, as a matter of fact, they do. Ethics courses are pretty much mandatory for every computer science student in a university programme. However, the problem with this is that a huge part of the programming community these days consists of self-taught developers or individuals who attended some “coding bootcamp” and as Bill Sourour pointed out, these bootcamps rarely, if ever, include any ethical training.
On a different note, Theo Schlossnagle, argues that even though an individual does not have appropriate ethical training, that does not mean he or she doesn’t know ethics since the concept of ethics is innate in human beings. It is neither my place nor the purpose of this article to argue on a philosophical base about whether or not we, humans, are born with the knowledge of ethical concepts or not. Nonetheless, I would humbly argue that, at least in the case of programming ethics, developers ought to have a specialized ethics training in order to put vague ethical concepts (assuming they already possess them) in context or help them built ethical barriers altogether.
United we stand
In my opinion, the biggest issue of ethical considerations in the programming world is the lack of a unified ethical code and, most importantly, an association that could assure the implementation of the code as well as punish those who violate it. The Association of Computing Machinery has made some significant progress on the topic with their Code of Ethics and Professional Conduct. However, the adoption of the code is voluntary and no association, organization or committee has the authority to mandate the adoption and implementation of the code.
Bill Sourour’s had generated a huge response wave on Reddit and Hacker News with developers from all over the world sharing their stories of employers that asked them to write code for an unethical or illegal purpose. The common feeling among the stories was that even when a developer would refuse to write such a code, there would always be someone who is willing. These stories, mostly submitted in 2016, strengthen the results of the 2018 survey, where a percentage of the respondents, even if small, does not consider the ethical implications of the code to be of significant importance. A most troubling conclusion, I would say.
With the age of Artificial Intelligence rising, the ethical implications of programming become even greater. Therefore, I stand with Bill Sourour and ‘Uncle’ Bob’ in calling out to the programming community in order to create an association that would have the authority to govern and regulate their profession, in hope of avoiding the creation and implementation of any dangerous code that could potentially have catastrophic results, as Bob Martin predicted.