The Ethical Software Engineer: The Suggestion Box

Kyle T Knight
3 min readApr 2, 2019

--

The example situation we went over in class, The Suggestion Box, is a tough problem because it seems there is no perfect solution. Because there is no obvious choice, I have to pick the “least bad” option.

The first thing I would do about this case is ask for more information.

Something that might sway me is the importance of the products manufactured by the company. If the company is manufacturing defective medical or safety equipment then it makes the decision much easier because other people might be hurt. For example, if the company makes emergency parachutes, then someone’s life could be put in danger because of this rouge employee. If something like this was the case, I think I would do whatever is necessary to stop this employee from hurting other people.

If the products manufactured by the company were not as critical, the decision is less clear. If the company manufactured gaming consoles for example, consumers might be upset but no one could be harmed by a defective gaming console. I think that in a case like this, the right thing to do is to remain honest and refuse to help unmask an anonymous employee. Although the company is losing money with every tenth defective product, no one else is being hurt and the company should be able to identify the rouge employee through other, more ethical means.

Although refusing to help find an employee would might be the right thing to do, it might also result in other consequences. I would probably be fired for refusing to do the work the company assigned. The boss might then hire another person to find the rouge employee, which would result in the same result as if I had found them instead. The difference is that I would now be out of a job. When looking at the problem this way, it seems illogical to refuse because the only thing that changes is a negative event for myself. But, it comes down to the fact of how much my ethical code means to me. Unless I absolutely needed this job for some reason, for example to support a family, it is more important to me to be an ethical person and be able to sleep at night. In most cases, it would be better for me to leave that job and find another where I could follow my ethical code.

Another possible resolution to this problem would be to design the system in a way to keep employees anonymous no matter what. For example, you could set up the suggestion box on a server that would automatically delete logs as soon as responses came in. This would remove the ethical quandary and save your job because you there would be nothing you could do to find the person. However, this removes the option of finding a person who has very dangerous intentions, such as the imaginary scenario of parachutes being sabotaged. But in a case like this, there should be other procedures in place to ensure quality of each product in case of a rouge employee.

--

--