DEV Community

Cover image for Ethics in Programming: The Project I Refused
Christopher C. Johnson
Christopher C. Johnson

Posted on • Originally published at on

Ethics in Programming: The Project I Refused

Image by Andrea Piacquadio

From time to time you hear people in the developer community talk about how we should be more ethical. This usually revolves around A.I. and if a driverless car should prioritize passengers or pedestrians. Yet today I'm going to tell you a story about how I refused to work on a project I felt violated my code of ethics.

I worked in a call-center of a non-profit medical research facility that helped people stop smoking. The idea is that they'd call looking to quit and the agents would help them find a way that best suited their needs. I worked with a small development team to create a new call-center application.

I was there almost a year when one of the managers sent me an email asking to create a small application. I was getting a lot of requests at the time because everyone knew we contractors were being let go at the end of the month due to budget concerns.

I was so shocked by what I read that I had to reread the email three times to make sure I understood what they were asking. I called the manager to clarify what exactly they wanted, I'd hoped I misunderstood the email.


They wanted me to take a list of known U.S. Department of Housing and Urban Development (HUD) addresses and compare that to where our active callers lived. If they lived at a known address the application would report them to our HUD contact.

Let me break that down. You can't smoke in HUD facilities it's against the rules. They wanted an application to report someone trying to get help with their addiction. Which meant they'd get in trouble with their landlord or HUD.

What did I do? Did I immediately speak out against this unjust idea? Did I march into the manager's office and make a passionate plea for the people we're supposed to help? No, I put the project off citing I was too busy with other things at the time.

I didn't address the issue, I didn't make anything better, and it didn't stop the project. Two weeks before I left I got another email from someone higher up in management. They told me that this project should be my new and only priority.

I didn't know what to do. For the next week, I feined researching the API they wanted me to use to buy myself some time. I did actual research and learned about it I just didn't do it with any seriousness. I planned to run down the clock as it were.

Then in the last week, I got a phone call from the person higher up in management I mentioned earlier. They wanted to know what was taking so long and proposed I set up a meeting to go over the details. There was a long pause after he asked when I was free the next day. I felt backed into a corner and decided the only way out was to finally do the right thing and voice my objections.

He didn't say much while I told him how I felt about the project and the negative impact it would have on the people who relied on us to help them. When I finished he reiterated the importance of the project and how we'd already promised HUD it would be ready by the next quarter. He didn't address anything I'd said during the call, he asked me again when I was free. I took a moment to collect myself and told him that I wouldn't be moving forward with the project. It was unethical and I couldn't be a part of it. Not that I was that eloquent.

After a heated retort he made it clear that I was jeopardizing my job. I told him I was leaving on Friday anyway because I was a contractor. I thanked him for his time, why I don't know, and hung up the phone.

I didn't hear from him or anyone in management after that. I assume they got someone else to make the application or let the idea fade away.

If you made it this far then congrats and thank you. This was kind of a long story but one I felt I needed to tell. I tried to make it as short as I could but a lot happened during all this.

In a way, I'm grateful it happened because it showed me where the line is that I won't cross. Though at the same time I'm not happy with how I handled it. I wonder what I would've done if I were a permanent employee instead and had more to lose.

Top comments (2)

leob profile image
leob • Edited

Thanks, good story ... in the end you did the right thing, but make no mistake these situations can be horribly difficult. The best scenario is if you're not really dependent on them and you're in a position where you can just walk out telling them "you're asking me something unethical, so I quit" (which is what you did). But it takes time to muster the courage, no question about it, it's easier said than done.

vickilanger profile image
Vicki Langer

😳 What a horrible requested product. I happy to hear you weren’t willing to make it. You can look back and keep asking “what if I...” all you want. In the end, you stuck to your own ethics. I hope they didn’t move forward with it, but it wouldn’t surprise me.

Also, that project would totally compromise whatever that call center was doing for other people. Loss of trust could ruin it all. That’s horrible to use someone’s request for help as a negative.