Case Analysis
Professional Ethics & the Code I'm Still Ashamed Of
Thesis
Utilitarianism shows that the pharmaceutical quiz Bill Sourour built was morally problematic — the suffering it produced outweighed any corporate financial utility — and he should not have built it. Professional ethics requires prioritizing public safety over blind obedience to an employer.
Overview
Early in his career, Bill Sourour was asked to build a seemingly simple health quiz for a pharmaceutical client. Every path through the quiz was hard-coded to recommend the client's acne medication regardless of the user's answers. Sourour saw himself as a technician executing requirements. He later learned the drug carried severe psychological side effects, including depression — concealed behind manipulated statistics and persuasive design.
Professional codes of ethics
Frameworks like the ACM Code of Ethics place public safety, honesty, and the avoidance of harm above other professional demands. Software does not exist in a vacuum; it interacts directly with human lives and psychological well-being. Deceptive design — dark patterns that steer users into health decisions on manipulated data — violates professional integrity and public trust. Sourour's narrow reading of his duty as "satisfy the technical requirements" failed that mandate.
Armstrong: moral disengagement
Armstrong examines how corporate hierarchies diffuse responsibility. Developers receive fragmented instructions that obscure societal impact, encouraging them to hand ethical ownership to the client. Sourour compartmentalized — he was "just writing code." Armstrong's framework says accountability requires piercing that institutional insulation and recognizing your causal role in the system.
Utilitarian weighing
The utility generated was narrow: corporate profit and one paycheck. The disutility was severe — uninformed medical choices and lasting harm to vulnerable young users. Act utilitarianism holds the agent responsible for the foreseeable consequences of their work, so diffusion of responsibility is not a defense. The right action was to refuse the assignment and raise the objection.
Objection considered
One could object that junior developers lack the power and financial security to refuse work under threat of termination. Corporate power dynamics are real, but systemic pressure does not erase personal accountability — it places a collective obligation on professionals to organize and push back.
Why this analysis is here
"Just following requirements" is the exact failure mode that produces insecure and harmful systems. This case is directly relevant to the work I want to do: security professionals are frequently the only person in the room positioned to say that something should not be built the way it is being asked for.