A single engineer putting their foot down is brave, but thousands putting their collective feet down can change the world.
It's a little harder for programmers because the ethical bar is less agreed-upon. "Doctors should help people" and "lawyers shouldn't steal their client's money" are pretty nearly 100% agreed-upon by the professionals, but there's still a lot of disagreement on what is and isn't ethical for a programmer to do.
In what sense are they unions?
"Software engineers need to be protected from the employers" and "the public needs to be protected from software engineers" seem like very different positions, in fact I can imagine both organizations existing in a sometimes-adversarial relationship.
IMO setting high standards is a quality shared by any healthy industry, because permitting shoddy work means every consumer needs to learn the details of the task in order to judge their provider.
The idea being, if professional strictures were imposed upon us, that would give us a stronger ability to push back against those who set tasks in conflict with those strictures.
We are in positions of privilege; we should build funds/organizations to protect and help whistleblowers; help them find jobs, have a fund to support them -- we don't need a union for this.
I've gone days without sleep. Woken up afraid for my life. My future. Knowing I may never work again. I may never be employed again. I may be on the street. Homeless. Unable to trust anyone ever again.
There's no one.
No one.
Do you understand that?
I'd happily have a union to protect me right now. My life may be over because there isn't one.
What about people who want to do the right thing and so they are crushed by evil?
Do you know how much literature there is out there about blowing the whistle? Do you know how many people are in prison right now for it? Being tortured every day. Julian Assange. Chelsea Manning. Karen Silkwood was poisoned and probably murdered and she was a leader in a union.
What about them? Who is protecting them? Who protected them? No one. They are going to live a life of torture and die in prison because of the truth.
Who is protecting the truth? Who is enabling the truth to exist?
I spoke up and had to do it, I had to, I couldn't not do it, despite the very real threat that I might be murdered in my sleep. I can't stand to see this happening around me every day. I can't do it anymore.
I don't think people really know. I don't think you really know. This isn't a movie to me.
Thank you for doing the right thing. It's heartening to hear that there are still people out there who live with integrity.
I hope whomever you denounced doesn't consider you a threat anymore.
I hope you manage to overcome the PTSD. Seek help if you can, if you haven't already.
And find a way that you can feel enough at peace that you can get some sleep. This writing (though it may be real) is setting off my BS meter.
However, I believe that you're calling on engineers to act as professionals without the professional standing that empowers workers to act like a professional. For instance, consider this:
https://www.americanbar.org/groups/professional_responsibili...
(d) A lawyer shall not practice with or in the form of a professional corporation or association authorized to practice law for a profit, if: (3) a nonlawyer has the right to direct or control the professional judgment of a lawyer.
In general, this means that 1) lawyers don't report to non-lawyers, and 2) non-lawyers can be imprisoned for practicing law without a license. That gives lawyers both a professional obligation and a professional power to meet that obligation.
Now, I have misgivings about the kind of cartel-building we often see in the ABA, AMA, and so forth. But the truth is, engineers, in the way you're using the term (unlicensed software engineers) don't have any particular standing as professionals. There are benefits to this, in that we can be considered mere employees if our employers do something dastardly and we went along with it - there are limits to what a mere employee can go along with under the defense of following orders, but there's no malpractice. But the flip side is that we aren't empowered to hold the line the way licensed professionals are.
That makes your willingness to stand up all the more impressive and commendable, but I can't really agree that software "engineers" have the kind of power you're describing, and it's built into the system that way (I put "engineers" that in quotes because in the context of this discussion, licensed PE holders do have more power, but not in the world of software).
These are merely cartels to restrict competition.
A better example of these legal standards holding lawyers to account is Prenda Law: https://en.wikipedia.org/wiki/Prenda_Law
I am not an attorney and when lawyers, 3 teams of them from the corporation and 2 separate firms come after you with 50 page legal memorandum, it doesn't matter if you quote the law to them. It doesn't matter if what they are doing is illegal. It's the most intimidating thing I've ever done. They lie, gaslight, ... and I don't even know what is what.
They can absolutely ruin people, but I feel strong in my case and I have more to file.
I went to an attorney about this and they said I absolutely do have a case and it was even bigger than I realized. The attorney told me I should take this case myself. Several steps I can take alone. Yes, that's right. They said I should represent myself. If I got an attorney the corporation would financially ruin me. All communication would go through legal firms and at hundreds of dollars an hour, I would be in debt for the rest of my life.
Not only would I be emotionally ruined, but I would be financially ruined too.
So I'm fighting this through the legal system myself.
I've researche the law. Read hundreds of cases. I have handled my own correspondences. At one point, I quoted the law back to them, as you have done here to me, and ordered them to stop the illegal activity. They asked who my legal counsel was so they could direct communications through them and I was so proud in that moment, because I listened to the other attorneys' advice and thwarted that attack. When they stonewalled me, I proceeded through the legal system. I have even questioned their witnesses under oath in a hearing. It has been an intense journey and I am still waiting for justice.
As it turns out, I actually have even more power than I initially thought by representing myself, because an attorney in a position of power abusing that power the way they have toward me was a big mistake on their part. The courts don't look kindly on professional attorneys bullying former employees going pro se.
Every day is a roller coaster. I support myself as an underdog going up against this behemoth.
When I can get my head above water and breathe for a bit, like right now, I feel proud of what I am doing. I am resigned to the idea that if I die because of this pursuit for justice, then it's a world I don't want to be in anyway.
I'm not asking other engineers to go this far. I have nothing to lose but my mind and my future. I am in a unique position to do it. Most people do not have the liberty I do.
All I am suggesting is that when in a position to implement functionality that you know will make the world around you worse, just don't do it.
Don't do it for money. Don't do it so you won't get fired. Just don't do it. Don't do it because if you don't, someone else will. If they fire you, sue them, or just get another job. There are plenty out there. They can't tell everyone what a horrible employee you are like they said they would to me so I would just quit and sweep all this under the rug.
You have the power to say no to evil. Just don't do it. Stop sacrificing your integrity for money.
Look around at the world around us. We built this. It doesn't matter if we have PE licenses and wet stamp documents. We have the power to write code or not write that code.
I don't have a job anymore. But I have integrity. I have my honor. I feel good. I'm scared. Of course. I'm in way over my head.
But I'm righteous!
If I have to suffer for it. Fine.
I'm not asking anyone to take it this far. Just don't write code that hurts society anymore.
And don't be afraid not to. There are other jobs. Let evil corporations fill up with crappy engineers and bloated salaries. All the good ones will migrate to the good companies. Or, look at me. I'm simply not implementing fraud that helps criminals wash their money.
I feel real good about that. I'm also learning a lot about the legal system. Maybe I'll come out of all this and work for a good law firm or the justice system. I'm learning a lot and it's very interesting. The law is like computer code, but written to control human beings. I didn't even know what prima facie meant before all this started, but I referred to precedent and I think I established my prima facie case!
All I need to do right now is survive until it's over so I can think about anything else at all and I can't wait for that day. One thing I've learned about the legal system is that it is very, very slow.
I wonder if this thread might have gone differently if I'd used dentists or physicians as an example. Still plenty of corruption and cartel building in the AMA.
My point about lawyers is that when you demand that software engineers act "like professionals", you're demanding that they behave as if they have a professional status that they actually don't have. That doesn't mean software developers shouldn't take that stand - all employees should - but we're just employees. If we attempt to behave as professions bound by a code of ethics that goes beyond "ordinary employee", this does mean we're taking on the obligations without the benefits.
But that aside... if I point out that lawyers can not report to non-lawyers and can bar those who do from practice, and that this is a component of what help lawyers do the right thing... well, I can't really claim that the conversation has taken a tangent when people respond with are you kidding me. Sometimes it's fair enough that the analogy overwhelms point.
People might (reasonably) take this line if I'd used physicians as an example, but I do think it probably would have been a better choice that distracted less from the point I was trying to make.
Thank you anonymous stranger for being one of those great whiles.
I learned to code because the grandfathers of the web decided to share their knowledge for free.
I landed my first job because someone decided to take me under their wing and teach me more.
I too, was asked to design and build a high frequency trading system that was designed to be fraudulent by default. I decided to walk away. I focus my career on solving mankind problems. Whether it's travel waste, roofing waste, energy waste or optimizations, solutions for reducing energy consumption via optimal cloud architectures, and designing scale system on as little footprint (carbon included) as possible. I'm against cryptocurrencies requiring so much energy to mine. It's killing our planet. We need to find a better way. Time based auto-token so long as you are able to capture the packet? I don't know... But we, humans, need to find sustainable ways to keep our machines and our society moving forward.
I will never write code that gives an organization an unfair advantage over others or is fraud or "shady". I have no problem walking away, conscience clean. I can always get another job. Yes, some may end up implementing it anyway. Some would say "What about patents?" etc etc. A free market should be a fair market, otherwise it isn't free.
We must begin to treat our profession with the care due to it - recognizing the negative impact it can have on human lives, justice, and freedom when it is used with harmful or careless intent.
The ACM Code of Ethics is the closest thing we have to our own Hippocratic Oath, and I encourage all engineers to read and take the serious obligations we are charged with to heart.
I’ll use this opportunity to recommend Ruined by Design, a book which deals with the moral responsibility of designers and engineers.
So I reported it to government agencies and am waiting on a response.
We are the ones who are doing these things. Us. The engineers. We have a responsibility to the people.
We are derelict in our duty.
We have to stop writing the code that is destroying the world. We have to hold our employers accountable.
We are the only ones who can stop this.
Sit. on. your. hands.
Stop destroying people's minds and lives with your code.
YOU are doing it.
YOU. The people who work at facebook and google and ad networks and content farms and high frequency traders and weapons manufacturers and climate changing organizations.
It's us. We are the engineers. We are the ones with the power.
It's up to us. The world is dying because of us.
It's not the business people making the profits. They aren't doing it. WE are.