Have you ever had to take an ethical stand while on the job as a developer?

ben profile image Ben Halpern ・1 min read

Whether little or big, has there been a time you've had to put your foot down on an issue, or perhaps you wanted to but didn't feel comfortable?


markdown guide

The Project That Doesn't End

I was volunteering with a non-profit I cared about, at the behest of the director, who was a long-time friend of mine. The goal was to get their web store and recurring donation form built...a project I was informed had taken seven years and three leads so far, with no end in sight. The non-profit was in imminent danger of going bankrupt in a few months without the new site.

Through my initial work, the current lead on the volunteer project offered me a job at his then one-man IT firm. The pay was pretty good, and the circumstances were right, so I accepted.

A couple of months in, I started noticing some weird things in the project at the non-profit I was working on with my (then) boss. We didn't seem to be getting anywhere even still, owning largely to the platform we were using. Said platform (Odoo) was only being used because my boss said he liked it, but he had no timeline to finish this simple website with a CMS, basic web store, and donation form.

The director of the non-profit came to me asking about the timeline. He'd already been informed by my boss that it was "impossible to say for sure, but it will take at least ten years.". The director asked me to look into how to speed the project up, and as he the final authority on the non-profit project, I agreed.

Having familiarized myself with Odoo over the prior months, and having ultimately concluded that it was the single worst code base I'd ever laid eyes on (seriously, avoid it like the plague!), I began to look for alternatives. I found one, and put together a robust proposal that would guarantee the web site would be done, to spec, within three months. I tried to propose it to my boss, but he announced he was on vacation until the end of the year, and was not to be disturbed.

The director of the non-profit took charge and had me present my proposal at a board meeting of the non-profit. By time my boss got into the conversation a week later during a follow-up meeting, he was enraged that I'd proposed something without getting his permission first (although he'd refused to take my or the director's calls).

When the director confronted him on the 10+ year timeline, and then declared "Whatever we use, it will NOT be Odoo," my boss literally threw a kicking-and-screaming-tantrum during the board meeting, which I have never seen the likes of before or since!

Then he began the games: he attempted a strategic gaslighting campaign during the board meeting, dragging it out to a four-hour affair. I had to constantly interrupt him to correct deceptions. "This proposed platform has no transactions!" he declares at one point, scaring the business manager, until I forced him to admit he meant database transactions, not financial transactions.

When he played the "I feel so dishonored" card (it was a Christian organization), I announced to him, in front of everyone, that what he was doing was dishonest and unethical. He had manipulated his volunteer position into a paid position at an already struggling non-profit (something he had been foolish enough to do in front of me two weeks prior), deceived everyone into paying for an expensive and unnecessary corporate license of Odoo, and then strategically manipulated the project to never end. After all, as soon as the site was deployed, he'd no longer be needed for 20+ hours a week. I caught him out in several deceptions. And then I announced, in that meeting, that I could not in good conscience, work for him anymore.

The result: his sympathy cards went from playing religious notes to failing to impress the board. He was removed from the lead role on the project. And as I was his only employee, he had to drop some of his clients....clients I was now certain he was taking advantage of.

I never regretted it.


Over 10 years for a simple website? Woah, that's unbelievable... I myself worked for an NGO and also helped out with a website they were building, I know how hard it can be for them financially. In my case I felt bad getting paid for it as it didn't seem like I did much. But 10 years!?
Good on you man, be proud of yourself!


I know, right? 10 years was obscene, especially given the 7 so far. No website takes 17 years to build.

I wish I could say the story ended well, though. The moronic final ending is that they wound up not using my proposal at all, but starting over with the original plan from 7 years before and bringing on a brand new lead remotely, while allowing "Manchild" (the former lead who threw the temper tantrum) to stay on as "just a volunteer developer". The website would take an additional year. But that mistake was due to some endemic organizational issues, especially hunger for control. The director, who had been appointed to his role by his late father, the founder of the organization, was strategically undermined and then replaced by his alleged friends who wanted to do things their way. The organization suffered as a result.

All told, I'm glad I got out of there when I did. Manchild was the tip of the iceberg.


Well darn if you choose to do honest work... πŸ˜’

Good for you, doing the right thing.


The world needs more people like you. You're awesome!


This is unfortunate to hear. I've worked for non-profits before, and often the ones that do the most don't end up with the most funding. And many of the Christians I know will give others the benefit of the doubt not only as a matter of tact, but as part of a religious inclination, too.

It's interesting that you characterized his words as "deceptions," rather than outright lies. This is "paltering."

In the world of business and negotiation, paltering is a means of using β€˜technically true’ information to get a better deal.
--Tracy Schorn

Seems like you ran into what Dr. Simon would call a "manipulative person."

From what you posted here, this asshole went through two of the three basic affects of manipulation by manipulative people:

  • Rage

...he was enraged that I'd proposed something without getting his permission first (although he'd refused to take my or the director's calls).

literally threw a kicking-and-screaming-tantrum during the board meeting

  • Self Pity

he played the "I feel so dishonored" card (it was a Christian organization)

  • Charm

Did you notice, at any phase, this developer "turning on the charm" at some point?

For you and for anyone who would like to recognize, and hope to avoid, a tale like the above, I recommend the following book Dr. Simon:


...clients I was now certain he was taking advantage of.

By the way, did you ever reach out to those clients?


I was not allowed to reach out to the clients because my employment contract had a few clauses.

As to the psychological assessment...oh, yes, I identified him as a manipulator just prior to that meeting, and a possible borderline sociopath, at the time. (I've got a communication background with a strong psych interest). Unfortunately for him, I not only have a radar for manipulators, but a looooong history of dismantling their machinations.

Keep dismantling, please. Things that might be obvious to the experienced, like yourself, can blindside those of us, ahem, who are not so savvy.


after all its all because of da dinero


Wow, thanks for sharing this. Very interesting story!


My most serious ethical failure was not to report blatant racism by a senior manager and owner. Being very junior at the time and not wanting to make waves I took the more cowardly option of lack of enthusiasm and limited cooperation.

Since this time I decided that my professional integrity isn't worth doing unethical things. I think this is easily said, but when your job depends on following orders it can be very hard to put ethics ahead of personal interests.

However, since then I did take an ethical stand, and in once case it cost me a position. But a job isn't worth poisoning yourself with guilt. You can get another job, but you can't forget doing things you know are wrong. I don't even mean illegal wrong. In one case I was being asked to modify a system I wrote so that the analysis it produced was more positive than reality. I don't really know it was illegal as such because it was a projection rather than a quote, but the simple fact it was twisting the numbers to try and present a proposal in a more positive light wasn't ethical. I didn't cooperate in this instance.

The line between morality and ethics is difficult. I've been an automation specialist for a while, and this means at some level that I try to make businesses more efficient, by which you can read pay less staff. Is this unethical? I don't believe it is because modern technology is all about doing things more efficiently. It is what machines are for.


when your job depends on following orders it can be very hard to put ethics ahead of personal interests.

To be more specific . . .

when keeping your job depends on following orders it can be very hard to put ethics ahead of personal interests a paycheck.

The top/first comment in this thread is a perfect example of this. A person who has no fear of being able to obtain the next paycheck never has doubts about standing up when it's called for.

I can only hope to be in that position some day.


This is one of the reasons I aspire to some semblance of financial independence.

I save and invest some of my income, often more than half. It may one day give me even more security to maintain an even higher standard of integrity.


So I am a Linux OS developer, and sometimes a closed-source developer. Once with an app, I was working with for freelance wanted the inclusion of complete phone data collection where possible. I told them I would not implement it even if they were paying me (it was free freelance work because I was bored). I ended up losing the position but their app never actually launched and the devs just never came back to work after the lead was overly hostile.


Kinda. I was writing a piece on unethical web design on Medium. I sent the draft to my peers for transparency, but I was no where near done, just letting them know what I was doing. I pulled a few examples from our sites because by calling out our wrongdoings I felt like we'd be taking responsibility and acknowledging our need to do better.

The examples were harmless in my opinion, like already checked newsletter sign up boxes. I didn't expose anything that wasn't already in our privacy policy, or anything that was a secret.

Anyway, I upset a couple people, but we came to an agreement about it and have so far made one change to our sites.

I never published the piece.


I wish you would, even if you have to obfuscate the details.


I did all this research and have all these notes and sources. I'll have to get back into the groove to finish it. Thanks for the encouragement.


...already checked newsletter sign up boxes.

Good for you! I hate those.

If you wanted, you could even break your post into little pieces, one post for each example, to make it easier. And if you wanted to "soften the blow" a bit, you could call it "UI-UX Antipatterns that Degrade User Trust" or something "nicer" like that.

Here's an example of one post that focuses on just one such "Antipattern" that seems intended to deceive users:



Thanks! Breaking it to sounds like a good idea.


These are all different bosses by the way:

  • That time my boss wanted me to marry a random person to get a visa.
  • That time my boss asked me to DDoS a competitor.
  • That time my boss wouldn't consider female candidates because they could get pregnant.
  • That time my boss purposely emotionally rattle employees as a strategy to get them motivated.
  • That time my boss asked me to lie on government grant programs
  • That time my boss damaged multiple rental properties by refusing to follow clear, simple instructions by the landlord how to avoid water damaged and asking me to collude they were not a fault by providing false evidence.

In almost all cases I left the company unless the behaviour was corrected.
These were all tech startups.


Sounds like you should charge into a different segment of programming. Something other than startups.


I don't know if this fits into this, but I had a bit of an issue when we were making a register page, where the user needed to enter their gender. My manager said, just add male and female. I said that this should no be binary, we should at least add the option for a 'Non-Binary' answer (although I identify with male gender, but know many people don't). He replied that this is not something we should worry about and that there are only 2 genders.

In the end, we ended up just putting the 2 options, I was quite pissed by the fact they don't even care about the people that might use this system. It's not just this, they didn't care about accessibility either.

The project then changed hands and the previous manager went another way gladly, I'm now the lead front end developer, and a good friend is the manager now. It's still not changed but we are in the workings :)


It's a valid question of diversity/inclusion.

But here's a little perspective: he was right about "not something that you should worry about". Because it's not a technical discussion. You're there to make decisions about building the site, not content. Content decisions are made by other people.

Your boss seriously just wanted to get shit done, and it's not his responsibility to answer that question. The concern that you addressed was a side topic and would have served only to hinder project progress. Matter of fact, if you get nothing else from my post here, understand this: The guy that's your boss, anything he does is because he has a boss to report to.

On the other hand, if it's truly a topic that you believe needs to be addressed,
then be the change you want to see in the world.

In the position that you had, questions about content are absolutely within your power to take up the chain somewhere. Ask your bosses boss, ask your boss to ask the client, there's a million ways to address it, but there was a path there somewhere. There's always a path.

And it could easily begin with a question to that manager: "Then who would I talk to about this?" I'm not going to pretend to know the social implications of that particular manager, but any boss that's really just trying to get shit done would be ecstatic that someone else was taking a potential topic off their plate.

The main problem here is that it is NOT an issue where you were being ignored or your boss wasn't taking things seriously. Taking that approach would definitely be a distraction to the real question about diversity.


I totally agree with you in some sense, I might have not explained it correctly. It was not a technical question nor discussion, we where planing that detail at the moment. Not building it.

And the thing is, it was a little startup, where content and building the site was done by me, then why should I not bring this up? It was my job in a sense... I just wanted to consider it, but he just ignored me and said some rude things, which is the point I was trying to make, If he wouldn't have left I would of because he was not a good chap and I was not comfortable what so ever working for him :(

It was also not just this, there where many more cases... like accessibility... not even considering it (even for the future)...

I have had many "Bosses" that just want to get shit done, but fail to see important details and don't accept ideas/improvements from others in the team... just because they are the "boss". But totally understand your point, shit needs to be done... and shit was done, but also shit must be considered and thought.

be the change you want to see in the world

I have been, I ended up managing the front end and have made an effort to introduce some more accessibility and give a bit more importance to topics such as diversity/inclusion... still working on it, as "its not a priority", see that would be a good answer from my manager not "There are only 2 genders"...

The main problem here is that it is NOT an issue where you were being ignored or your boss wasn't taking things seriously. Taking that approach would definitely be a distraction to the real question about diversity.

For me the issue came with his comments on gender, they were not love comments, I can only tell you that much here.

Let me guess, you are one of those "Bosses" right?

That's an unnecessary judgement based on a severe lack of communication.

Which leads to another point: If someone doesn't directly and exactly agree with you, labelling them as "part of the problem" dilutes the original message and doesn't help your cause.

The original message here is to be sensitive to issues of inclusion. It's not about race, or gender or even any specific minority. That boss, based on your original post, seemed to be taking the track that I would have taken: "I'm more interested in complete the project to spec."

Now, I would have added to the conversation "If you think it's a discussion to be had, here's who you might talk to". Further, I would probably have helped you navigate the labyrinth to at least get a response.

The boss cast his opinion, which had no affect on anything . . . neither getting things done nor your drive to find a solution for accessibility. He didn't stop you from pursuing it elsewhere, which you could have done, regardless. Even in the end, if everyone at the office had told you "no" to the question, there are plenty of external resources and advocacy groups that would be willing to hear your story and perhaps even pursue a path of getting such a change made.

BUT . . . since I didn't agree with your directly and exactly, I'm part of the problem?

A group of black folks hollering "Black Lives Matter!" at a Bernie Sanders rally dilutes the message. Hollering "Sexual assault!" when an 80 yr old man pats a 26 yr old on the shoulder dilultes the message. Hollering "Pedophile!" at an 18 yr old with a 17 yr old significant other dilutes the message.

Casting an opinion that a person attempting to give you corporate perspective is part of the problem faced by... whoever it is you're trying to champion... it dilutes the original message and it does not help the cause.

Thanks for that man!! And sorry, I was quite stressed that day and sometimes I say stupid sh*t, I'm trying to improve that.

You are totally right and really appreciate your point, and that you took the time to explain it. Most people would have just ignored it, so thanks!

I might add this, we are now in the 3rd year of refactoring that project because this "Boss" left 3yr tech depth on a 1yr project... this might give an insight into why I wasn't happy with him... this does not mean he was wrong not caring about that at the moment, but this translated to many other aspects of the project. And he did not accept opinions nor ideas from anyone... not even his boss.

Now, I would have added to the conversation "If you think it's a discussion to be had, here's who you might talk to". Further, I would probably have helped you navigate the labyrinth to at least get a response

This would have been a better approach, many managers/bosses should try and do this more, better than saying bad things about it or not considering it... so yeah, I don't think you're one of "them".... sorry again.


But here's a little perspective: he was right about "not something that you should worry about". Because it's not a technical discussion. You're there to make decisions about building the site, not content. Content decisions are made by other people.

Doesn't hurt to have engineers who think about the bigger picture. But yeah, overall I do agree with this.

Ever heard the story of the "The Blue Capacitor"?

I have not, worth taking a look?

I have not, worth taking a look?

Yes. Yes it is.

TL:DR; Company runs into a huge issue due to single sourced part: A capacitor. 'Twas chosen because it was pretty, engineer didn't think to check supply chain of the part because it's "not my area."

Single sourced means there's only one supplier, rather than multiples. If the only source of the supplier runs into capacity issues, the whole damn thing shuts down. We're seeing a bit of this with the whole SARS-2 outbreak's effect on modern supply chains.

Anyway, the VP of this company responsible for supply chains has to go down through 6 layers of management to talk to the engineer who specified it.

The engineer's reason? "It was blue, and looked better on the board. Supply chain's not my area."


Suffice to say, many specialized workers do not have much of a good reason to look outside of their area. "Will that affect my paycheck or my performance ratings? NOPE!" But companies who can inspire sidelong glances by their specialists, at other parts of the business will get more opportunities and avoid risks. That example was for an engineer who could have avoided a huge risk by making a sidelong glance at the supply chain implications of a decision.

But what about the sales guy who decides to learn Visual Basic, or the finance VP who tries out Terraform?

Or the backend Enterprise systems coder who asks his employer (ahem) to consider paying for graphic design lessons?

I saw that story you posted.

Yeah that person had no reason to poke their head up for any reason, so they didn't.

The person I was replying to had a desire, a goal. There's ways to get that stuff done. Typically, especially for stuff that is not on the Design Doc 😁, you're going to have to color outside the lines to get anything done.

A good supv will help you because it helps you get better.
An average supv can't be bothered to help you.
A bad supv won't help you at all because it helps you get better than them.


As part of my CS degree I had to take an ethics course specific to developers. I’m glad I had a great professor who covered a lot of potential situations.

I have, more than once, refused to implement a feature or changed a design for ethical reasons. We have a lot of power as developers, we have to hold ourselves (and each other) accountable. I hope that other universities, bootcamps, etc. at least touch on ethics.


We have a lot of power as developers...

True indeed. And most of the devs I know don't raise concerns out of some self-righteous narcissism, but out of a sincere (though on rare occasions misguided) desire to deliver a better product.


I offered to resign, if team members from my team is fired, I was working in a startup, and there used to be parties after a new client is on-boarded and people used to drink a lot. My team had few juniors, after party they decided to stay in office, and unfortunate broke some glasses. My new VP tried to be over smart and took decision to fire them, and told me his decision, I asked him to fire me as well, he got scared because he never thought that I will do it, I stood for my team, because this culture was created by organization and they can not be blamed. They got some notice after that, not to repeat something like that.


The whole China thing kind of did raise an eyebrow for me.

I don't think even the West quite knows the level and sheer scale of depredation the PRC quietly perpetrates behind "The Wall."


I was tasked to write a fingerprinting engine for advertisement tracking. I refused to do that, first, because it was not ethical to do so and second, because browser vendors had just started reducing the abilities of the products to limit fingerprinting abilities and I didn't want to increase the reasons for reducing browser functionality.


Many, many times. I work mostly for startups, and, sometimes, they don't understand that everything has a cost in development. They understand technical debt as something they can repay later, after years of good services. This kind of debt is way different than the financial counterpart.


Consistently, in terms of privacy, security, and maintaining the balance between business-centric models and customer-centric models.

Most often it is in terms of how and what data is shared between ourselves and our integration partners, and what level of trust can be placed in them.

Also because we often deal with real money, there are legal implications that must always be considered that vary from country to country.

Most of the time that falls under my umbrella of oversight, and can sometimes conflict with the business' needs.


I once left a company I was CTO of and had shares in because I believed the direction we were taking was unethical. This was an online gaming/gambling company where ethics were high on the priority list. Unfortunately at some point, they started making gambling products for minors and I had to leave the company. Fortunately, they ended up shutting that part of the company down and are now back to working ethically. I no longer want to work in that market because I've come to the conclusion gambling is an unhealthy market to work in for me.


an online gaming/gambling company where ethics were high on the priority list

My immediate reaction, beyond basic incredulity, was a question, "How's that working out for them?"

I'm glad to see you answered that question immediately.


I feel like they really did try to do that by the way, they just got off-track. They strongly invested in customer support and systems that automatically shut a user off if they were losing too much, too quickly to prevent people from going bust. It's still a bandage on a flesh wound, but it was interesting to experience


100%. I wrote an article about it but didn’t dive too deeply into everything. I was told I wasn’t allowed to work on accessibility. So I left. Huge slap in the face to someone who’s disabled. I couldn’t stay knowing all the accessibility issues we had.


Our team complained loudly over the handling and display of user data. Fortunately enough, after many discussions, examples of social engineering and showcase of how to abuse the application our view was heard and we are not handling it in a much more responsible way.


Was this complaining made to people from a Western business culture?


Partly the reason I left a previous role as a security researcher, the things you discover become double edged swords depending what your employer does with them.. and I got worried when the bonus arrived for a particularly juicy one!


When working with a11y tests, I sure did.
However, someone close to me had a more noteworthy argument: Linda [name changed] worked in an advertising agency who specialized on middle class customers. One of them had a dispute with his direct business competitor, so he placed a ticket in the agency. He wanted to have the wikipedia page of his competitor manipulated to gain an edge in business. Linda was assigned to it.
When she started the ticket she didn't only realize how ethically wrong it was, but also nearly impossible to do because of wikipedias open and crowd-collaborating nature. She talked to her manager about her ethical and technical objections and got phoned by her boss immediately after.
She was immediately being suspended until her contract terminated. She had to give back her hardware right now and wasn't allowed to came back into office.
She hasn't considered working for an agency ever again. I don't know what happened to the wikipedia page.


One of them had a dispute with his direct business competitor, so he placed a ticket in the agency. He wanted to have the wikipedia page of his competitor manipulated to gain an edge in business. Linda was assigned to it.

WTF man. That's messed up. Wikipedia is a sacred place.


GDPR - just making it super clear to clients that they cannot just email anyone they want to. They need to have explicit consent.


This. I was once asked to pull the emails of some people who had registered during a specific event to send them to the organizer of the event (third party). Like... no?
I was particularly disappointed because it happened in a small company that prided itself on its ethical approach to game development.


A lot of people reached me out for building them gambling-related apps, I rejected all of them, no matter how lucrative their offers are and how broke I am.


I got tricked into making one and the second the client asked to add in the gambling mechanic I dropped the contract. Though I didn't say I was dropping him because of the gambling I just said something to the effect of "I don't believe in the quality of the app you're expecting to launch".

Originally the app was supposed to be a solitaire game with ads. Eh, okay sure. Don't know why we need another one of those put you're paying so whatever. Then halfway through he wants me to implement some gambling sdk. Nope. And you want to sideload the app on Android because it violates the terms? Nooope.


I'd do the same thing, I hate those kinds of apps :(


I've really had to scratch my head on this one.

I guess I can say I've wanted to start a fuss about anything related to dev integrity ("wait, we should support all the evergreen browsers if we can. It's a google search away!" "Thats not accessible, and we should really change that contrast") but having had short job runs I veer on the caution of speak once, provide my recommendation, and let the rest be up to management.


Well, as a lead architect ethics is just another part of the big equation that ties everything together. And putting down your foot is basically a daily activity just to keep everyone at bay and prevent zealous stakeholders from turning your product into a monstrosity. Having said that I feel that GDPR has been a particular difficult topic for most of my clients. I've had a lot of difficult meetings around this topic, where both the other party and myself have taken different stands on the topic. On the one hand you want to be fully compliant, treat your user's privacy with the utmost respect and just be a good boy. On the other hand we live in a world where doing all of that will result in a tremendous loss of revenue and your client's clients turning over to the competitor (who of course is Evil, didn't comply and is raking in all the money). Big companies cough Facebook cough Google ahem who I think should act more like a role model, have done the exact opposite in the past, which hasn't helped smaller businesses to take this topic seriously.


So many times, it's not even funny anymore. Though all of them happened at the same 2 employers, so my lesson is that as soon as there's the first issue, there are likely more to follow.


Yes I turned down a client when I found out they had been struck off their professional register for selling controlled goods illegally.