Yes - there are tons of developers, but a lot of senior devs won't nab offers from facebook due to their poor corporate profile and their hiring is, as a result, incredibly desperate at the senior level. Those folks who do consent to work for them command higher salaries because of this shortfall and most of us just get jobs that don't leave a bad taste in our mouth.
You could debate and compare all of these companies and they come out the same.
NGOs are full of unethical practices hopefully with cover. Small business does unethical at a smaller scale.
More often the successful businesses are the ones willing to be an unethical. The dating company with fake profiles or that tricky sales funnel designed to catch grandma and sell her knitting needles using misleading text.
How ethical is the company you are working for?
You start with "I don't know what an Ethical company means to you _or if it should matter_;" I'm a sincere egoist, so I declare: no! It shouldn't matter to you, or to anyone, what my or anyone else's notion of ethical is! Ethics isn't a universal, it's not endemic to the individual experience, and neither is ethics-having in the first place.
I contend that ethics-having is vital to the human experience like vitamins are vital.
Having said that, what would an ethical company look like _to me_? I have one simple test: whether a B2C company enforces that their product or service be used only in specific ways. Any company which fails this test is de facto unethical, and downright uncivil.
Apple taking away the right to repair is a company enforcing rules for a product be used in certain ways. On the other side facebook tries to get you to use the product in certain ways but rarely enforces it.
Likewise, it's a simple assessment for me to conduct. "Do I think this corporation enforces that their product or service be used in a certain specific way?" Unfortunately, I'm incapable of formalizing it any better than that. Yes, it's arbitrary, and not rational. I accept that. I don't advocate that anyone use this test, nor adopt my ethical positions; however, it is what I use, and I was primarily interested in sharing my perspective (which is both arbitrary and irrational).
Ethics are disappointingly rare in Software. Such a shame.
Limiting everyone to only non-toxic crayons short, dull, plastic knives that cannot even cut bread would reduce ability to inflict harm. To call blaming the tool childish is an insult to children. Is Sony now responsible for production and distribution of child pornography for making camcorders, screens, and computer memory?
I don't even like Facebook but I can see the prevailing arguments are utterly deranged.
I agree that the sense of which you speak is a nonsensical perspective; I'm not interested in laying blame on a tool for how the tool is utilized.
The Facebook employee isn't unethical because of their nebulous entanglement in nth-order externalities, whereby bad-person X did bad-thing Y therefore employee Z is guilty by association.
The Facebook employee is unethical because of their direct, active, engagement in developing the actual tools actually utilized by none other than their employer for the explicit purpose of making our world a more user-hostile place.
On the topic of open source, would it be possible to construct a license that removes the ability of bad actors to use it? Of course, a bad actor could use it against the terms of the license, but the intent of the software project is made clear.
I take it as axiomatic that Facebook is an unethical actor. I believe I have good reasons for this. From there, I say that anyone who works to make Facebook more effective at its unethical goals is similarly unethical.
No, this doesn't include people that contribute to OSS that originated at Facebook. Improving OSS is a contribution to the community, of which Facebook is unfortunately permitted to benefit from. Facebook starting an OSS project does not make the OSS unethical, because the OSS is a tool.
The question is different for employees because of this community/Facebook divide. Facebook employees are not unethical because of the tools they use for Facebook, they are unethical for furthering Facebook's unethical aims.
There is a very good discussion further down this thread. I do not mean "enables" in the sense that "a tool is used to violate human rights." I mean "enables" in the sense that "Facebook itself commits human rights violations, and employees of Facebook further the aims and means of these violations."
That is, Facebook employees are not unethical because they develop tools that are used to violate human rights. Facebook employees are unethical because they take direct part in the actual policies by which Facebook makes the world a more user-hostile place.
I don't think plumbers,electricians,lawyers, construction workers,car salespeople, you name it necessarily have inherently better average ethics (even once and if we define and agree on what those are or should be :)
As a software dev, if you're good enough to pass the screening at Facebook, you're good enough to have your pick of employers. You can go to one which is making a positive impact on the world.
HN software people love to call themselves Engineers with a capital E, but it seems all too often it gets forgotten that the practice of professional engineering requires adherence to professional codes of ethics.
Every accredited engineering program in the US and Canada requires that graduates have completed a Professional Ethics course, but of course the vast majority of "Software Engineers" aren't actually degree-holding engineers. They're by and large Comp Sci grads and to the best of my knowledge there isn't the same requirement for Ethics courses in computer science programs.
Is a perfectly defensible moral argument.
This line can defend anything people compete to be paid for, which should be a pretty clear sign that it's not a good line of reasoning.