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.
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.
Giving people these at their job provides great satisfaction and better performance:
- Competence: using your abilities at a task, experiencing mastery
- Autonomy: having the ability to make decisions about the task
- Relatedness: understanding how the task relates to something bigger that helps others
- Autonomy — Our desire to be self directed.
- Mastery — The urge to get better skills.
- Purpose — The desire to do something that has meaning and is important.
They seem to map one-for-one with your list above.
I was expected to sit all day at my desk sans bathroom / coffee breaks, and never deviate from the set list of tasks to deal with re: mailing, endorsements to policies, follow-ups on mortgagee changes, etc. But when they finally let me attempt to do billings, I didn't truly understand the process after months of being forced to do mindless shit work, and of course messed something up.
And then when you fail one time, they justified further restricting you despite the "issue" being A.) instantly fixable, B.) not dealing with much money in policies (such as misc. articles), and C.) Never being pushed or expected to perform on your own by your own boss, who at this point was more interested in me organizing their decades old folders of policies to be digitally scanned.
When I was told I would need another designation (CISR) to be "taken seriously", which would've involved another year of classes in addition to busy work, I said fuck all of that and went back to college within a years time.
I'm given the opportunity to say "I'm trying something new, but dorked up and this will take longer". It's not limitless and sometimes I end up playing catch up... but IMO it has paid off a lot in my confidence and skills.
It has been a great experience. Being able to make a real change that actually impacts the product lets me see the results, good and bad.
The real power is rewriting something, finding out why things are the way they are, failing to make it better ... and then that combo really informs the final result that is almost always way better.
I'm a college football fan and a head coach PJ Fleck talks a lot about failure and how he wants his guys to go out on the field, try, and fail. Making choices and failure to him is 100% a part of the process to getting better, not just as a part of "that's what happens" but it is both expected and embraced.
It also reminds me of when I used to have interns sit next to me. The vast majority we'd give simple tasks to and the outcomes I didn't really care about as much as the effort. Most folks really floundered without being told what exactly to do, it was disappointing.
One day a high achiever intern comes in along with a guy who was "a problem" according to the professor.
Both did great, and IMO difference between everyone else and those two wasn't any technical skills or etc... they were fearless. They tried things others wouldn't, they'd dork it up, but they also (to some extent) didn't worry about the results and thus learned super fast. In the end they were the only two we ever actually offered jobs to.
After spending more than half of my life living in Singapore & China, I believe what you have described in a more general sense applies to populations under authoritarian regime too.
A company I worked for had what I will call a “monkeys at typewriters” attitude. That, given requirements and (a ton of) restraints, their idiot monkeys could produce the code equivalent of Shakespeare. Perhaps not surprisingly, they never accomplished anything, despite having dozens of developers making a lot of money, and are now out of business.
Now we could argue all day about markets and business moves, but I will practically guarantee you that the real reason is this attitude towards employees (and not just in IT - CSRs had to schedule their bathroom breaks, which I see as the non-tech equivalent). When you provide that many restrictions on people they rise to exactly that lowest common denominator and never, ever, any further. If by chance they learn a new skill, they immediately leave for a better job that at least let’s them wield that new skill.
On the other hand, if you give employees something to try and accomplish, along with the freedom to ask questions, make mistakes, and ask for a review from a senior... yes, they F up from time to time, but they also grow and learn. In the end you have a better employee who is more able to handle any situation thrown at them, rather than simply being able to take Tab A and insert it into Slot B.
This is equivalent to university professors getting the tenure track to me. Aside from the whole “never get fired” part, tenure is supposedly about giving them freedom to move, explore, learn, and yes, eventually teach others what they have learned.