Recently I read a report from the 2018 stack overflow survey, here.
From the survey:
Only tiny fractions of developers say that they would write unethical code or that they have no obligation to consider the ethical implications of code, but beyond that, respondents see a lot of ethical gray.
Given the recent investigation into Facebook. I thought it might be prudent to do a little thinking and writing about what it means to write code ethically.
What does it mean to write code ethically
I’m no philosopher, but like most things in life I believe there is some common sense ways of thinking that will get you through the day to day of writing code ethically. Writing code ethically means allowing people to make informed decisions about their devices, data, and privacy. This requires the software that we write is upfront and consistent with how it stores and uses our data. It requires we write software that follows our privacy policies. Privacy policies should be fair and not simply protect the companies that write software. Recently there has been talk about Cambridge Analytica and how they may have acquired their data. If people were mislead about why their data was collected, regardless of whether or not it complied with privacy policies, there was something unethical happening. If the software engineers didn’t know what was going on, then maybe the code was ethically written (although I would imagine that a software engineer somewhere saw that people were being mislead). I also understand that not everyone has the ability to say no safely all the time, but there has to be a line that drawn in what a person will and will not do. The worst part is if the data had been collected honestly with the true intentions of the use of the data explained I believe that nothing unethical would have been happening. I spend a lot of time thinking about what political digital organizing looks like. I believe that the data our users entrust to us should be carefully kept and that there is a legitimate need for it to be used by campaigns to help bring people to the polls.
This is a tricky and difficult subject. It is something that professionals everywhere should spend time thinking about. Software engineers, like scientists and other professionals who have gone before them, have a responsibility to society to be thoughtful about the code they write and what it might do.