Introduction
In the article “The Code, I’m Still Ashamed Of”, Bill Sourour shares a powerful story from his time as a young web developer working for a marketing company that built websites for pharmaceutical companies in Canada. Because of strict Canadian laws banning direct drug ads, these companies designed quizzes asking users about symptoms and recommending specific medications. At first glance, this seemed helpful. A way for people to learn about their health and get advice. However, Sourour soon discovered that the quiz his team built was rigged. He figured out that regardless of what answers the clients gave the end result was always the same in suggesting the client the same drug. He saw this as misleading and unethical.
The story takes a tragic turn: one user who took the drug later died by suicide. The drug had side effects, including suicidal thoughts, which users were not warned about properly. When Sourour learned of this, he felt deeply responsible. He quit his job and has since become an advocate for ethical coding in software development. His story makes us think about how important it is for developers to keep people safe and be honest in their work.
In this essay, I will explain how Sourour’s experience shows that breaking the IEEE Code of Ethics can cause real harm. I will also apply ethical theories, like Armstrong’s framework, to explain why developers have a duty to prioritize users’ well-being over company profits. Finally, I will connect this to the themes in Mother of Invention, showing how ethical responsibility extends beyond software to community care.
Why the Code Was Morally Problematic
The IEEE Code of Ethics is a set of principles meant to guide engineers and developers in making ethical decisions. One key rule is to “hold paramount the safety, health, and welfare of the public.” Another important part requires professionals to report any dangers that might affect the public. The quiz Sourour helped create clearly broke these rules. The quiz tricked people into believing the drug was the right one for them, no matter what symptoms or health problems they really had.
This wasn’t just a small error, it put people’s lives in danger. Since the drug was known to cause suicidal thoughts, the quiz’s dishonesty was especially harmful. If users were misled to believe they needed this drug, they were at risk of serious harm. The quiz prioritized corporate interests like, selling the drug over user’s safety and truthful information. This violates the basic ethical duty developers have to protect people from harm.
Sourour’s resignation after the tragedy was an important ethical act, but it came too late. Ideally, he should have raised concerns before harm occurred. When building software, developers need to question and refuse to create tools that mislead or manipulate users. Transparency and honesty are vital. Users must be given accurate, trustworthy information, especially when it concerns their health.
What Should Have Been Done Differently?
Sourour was in a difficult position, working for a company that wanted to increase profits. But ethical responsibilities do not disappear under pressure. He should have refused to write code that deliberately misled people. Creating software that manipulates users, especially about health, breaks moral and professional standards.
If Sourour wasn’t sure about speaking up at his company, he could have asked for help from outside groups, like professional organizations or ethics boards. Developers have the right and duty to report problems if their bosses ignore them. Leaving a project should be the last option, but trying to make things better and more open should come first.
Besides stopping the bad code, Sourour could have worked to make bigger changes. He could have helped create better rules for writing code at his company or in the whole industry. This includes being honest, clear, and making software that keeps users safe instead of taking advantage of them.
Applying Armstrong’s Ethical Framework
Merry Beth Armstrong’s ideas about professional ethics help us understand Sourour’s moral responsibility. She says that in jobs like engineering, medicine, and accounting, keeping people safe and healthy is more important than just following orders from your boss. This means workers should not blindly do what they’re told if it might hurt others.
People who create software and technology should consider how their work impacts everyone in society. They should focus on what’s best for the people using their products, even if that means disagreeing with big companies. Sourour’s experience shows the challenge of choosing between following his employer’s orders and doing what’s right to keep people safe. Armstrong’s ideas suggest that ethical professionals must stand up against harmful practices to ensure their work contributes to the greater good.
This also means recognizing interdependence due to developers, users, and society relying on each other. If Sourour had acted earlier, he might have prevented harm and set a stronger example for ethical responsibility in tech.
Connecting Sourour’s Story to Mother of Invention
The ideas in “Mother of Invention”, connect to what happened to Sourour. The main character, Anwuli, is ignored by the people around her. Instead of helping her, they judge her and only think about themselves. Because they don’t see that they should care for each other, Anwuli ends up hurt and alone.
Similarly, Sourour’s company valued profit over user safety, neglecting its ethical duties. Both cases show what happens when people or organizations ignore their connections to others and fail to protect them.
Interestingly, “Mother of Invention” includes Obi 3, a robot who, despite lacking emotions, acts in a way that protects and cares for Anwuli. This contrasts with the neglect shown by humans and mirrors how ethical software should behave. Good code doesn’t need feelings but should be designed to protect the user’s well-being.
Both stories highlight the importance of care and ethical responsibility regardless if it’s in a community or in software development. Ethical actions prioritize shared safety and flourishing over selfish gain.
The Importance of Ethical Awareness and Education
One important thing we learn from Sourour’s story is that people in tech need to learn about right and wrong. Many developers begin their jobs excited to build new things, but they might not think about how their work can affect others. That’s why learning about ethics should be a big part of studying technology. Teaching developers about the responsibilities they have to users and society helps prepare them to face difficult decisions like those Sourour encountered.
Ethics education can also empower developers to speak up when they see unethical practices. Often, employees stay silent out of fear. This could be a fear of losing their jobs, damaging relationships, or being ignored. Although, when companies create a culture that supports open discussion about ethics, employees feel safer raising concerns before problems escalate.
Adding on to this, ethical awareness benefits the whole tech ecosystem. Consumers increasingly demand transparency and trust from technology providers. Companies that prioritize ethics can build stronger, more loyal user bases and avoid costly scandals.
As AI and other smart machines become more common, it’s even more important to make sure they are designed in a safe and fair way. These machines don’t have feelings, so their code needs to include rules that protect people from getting hurt. This connects to the robot Obi 3 in Mother of Invention, which shows that technology can still be caring and helpful, even without emotions.
Broader Implications for Software Development
Sourour’s story is not unique. As technology becomes more advanced and used in everyday life, developers hold enormous power over users. Software controls everything from what news we see to medical advice we receive. Ethical failures can have serious consequences.
The case shows why codes of ethics like IEEE’s are crucial. This serves as a reminder to professionals to always put safety first and to be honest about potential risks. However, rules alone are not enough. Companies need to create cultures where ethical concerns can be raised without fear of retaliation.
Developers must be trained on empathy and the ability to think about the impact of their work on real people. Ethical coding isn’t just about avoiding lawsuits, it’s about basic human rights and ethics and respecting users as human beings.
Conclusion
Bill Sourour’s story teaches a crucial lesson about doing the right thing when creating software. Writing code that tricks people is wrong and can seriously hurt others. The IEEE Code of Ethics and Armstrong’s ideas both say that keeping people safe should always come before making money or just doing what your boss says.
Although Sourour resigned after tragedy struck, ethical responsibility means acting earlier to prevent harm. Developers must speak up and advocate for transparency, honesty, and user safety. Just like Anwuli’s community failed to care for her in Mother of Invention, companies that prioritize profit over people risk causing serious damage.
Ethical software development requires recognizing that developers are part of a larger community with shared responsibility. When software designers put care and safety first, they create better outcomes for users and society as a whole.
By learning from Sourour’s story and applying strong ethical principles, we can work toward a future where technology supports and protects all people, rather than exploiting them.
References:
Sourour, B. (2016, November 13). The code I’m still ashamed of. FreeCodeCamp. https://www.freecodecamp.org/news/the-code-im-still-ashamed-of-e4c021dff55e
Armstrong, M. B. (2003). Confidentiality: A comparison across the professions of medicine, engineering, and accounting. Journal of Business Ethics, 47(3), 223–237. https://doi.org/10.1023/A:1023968016224
Institute of Electrical and Electronics Engineers. (2020). IEEE code of ethics. https://www.ieee.org/about/corporate/governance/p7-8.html
Klarr, L. (2018). Mother of invention.