I agree with what you're encouraging people to do, and I admire people who do the right thing, even when there's a cost.
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:
(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).
John Yoo is somewhat an unusual case, and he was held to account to some degree. If you read the Office of Professional Responsibility Report section in that wikipage https://en.wikipedia.org/wiki/John_Yoo#Office_of_Professiona... you'll see that he had to go through debarment hearings and was almost disbarred.
That sounds good in theory, but in practice, at least in my case, it doesn't work out like that. Lawyers for corporations do not care about their obligations under the law. They blatantly abuse it.
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.
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).