I often hear the opinion that CS and engineering majors should be required to take Ethics 101, the idea being that developers should take responsibility for the effect their tech has on the society. As someone who has studied CS and Philosophy, I am very skeptical of this idea.
It first seems necessary to figure out whether:
- Engineers care about being good, they just don’t know how, or
- Engineers don’t care about being good, and ethics will help
If you already have moral inclinations, studying ethics can help you analyze your intuitions and give you tools to think through weird, counter-intuitive edge cases (see population ethics for many of these), but I doubt it is effective making people care about being good (I loved the Good Place, but this aspect grated on me).
Sitting through lessons on the Kant’s categorical imperative or utilitarianism is great for learning about different moral frameworks, but these can seem very far removed from day-to-day issues faced by engineers.
I suspect a lot of the harmful consequences of technology we've experienced are not a result of engineers lacking ethics education, but is more a complex mix of incentive structures, cultural norms, and institutional power.
I think it may be more effective for engineers to study economics, game theory, politics, sociology, as well as very concretely-tailored ethical case studies related to the kinds of dilemmas they may face.