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.