Ethics of Software Engineering

02 May 2017

Before knowing about software engineering ethics, I used to think a career in software engineering is ethically simple, since we are not like a doctor that could potential miss saving a life; we are not like a financial analyst who could potentially cause someone to go bankrupt, neither are we like structural engineers who might designing bridges that collapse accidentally. I used to think that software engineering is a “cleanest” and “safest” job, since in most of the time, we only need to work with a computer. However, After spending some time, studying the ethics of software engineering, I started to realize that, this is not an easy job, instead a software engineer position takes as much, if not more responsibility to the welfare of the community as those profetionals I talked about earlier because we could be taking a prominent position in a lot different different professional fields, in which a lot of ethical concerns could be involved.

The article, The code I’m still ashamed of, has really made me to think deeply about how little programs we make can indirectly kill a life, without out violating government restrictions. It’s a story about a software engineer named, Bill, was asked by a medical company to write a quiz website, which will trick younger girls into buying their medical product. Bill accepted the tasks without further thinking. And the that has caused a younger to commit suicide because of the depression ingredients in the medicine recommended as the result of the quiz. In many situations, when we work as a software engineer, we would have someone above us, whose commands must be followed. In Bill’s case, I understand that he was on a really hard situation, but I still believe whoever in this situation should take the obligation to reject being used as a tool to hurt others. I am not here to judge Bill’s decision making. What I’m saying is that taking an obligation of the well-being of the others, and having a more comprehensive thinking on the impact of the programs produced, as described in imperatives 1.1, 1.2, and 2.5 of the ACM Code of Ethics and Professional Conduct, is what a professional computer worker should learn to do.

On the other hand, it also worth to mention that, an ethical problem always requires the whole community to solve. In many cases, individuals have little to do to stop the danger resulted by an ethical issue. For example, in Bill’s case, even if Bill could foresee the seriousness of his website to promote a medical product, and inform the client again of the potential harm. It’s not likely that his client will listen to him, since they should’ve already known better than Bill the risks of tricking young girls into buying the medicine with the side effect of depression. In that case, all Bill could do, was to reject the job, but that wouldn’t stop the tragedy from happening either, since there would always be someone, who was desperate to take the job. By rejecting the job, the only thing that will be different is that the Bill wouldn’t have to bear the regret over time.

In conclusion, I believe that as a computer worker, we do have the ethical obligation toward the well-being of the community. Every computer professional should take ethical issues seriously, and try to study from others’ experiences to better deal with potential ethical situations.