You don't solve persistent corruption by ethics courses you do it by removing conflicts of interests, changing incentives, and enforcement. They may not be easy to do, free of costs or even within capability to change.
Ethics could still be useful of course but the institutions need to care about it and the incentives need to be changeable accordingly for it to be more than just a figleaf.
Requiring CS, CoE, and EE majors to take courses on the humanities - without making any statement about the merits of those courses - the sort of thing that the university decides based on its political and financial goals, not based on its desire to create stronger CS professionals. A course with a title like "CS Ethics" sounds much more relevant and beneficial than "African American Womyn's Studies", which is the sort of thing I would have to take to satisfy my university's ethics requirement if I hadn't satisfied it with AP testing.
Today, I'm not so sure. People do tend to completely ignore ethics when there's social pressure to do so, but maybe the author of this essay could have benefited from it.
http://www.faculty.ucr.edu/~eschwitz/SchwitzPapers/BehEth-14...
Personally - I haven't taken any classes. I once wrote a template mailer that financial institutions used to mass mail customers, which I felt icky about, but I still did it to the best of my ability.
1/2 way through my career, I took a pay cut to leave finance and work in cancer research, mostly for the interesting work, but I do feel better about it as it's more positive sum for the world.
I would not begrudge someone doing something dodgy but legal to feed their families. Maybe they should feel a bit bad and look for other jobs, but I can understand.
In fact, a world where companies are so very ethical it takes a professional ethicist to spot unethical practices sounds nearly like a utopia.
> you need to be the one to say something
This implies a moral duty to learn rhetoric.
It will be passed as just routine and a normal part of the process. It'll be "just the way things are done". It'll still be up to you to understand and appreciate the ethical consequences of you choices.
In this case he was "lucky" enough to become aware of it due to heavy news coverage and then a follow up of an immediate family member being directly impacted. It almost never will be that blatant.
That's the lesson to take away from this. As part of your profession, you need to understand the consequences of the code you write and choices you make - and represent for and protect the people who won't be in the room, but who will be the recipients of the consequences.
Your day will be a subtle milgram experiment, and you need to be the one to say something.