Engineers building unethical things is wildly different than lawyers defending rapists, because a lawyer defending a rapist is behaving ethically according to their career path.
Software engineers agreeing to build awful shit is more like mechanical engineers building weapons. They should know what they are doing is going to cause harm and if they choose to do it anyways I have no issue calling them unethical.
The lawyer's defense is "by playing devil's advocate, I make the protection of the law more robust for everyone". A closer equivalent would be a system where every organization had white-hat hackers.
I heard a lawyer in an interview talking about defending a rapist/murdered in a small town. While eating lunch at the town diner a few people approached to ask how he could defend someone so vile.
He told them about how it is important that defendants are presumed innocent, and that everyone gets a strong defense, in order to make sure that those who are wrongfully accused do not get wrongfully convicted.
They talked about it for something like an hour, and the people were only sort of convinced. And his lunch got cold.
Later, he found himself in another small town, defending another rapist/murdered, eating lunch in a diner and being asked by the people there the same question.
This time he said "his family paid me $100000 to defend him". The crowd accepted that right away as a perfectly fine reason to defend some totally vile criminal, and went back to their lunches.
I think that amounts to the same thing; the lawyer thinks "This $#@& is guilty as sin, but the court has to prove it." Few professions have a regular test of that kind.
A lawyer can have their whole career ruined if they are found throwing cases. The justice system itself finds it unethical if they don't prosecute or defend to the best of their ability.
Suggesting that software somehow has that same kind of standard where engineers are required to build anything and everything they are asked to the best of their ability or they can lose their accreditation (as if we even have that in software) is absolutely absurd.
An engineer building effective adtech is similarly behaving ethically according to their own career path.
Lawyers effectively defending awful clients, for example, managing to get them off the hook on a technicality, are likewise generating massive negative externalities for society at large.
It's either both or neither, and I'm not comfortable going down that path.
> An engineer building effective adtech is similarly behaving ethically according to their own career path
The phrase "Effective adtech" is really downplaying the amount of unethical shit involved in building it.
It could be effective without turning the internet into a race to the bottom. It could be effective without third party tracking, it could be effective without vacuuming every bit of data possible from every source imaginable. It could be effective without turning every device we own into an ad platform.
> It's either both or neither, and I'm not comfortable going down that path.
No, its not both or neither. That's absurdly reductive to suggest. It is possible for lawyers to behave unethically in their duties, but just defending the guilty (or prosecuting the innocent) is not unethical on it's own.
Similarly, it's possible for engineers to behave unethically in their duties. Just building software isn't unethical.
Building platforms that are deliberately and systematically eroding our privacy in every corner of our lives in order to make money absolutely is unethical. Turning society into a corporate-controlled panopticon is absolutely unethical. Absolutely scumbags
The core of my argument is that an engineer building the product is performing their duty. You don't have to sell me on the fact that ads are bad. I hate all ads.
I'm a developer myself and I've never faced the dilemma, but I don't feel like blaming others for not wanting to become judges of good and evil. Like in the case of a lawyer, doing your job and doing it well is in and of itself ethical.
I really can't draw a line in the sand where adtech is unacceptable but $something_else is, just because I have such an hatred for advertisement.
> Lawyers effectively defending awful clients, for example, managing to get them off the hook on a technicality, are likewise generating massive negative externalities for society at large.
This is a harmful misunderstanding of how the legal system works. Subjecting laws and procedures to scrutiny, and exposing "loopholes" is exactly the role of a vigorous defence. The fact that the consequences for the state (and society) of miswriting or misapplying the law can be so severe is exactly what keeps the system honest.
Software engineers agreeing to build awful shit is more like mechanical engineers building weapons. They should know what they are doing is going to cause harm and if they choose to do it anyways I have no issue calling them unethical.