Would you do the right thing knowing that it was wrong? This is an obstacle not only software developers will encounter once in their careers, but even in our everyday lives. That is why it is important we learn about coding ethics as CS students. To me, ethics in software engineering basically means creating products/software with good intentions and never the opposite. Each line of code implemented should always be used improve the lives of the users, whether it’s making software more user-friendly or even making the users lives easier. These are all practices of good ethics in software engineering. A case study that showed an unethical way of software engineering can be found here.
If you didn’t bother reading the article, here’s the general gist of it. The writer is a software engineer at an interactive marketing firm, and one day he was given a task to create an online quiz for teenage girls. The test was for a medical firm in the promotion of their new drug. What the users didn’t know was that the test was rigged to always recommend this drug, unless you’re currently taking it or allergic to any of the ingredients. Fast forward to when the test is released to the public, a girl kills herself because of the drug. Apparently, one of the side effects were severe depression and suicidal thoughts. Although many may side with the writer and say that it wasn’t his fault because he is no doctor. I feel as if he is guilty of everything that had happened.
The biggest red flag that the writer showed was that he was too selfish. First being the case that he didn’t take the time to research the drug. The writer should have gathered all the background information he needed before he proceeded with the project. That means checking up on what the drug treats, side effects, and etc. But no, the writer blindly completed the project knowing that it was rigged in the first place, and even his project manager pointed it out to him. This gives a sense of unethical software engineering because he did not have the user in mind, who which the software was intended for. He was too just focused on the task at hand and even made time to celebrate the launch of it.
Secondly, even after hearing about the passing of the girl, he still made time to celebrate with the client. The writer just couldn’t skip out on that juicy steak he had with the clients. Even after hearing about the tragedy, he still made time to have a celebratory dinner. If he really were an ethical engineer, he would have cared about the software that he created and the harm that it was posed to cause, and he would’ve left the company right then and there. But no, it took the writer until after the dinner to finally resign from his position.
With these two examples of unethical software engineering, it is important that as ICS students we learn the importance of practicing ethical ways of creating products that consumers can really appreciate and make their lives way more convenient.