You have to stand by your principles.
I have had to push back on ethical grounds a handful of times, so I expect it’s something that all developers are likely to grapple with at some point (because everybody’s exactly like me (wink)). I think it’s a lot harder to see that when it’s a job early in your career and you don’t have a lot of experience/perspective. Morally bankrupt people take advantage of greenhorns all the time.
If your own moral strength is not enough, remember that the legal responsibility may fall on you. If you feel coerced or tricked into doing something wrong, or you see the buck get passed on to another developer (“if you won’t do it, somebody will!”), document EVERYTHING.
And as the author eventually did, get out of there. The market for developers is not so bad, there are other better jobs out there. Plodding along and ignoring that it’s happening is soul crushing - I’ve seen a couple of my friends go down that road for longer than they had to, and it made them miserable.
Probably preaching to the choir here, of course, but still feels worth saying.
One reason to build financial security as quickly as you can is so that you will never have to compromise your ethics for it.
Not a fun read, and as the author acknowledges, they’re rightly ashamed of their part in the development of the site. That said, I applaud him for taking the time to write about it. It takes courage to publicly document your professional failings, and much more so when they venture into the deeply unethical. Hopefully, other developers, young and old, will read tales like this and apply a greater deal of introspection on such questionable tasks than they may otherwise have done.
Totally. It took courage to write an article like that.
Professional ethics in CS are really important, as this article points out. There is an obligation, growing more important every day, that those of us who make software take care to consider the ethics of what we make. Going beyond that, I think it’s important for us to grapple with what our work does to society. Like it or not, our work, the automation we enable, often means putting people out of jobs. It’s easy to say we’re changing the world for the better, and maybe we are, but we need to be part of the conversation on how we as a society handle the changes mass joblessness will bring.
Edit: I’ll add a link here to the final post of my year-long tech newsletter, Us + Tech: “I Am Killing Your Job”.
Your newsletter post struck an odd chord with me. A lot of people have been posting in various places lately about how Trump’s protectionist economic proposals are likely to be a net negative for society, giving up cheap goods in an attempt to bring back jobs that may not actually come back. And there you are with the opposite argument.
I don’t know and wouldn’t want to guess your personal politics. Just saying in general, there’s a strange inconsistency in these points. Either we’re for a theoretical net economic good, and we should automate, outsource, and offshore everything we possibly can as fast as we can manage, and the people who lose jobs as a result will find new and better jobs eventually, we hope. Or we care about people and know that our job market can only absorb changes so fast, so maybe we should tariff and restrict and such things to keep jobs, especially blue-collar jobs, here, and if things are a little less economically efficient than they could be, then that’s easier for our economy to absorb than widespread unemployment and huge employment skill gaps.
I am of the view that any attempt to stop automation long term is going to fail. The question isn’t if automation will eliminate a huge number of jobs, the question is when. In the short term, we can choose to shape this change however we want, and the policies we put in place will set the pace of change. In the long term, we need to be thinking about how we handle a society with mass unemployment.
I actually address this in a separate post: “Jobs For Horses.”
In the short-term view, I don’t think we can bring back many of the blue collar jobs that have been lost. For example, there’s been a lot of talk about reviving the coal industry by deregulating it, which rests on a complete misunderstanding as to why the coal industry collapsed. The coal industry collapsed because natural gas is cheaper, and unless we can automate coal mining to a pretty huge degree (bringing the costs way down, but also defeating the “bring back jobs” focus of the whole issue), coal isn’t going to suddenly become cheaper than natural gas. Interestingly, the same individuals who talk about deregulating the coal industry also talk about deregulating the natural gas industry, which would help to further ensure that coal can never be competitive with it. Coal isn’t dying because the environmentalists regulated it to death. It’s dying because it’s too expensive.
On the issue of reducing or stopping offshoring and outsourcing: I don’t believe the American people are actually willing to pay more for the goods we consume, many of which come from imports, and I don’t believe we are prepared to manufacture many of these goods domestically. Sure, we can set high tariffs, punish companies for outsourcing and offshoring, and do whatever else makes us feel good about protecting American jobs, but the money from those jobs will pay for less than before, and everyone else will be feeling the hurt because of it.
A lot of people try to say that ethics have no place in programming, but they do, and people need to take this into consideration. Even more though, this post makes me believe in the importance of open source as a way to prevent abuse of users.
The ethics of coding a fake questionnaire which pushes a product is one thing. However I don’t believe we should be conflating this with the ethics of taking the drug. Presumably you go to a doctor and are monitored by them when undergoing treatment, so the ethics of “who gets to live” is entirely within the realm of the doctor’s responsibility, and it rests on the doctor to check the patient’s progress regularly and adjust treatment as necessary.
There is blame enough to go around. We don’t have to pick one single party who was “most wrong”, and convince ourselves that nobody else did anything unethical. Clearly, in this case, doctors also didn’t do their full ethical duty (although most probably met their legal obligations). That doesn’t absolve anyone who had the information needed to see that it was wrong, and helped with it anyway.