News for hackers. Stuff that matters.
Re:Executing Software Engineers for Bugs by Eridrus on Sunday November 01, 2015 @08:21PM (#10489374)
When people bring up a code of ethics, actuaries seem to come up a lot because they can potentially lose their license for mis-evaluating risks, but anecdotally what I've heard is that in reality if your boss asks you to sign off on something, and you refuse they'll find someone else to sign off on it and just label you as not a team player. At which point you've harmed your career and had no real impact.

I bring this up because when people propose a code of ethics, they assume it will help, but I'm not really convinced that we will really get to a point where codes of ethics are widespread and taken seriously enough that they will do anything but harm the altruists among us.

Re:Executing Software Engineers for Bugs by SilasX on Sunday November 01, 2015 @10:09PM (#10489753)
A code of ethics is only one blade of the scissors. For it to cut anything, you need the other: a professional association that acts in unison to back up members who put their necks out like this and ensure they're taken care of, and that the unethical comapany's talent pool dries up.
Re:Executing Software Engineers for Bugs by hlieberman on Sunday November 01, 2015 @08:25PM (#10489385)
That's true. Is there a value to refusing to do work, even though it might not be able to stop something from being built in spite of it?

If you know, a priori, refusing to work on something you consider to be unethical will have /zero/ effect on the overall project, but negatively affect you, is it then ethical to do the work, or are you required to fall on your sword?

Re:Executing Software Engineers for Bugs by femto on Sunday November 01, 2015 @10:34PM (#10489837)
I'd contend that you don't know that it will have zero effect until you have tried, and how you go about refusing assent is of critical importance. If you simply say "no", your boss will move onto the next person for assent, and you will be left vulnerable. Make it a formal process, it it may well have an effect.

1) Listen to all competing arguments. Make sure you are making a sound decision and your opposition is genuine and not based on a personal bias.

2) Make it explicit that you are are saying no in your role as a professional, and that this is not just a casual "no". Ethics require engineers to make decisions only in areas of competency, so make it clear that you are competent to make this decision, and your decision derives directly from your competency.

3) Write it down. The document should cover 2) above, and set down the defensible reasons why assent is being refused, addressing counter arguments. Consider that the arguments you write down could well be tested in court, and you will be cross examined on them. The document/report should be of the same level as if you were a consultant to your employer.

4) Sign and submit the document (keeping a copy for yourself). You need to be open about your opposition. Keep it at a professional level. Hopefully you will get some respect, as your document should make it clear that you have legitimate concerns and are not just being difficult.

5) Be prepared for the consequences. Your opposition is now in writing and impossible to ignore. No sane boss is going to ignore it, as the legal consequences of doing so are too great if you turn out to be right. You will have heat applied to you, as the alternatives are to either address your concerns or to get you to retract, and the latter option is cheaper.

6) If the final decision is against you, either live with the decision or resign. If the issue is of sufficient gravity your only option may be to resign, whether that be for ethical reasons or your own legal protection. (Yes your Honour, my work killed 100 people, and I was fully aware of it as shown by this document that I wrote.)

If you end up resigning, then you're probably making the right decision anyway, as the events leading up to your resignation will have shown your employer to be a dud.

Granted, reality won't be as cut and dried as above, and will involve a lot of anguish.

Re:Executing Software Engineers for Bugs by hlieberman on Sunday November 01, 2015 @10:41PM (#10489868)
Very true. From a philosophical standpoint, I still believe considering the zero effect case is interesting, but from a practical standpoint, I will gladly cede the point to you. This process seems an impressively good balance for a very hard, miserable situation.
Re:Executing Software Engineers for Bugs by eloff on Sunday November 01, 2015 @10:10PM (#10489755)
You can draw parallels to the people who worked for the Gestapo in Nazi Germany. Was it unethical to follow orders to round up Jews and others for near certain death, if you knew you would be severely punished if you disobeyed? At the same time you know that if you refuse, the next guy won't. So why fall on your own sword?

I think a lot of people flippantly say they would refuse the order, but it's easy to say that when it's not your neck on the line.

Truly a deep moral dilemma.

Re:Executing Software Engineers for Bugs by tgroshon on Monday November 02, 2015 @06:45PM (#10496275)
You're so right!

It's the worse kind of dilemma: the kind that people outside the situation will claim was easy.

Personally, I think the Zero-effect case should not be cast aside lightly. Pragmatism is a legitimate ethical model.

Re:Executing Software Engineers for Bugs by lunz on Monday November 02, 2015 @03:54AM (#10490754)
I agree. An ethicists/moralist does not care about the content of the interests that bring people into conflict. He wants to constrain these conflicts by an additional feat of good behavior, just so that everyone adds an additional moral attitude to what they do or must do – at work or in the family – that leads to good works instead of evil deeds.

And thinking in this schema is not only a mistake, but it produces a theoretical reversal in a certain literal sense. People experience their environment and the interests that exist in it as a conflict, as an injury. And they do not hold this experience against this environment, but against themselves: their bad behavior.