It's time software engineers worked really hard to produce correct software. It's time programmers stop talking about ethics, comic book heros, gaming, movies, and everything else not-work-related, and got back to doing their job.
Being an ethical software engineer should be similar to being an ethical professional mechanical or structural engineer. It means first doing your job correctly. Doing your job correctly includes "doing your job". Not worrying about world peace or <insert moral dilemma of the week>. Because, your opinion is NOT a moral absolute. Such Hubris!
Taking this analogy further: a structural engineer that makes a calculation mistake ("bug") that causes a bridge to collapse and kill people would be unethical. One that refuses to refuses to work on the bridge project, because he believes it will be ugly and will ruin the skyline, is unethical, and conceited. As is the one that spends 7 hours a day talking about politics (erm... "broader ethical issues").
It's time that consumers start paying attention to the ethics of the companies they consume from. If they don't like it, they should stop paying them.
The buyers and investors are the one to worry, not the paid help. If the paid help doesn't like it: Leave. Form your own billion dollar company with a "Do no evil" slogan and let me know how that all works out.
> The buyers and investors are the one to worry, not the paid help.
Ah, the famous Nuremberg defense. Sorry to invoke Godwin's law immediately, but shifting responsibility away from the people executing the questionable work to the people who either own or consume it is a denial of agency of each and every software professional.
I argue that the workplace of the knowledge worker is not one of blind obedience. Moral reasoning should not be suppressed just because there are other market forces.
No, your are missing a critical distinction. Ethics says to you do the job you were paid to do. If you don't like it, don't believe in it, etc. just leave. The Nuremberg defense was used by people that enjoyed following the orders until they lost and got caught.
My point was that instead of a low-level "programmer" having delusions about deciding the ethics of the company or even industry, perhaps leave that to the public, the consumers. They may get it wrong, but guess what? it's their job to decide what the market wants, NOT yours.
And I didn't say stay and follow orders. If you really believe you are that right, your free choice is to leave.
See you want it both ways. You want to feel morally superior, but want to get paid and eat too. But unless you are willing to really put up something of value, your personal moral objections carry no weight. In fact it pretty much shows how petty you are. Real ethical convictions mean not ignoring or avoiding the personal costs.
So why not change the awful organisations? The ETHICAL way to do that is to change a) the law, b) public opinion, c) show wall street an ethical way to make money, etc. d) compete better and put them out of business.
Stealing time, privately or publicly undermining your employer is not ethical. Stirring up politics at work is not ethical. Or wise.
As opposed to shifting responsibility from the people who command the work to those doing it? Is that not an equal denial of agency?
OP has it right. They want the engineers to talk ethics because engineers are the new druid class... instead of the wannabe preachers in media and the humanities who step further and further away from being able to have an intelligent, logical thought.
The public long ago absolved itself of responsibility for modernity, and that includes the public intellectual class, who now just fingerwag the ones doing actual work.
Or maybe, while they certainly can and should think and talk about ethical implications of their work, just like everyone else, we as the public should pay far less attention to it. Because really, being able to "invert a binary tree on a whiteboard", which is the selection criteria for companies that have them working on the most "impactful" projects does NOT by itself make one's opinion on any ethical (or any other, really) matter more valid or important than that of a guy flipping your burger or bagging your groceries.
Especially when most of that moral posturing comes not to even leaving your company to work (at still a very comfortable salary, mind you!) somewhere else, but to protesting mostly minor and inconsequential (and to most of the country, if we're talking about SV and US, quite unobjectionable) things while happily working on projects that actually do have some pretty damning ethical implications (viz. pretty much any Google protest).
Being an ethical software engineer should be similar to being an ethical professional mechanical or structural engineer. It means first doing your job correctly. Doing your job correctly includes "doing your job". Not worrying about world peace or <insert moral dilemma of the week>. Because, your opinion is NOT a moral absolute. Such Hubris!
Taking this analogy further: a structural engineer that makes a calculation mistake ("bug") that causes a bridge to collapse and kill people would be unethical. One that refuses to refuses to work on the bridge project, because he believes it will be ugly and will ruin the skyline, is unethical, and conceited. As is the one that spends 7 hours a day talking about politics (erm... "broader ethical issues").
It's time that consumers start paying attention to the ethics of the companies they consume from. If they don't like it, they should stop paying them.
The buyers and investors are the one to worry, not the paid help. If the paid help doesn't like it: Leave. Form your own billion dollar company with a "Do no evil" slogan and let me know how that all works out.