Those of us who began our coding career in the late 90's grew comfortable asking ourselves "Can I build it?" Programming, especially for the web, was defined by its limitations back then. What we wanted to build and what we could feasibly create were often light years apart.
Today, there are few limits to what we can build, but also a growing consensus that "the internet is broken" (the internet, of course, being the backbone of so many of these technologies). This presents an entirely different dilemma. It's no longer a matter of whether it can be built but whether it should be built.
A brief history of the tech industry 1999-present:
— Brian Rinaldi (@remotesynth) February 15, 2019
1999 - We're going to change the world!
2009 - We're changing the world!
2019 - We changed the world, but we don't think we like the result.
Our Tools Can Be Misused
We know that the things we build can be misused largely because so many of the things we've built have already been arguably misused. But is that experience reflected in the decision-making of most developers? A recent study by NC State says no. It seems to show that awareness of the Association for Computer Machinery Code of Ethics and Professional Conduct had no impact on the way participants responded to certain real-world ethical situations faced by developers. And, the fact of the matter is, very few of us (including me) have ever heard of that or any other code of ethics for our industry.
Technological professionals are the first, and last, lines of defense against the misuse of technology.
The above quote is from Cherri M. Pancake when discussing why the Association for Computing Machinery (of which she is currently serving a two year term as president) decided to update their code of ethics. I think she has it right in that developers today need to think about the potential impact of what they are creating but also how the things they have created are actually being used - i.e. it's both forward and backward looking.
Let's think about a simple example. 10 years ago, developers were building simple face tracking tools for the web using Flash. I remember seeing an incredible demo at a conference that had all kinds of fun with this technology. Should we have foreseen that this same technology would eventually enable the modern-day surveillance state? And what is our obligation now that we know the tools we helped create are being used in morally questionable ways?
No Easy Answers
I' not writing this post because I have any answers to those questions. In many ways, I am insulated in my role from some of the more difficult moral dilemmas...or, at least, like to believe I am. I do think about them a lot. This is especially true given calls to break up big tech, which, regardless of how effective you think it will be, only addresses the problem in hindsight - as in, it is in part an attempt to repair the fact that the things we helped build were misused but doesn't help address the issue of the things we are currently building (which is what the code of ethics is hoping to do).
At the risk of dragging you down the rabbit hole with me, what are your thoughts on the ethical considerations that developers face? Have you faced an ethical dilemma? How did you handle it?