When I was in college, “Computer Ethics” was a core class for any of our computer science degrees, including the ones that were just about managing tech projects. Unlike many of the other classes, where there was wiggle room for transfers and life experience and similar courses on campus, this was 100% required. If you didn’t take it, you didn’t graduate. Period.
It was an amazing class, and one that I wish everyone had to sit through. We talked about times when a lack of QA killed people. We talked about the ethics of coding something where you’re not trained in the actual field. Most importantly, we internalized the fact that we are sometimes the last barrier between the public and a very dangerous idea.
That class comes to mind, almost twenty years later, every time I have to stand up to management and force them to acknowledge that the thing we’re about to do is dangerous and/or unethical. Yes, I love coding cool things and playing with new toys, but at the end of the day, “Do no harm” should be the motto of the ethical coder.