days
-1
-3
hours
-1
-3
minutes
-2
-5
seconds
-4
-7
search
Examining the results of the 2018 Stack Overflow Developer survey

Ethics education among developers: Is it adequate?

Eirini-Eleni Papadopoulou
© Shutterstock / hafakot  

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.

Ethical schooling?

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.

SEE ALSO: Stack Overflow survey: Developers love TensorFlow & React, dread Hadoop & Angular

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.

Author
Eirini-Eleni Papadopoulou

Eirini-Eleni Papadopoulou

All Posts by Eirini-Eleni Papadopoulou

Eirini-Eleni Papadopoulou is an assistant editor for JAXenter.com

Leave a Reply

11 Comments on "Ethics education among developers: Is it adequate?"

avatar
400
  Subscribe  
Notify of
Riaan Du Plessis
Guest

Interesting article. I wrote a research article on the same topic, for those who are interested you can find it here: http://www.thebinaryworkbench.com/ethics-in-software-engineering/

Lavos
Guest

Education will do nothing. Big business and capitalism have taught us to do whatever it takes to make profit. Study advertising and see mind manipulation at its best. Popular apps and social media sites purposely take advantage of human nature. I can educate you all day but it comes down to you taking action. You have wishful thinking, but it’ll never happen, especially within government.

Tom Graham
Guest

The atomic bomb was developed by ethical people for an ethical purpose, they alternative was far far worse. However many historians today think the atomic bomb was horribly unethical. Ethics is 100% subjective and ethics in peacetime and completely different than ethics in war time. With that said, it would absolutely depend on the circumstances.

Tom Graham
Guest

Currently, Google/YouTube, Twitter and Facebook have entered an all out war against conservative content, frequently censoring facts they “disagree” with. If a programmer took action to defeat censorship, it might be both ethical and unethical from your point of view.

blackbox
Guest

This question has been around for as long as software itself, and there’s no easy answer to it. Mostly, we lack the knowledge of the big picture to make a valid judgement about whether our code is ethical or not.

That’s probably why so many of the SO respondents fingered top management as most responsible, as we fondly imagine that they have more of an overview than we do.

Kurt Guntheroth
Guest

The ACM Code Of Ethics is a weak and powerless document, full of wishy-washy “could” and “should” language, with no sanctions for violation. It’s a very big bag of words, holding nothing of value. If this is the very best that our premier organization can come up with, then humanity is indeed doomed.

Hi-Angel
Guest

I’ve voted “yes, I’d write unethical code”. Why? Well, I’m basing on solely personal feelings, that I’m not inclined to share.

What would be interesting, is to see the correlation between this particular question, and the one about physical or psychological conditions ;) @jaxcenter please download the database results, and make the comparison, I bet it gonna be interesting.

Gabriela Motroc
Guest

You are right, this is indeed a very interesting angle. We’ll get right on it, thanks for the tip!

Hi-Angel
Guest

Oops, that’s annoying, the comment form is buggy. I see my prev. comment (titled as awaiting moderation), and there’s missing emoji smile “:D” in the end.

Hi-Angel
Guest

Any news on this? I’m curious about the results :) I am not motivated enough to do that myself, but motivated enough to molest you about the article

JimL
Guest

IEEE also has a code of ethics. Also, schools are reluctant to teach ethics since it is assumed to have been learned from other means (family, associations, etc.) So far, I have only seen something like ethics being taught in business schools and medical schools. But, these days, many programmers are self taught. No school or degree. Who teaches these people ethics, unless if it is society