The Ethical Dilemmas Today's Programmers Face
snydeq (1272828) writes "As software takes over more of our lives, the ethical ramifications of decisions made by programmers only become greater. Unfortunately, the tech world has always been long on power and short on thinking about the long-reaching effects of this power. More troubling: While ethics courses have become a staple of physical-world engineering degrees, they remain a begrudging anomaly in computer science pedagogy. Now that our code is in refrigerators, thermostats, smoke alarms, and more, the wrong moves, a lack of foresight, or downright dubious decision-making can haunt humanity everywhere it goes. Peter Wayner offers a look at just a few of the ethical quandaries confronting developers every day. 'Consider this less of a guidebook for making your decisions and more of a starting point for the kind of ethical contemplation we should be doing as a daily part of our jobs.'"
And every employer I've developed code for has told me the same thing: shut up and get back to work.
Ultimately, in order to address the ethical considerations of programming, we would need a work culture that supports it. Otherwise it simply becomes another "know which side your bread is buttered on" lesson.
-Hentai [in vita non pacem est]
To a computer programmer, ethics is dead code, and I mean that in a good way. It takes effort to do wrong, and money to add the ethically problematic features -- and the only person who makes that happen is your boss.
Not necessarily - imagine software that controls a physical device, which has safety concerns. There's a simple and elegant check that can be performed that catches 90% of the dangerous use-cases, or there's a really hideously complex set of layered checks that will catch 99% of them. You have two days to ship or you're fired. Which do you include?
-Hentai [in vita non pacem est]
The fact that this comes up as a question at all is the reason CS needs to follow the footsteps of engineering, medicine, and other "professions". If everyone was registered, bound by a code of ethics and legally required to do so to perform their work employers wouldn't be so quick to think they can replace you with someone willing to follow orders. If the industry had a professional association (I won't call it a union but at times they perform similar functions) to out the employer attempting to force someone to go against a required code of ethics, then this question shouldn't actually come up.
I've been in a situation where I pretty much had to lie or lose my job. This was just after the dot-com crash in California and new gigs were hard to find and I had a family to support. If I were single, I'd tell them to shove it and find a gig in the north east, which still had "legacy" openings at the time. But that wasn't a real option.
I had knots in my stomach over that conundrum; it's not pleasant. I could relate a little bit with the dude in Les Miserables who had to choose between theft or starvation.
Even now I have to often live with foolish choices by PHB's simply because they are the boss. It may not be "unethical", but often it's bone-headed unprofessionalism. I try to CYA as much as possible, but sometimes you just have to shut up and play the game if you want the rewards of the game. The work world is messy Dilbertism in most orgs.
Table-ized A.I.
...but sometimes you just have to shut up and play the game if you want the rewards of the game.
Basically, you chose to shut up and do unethical things, to keep getting your hands on those $$$$ greasy paychecks. So quit rationalizing.
You had and have options.
Furthermore, they completely forgot the obvious ethical dilemma of an InfoWorld web site programmer tasked with implementing multi-paged articles.
Ezekiel 23:20
I've seen many requests for objectional software in the years I've been working, but some of the worst have been in the guise of 'content protection'. One of the most heinous was DTCP for automotive use, with intent to lock everyone completely out of the sensor network and on-board electronics. My standard response for this one eventually became:
1) I will quit before I allow myself to work on DTCP;
2) I will not support any engineer in the company who works on DTCP projects;
3) I will not support any project or library that a DTCP project depends on, or makes use of;
4) I would rather see the company close due to lack of work than have it pursue projects of this sort.
I've never been told to shut up and go back to work; granted, I had a long history with the company and was worth substantially more to them as an employee than a few paltry one-shot crypto projects.
I recognize that most people don't feel like they have the job security to make demands of this sort; however, I do, and I fully intend to make use of my tiny bully pulpit when situations arise that demand it.
Alter Aeon Multiclass MUD - http://www.alteraeon.com
Those options don't scale. Honest people will receive less resources and have less influence and perhaps have less children, leaving the world full of slimebags and enablers of slimebags.
It's probably why so many slimebags exist today. If you want to solve the issue on a large scale, you need to find a way to change the system(s) to not reward slimebags, not rely on futile individual volunteerism.
Table-ized A.I.
How quickly do you think those jobs would be shipped oversees to people who aren't bound by such associations?
That is the computer programmers' problem.
Hmm, the humour and sarcasm seem to have been be lost on you.
Right, ethics classes won't help. I left a good career at a major medical center when I was told that we were going with the technology that would likely create medication errors because the correct software was too expensive and it would be cheaper to settle the lawsuits.
Nobody needs an ethics class to know that that's wrong behavior, and taking an ethics class would not have changed that behavior. And it certainly wasn't the programming staff that needed ethical correction.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
You are putting words into my mouth. Basically I'm saying that IF you want to change behavior on a large scale, you need to find a way to change the reward system(s) on a large scale.
Nagging people to "be good" and accept the down-sides of honesty for altruistic reasons alone will not work well in the longer run. I'm not saying whether asking them to do such is good or bad, I am only saying it won't work on a large scale. I'm trying to explain it in terms of cause and effect rather than give it a good/bad value judgement.
X will change Z but Y won't change Z. Whether doing Y is "good" even though it won't change Z is another issue that I didn't address either way.
Table-ized A.I.
While lying to someone is quite bad, it is a whole order of magnitude worse to be forced to lie with them.