The evil engineers! Not the managers, CEOs and so on, but engineers. The true root of evil.
Finally someone recognizes who's really at fault </sarcasm>
The evil engineers! Not the managers, CEOs and so on, but engineers. The true root of evil.
Finally someone recognizes who's really at fault </sarcasm>
I, for one, hope more engineers involved in fraud (eg VW), privacy breaches (eg Facebook) etc get tried and punished. It might help make programmers realize that yes, your work actually affects real humans and yes, you're partly responsible for getting it right.
If your boss makes you write evil crap, quit and get a better job. No need to be all courageous and write an angry blog post, most of us are wimps and that's fine. But that doesn't mean you can't vote with your feet. We need engineers to stop being willing to work anywhere as long as the pay is good and the tech is cool.
This horrible precedent and pushes the blame for everything downstairs. Meanwhile, corporate execs have the very corporate shielding you're advocating that engineers don't. Maybe you think they too shouldn't have such protections, but how you can advocate for personal liability for programmers without first implementing personal liability for executives is beyond me.
This so incredibly short-sighted.
It sounds to me that you're misreading my comment on purpose, to make an us-vs-them argument that I fundamentally disagree with. This isn't about engineers vs bosses, it's about doing the right thing no matter what's on your business card.
The argument "if we can't shift the blame up, it'll automatically go down" simply doesn't make sense to me. You, and you alone, can choose to stop building evil shit.
And I'm not misreading your comment on purpose, trust me I had to read it 4 times just to make sure I wasn't crazy and I was actually reading what I thought I was: someone advocating that bottom of the food chain employees be criminally liable for code they write.
You are making an us-vs-them argument, to be sure. Your "us" is consumers and your "them" are employees, rather than corporate executives that make the decisions.
I'm not a lawyer. I expect if I'm being asked to do something, it's been vetted by our corporate legal team. I should not be expected to know every aspect of criminal and civil law to protect myself from my employer.
What you are suggesting is absurd, but fortunately, I think most would agree with me on that.
Getting the same result in different ways can legal or not:
Obvious example:
Saving a x amount of money from taxes using a legal loophole is legal.
An exact equal company trying to save the exact same amount of money by lying to is doing something illegal.
Far less obvious example:
Around here (and possibly elsewhere, I don't know) if you make a drink from wine and spirits you have to pour the spirit first because increasing the strength of wine is illegal, but decreasing the strengt of spirits are OK.
I thought it was an old joke, but someone I have reason to believe said it was true and you could get in trouble for it.
Consider the example of engineers getting the details of tax compliance in a payroll system wrong because their boss provided the wrong instructions. To my mind, they should not be at fault for this unless they demonstrably knew what they had been asked to do was illegal.
"I have been only following orders" had stopped being a valid defense quite a long time ago.
I'm not a lawyer. I expect if I'm being asked to do something, it's been vetted by our corporate legal team. I should not be expected to know every aspect of criminal and civil law to protect myself from my employer.
That's you. I've quit jobs before because I was not willing to do something that went against my principles. I think it's pretty simple to ask yourself how you'd feel if you were on the opposite end of some questionable corporate action and later found out that you had been deceived or exploited.
Which is exactly why this is such a horrible idea.
But even then, the programmers working on ICEs can find a different job in a heartbeat.
I'm not asking the other people working at these, or any, companies to do the same. I'm asking people with top in-demand skills to start considering the ethics of their jobs.
Not even close.
As a former embedded software engineer for the automotive sector, moving to another industry was a very difficult task, as in automotive you pidgenhole yourself in some tech that's specific to this industry and is outdated or not used everywhere else.
Thank God I got out in time.
This is the entire point. If the "corporate decision" involves doing bad things, and then you go ahead and implement those bad things as an engineer...you deserve to be held responsible for your part in it.
... as long as you are aware of it or should have been aware of it.
No, I don't think that makes a lot of sense. Many young engineers can't see societal potential in what they do. They see solving the technical problem and completing the task.
Senior engineers with a lot more experience have insight into "why" but that's often the point when they're given responsibility to guide others.
The "should we do this?" question rests on the shoulders of those with insight that faces the outside world, and not just the programmer's editor on the screen. That's management.
What do I know about it? Was an engineer (programmer), and now I run teams of engineers. I often have to direct them on how not to solve a problem, for reasons of customer privacy, security, or responsibility, as much as to what problem we must solve.
Responsibility increases the higher up you go in the management chain.
Then they are defective citizens. Citizenry before a job is just not that complicated.
Everyone is complicit in dirty work and I've very happily fired clients and quit jobs for being dirty. Do thou likewise or have your fellow citizens find you wanting for it. It's not hard.
Seems HN is primarily comprised of people without families that can just quit their job and it's not big deal, all in the name of their particular set of moral standards. You can tell when they say things like "it's not hard" when deciding to quit their job.
For the fast majority of people, it is hard. Most peoples ethical guidelines shift rapidly when the alternative means harming their loved ones.
It's definitely not hard to proclaim things aren't hard. Reality is often different.
I worked in free to play games for a time and I rationalized you could get entertainment value up to a point and if you wanted more you paid. However, we all know certain people can't stop at that point. Same reason why casinos flourish.
Ethics CAN be clear cut but even things like drones or surveillance equipment can have both good and evil applications.
If you had worked at Ford and designed, say, the steering wheel or transmission of the Pinto, you might well be excused for not appreciating the flaws in its design. But if you were one of the engineers that was asked to put the gas tank up near the rear fender where it was much likelier to rupture in the event of a wholly foreseeable collision, then you had a responsibility to consider and push back against cost-saving measures that were likely to jeopardize riders' safety.
In general, if a manager is telling you not to worry about something, it's shady.
It’s already been set in other industries, the financial industry springs to mind.
Everybody in a bank is responsible for detecting and preventing money laundering. Failure to report money laundering if you suspect it is a criminal offence (this is true in the UK, I assume similar laws exist in the US). If your boss refuses to acknowledge your report, then you’re obligated to whistle blow.
There is no reason why a similar framework can’t exist elsewhere. A requirement that engineers report abuses of data, or corrupt behaviour, and an obligation to whistle blow of management refuse to acknowledge the issue.
These laws of-course place a heavy burden on C-suite execs, making it clear they can be held criminally liable for the misbehaviour of their organisation, even if they weren’t aware of. The simple act of not being aware of criminal behaviour is criminal.
Sure, executives will always try to push the blame downstairs. That's why you should be willing to sell them out if necessary.
You can't do this without a lot of ethical backing, supportive law resources, whistleblower protections, and better controls on letting people into the industry.
It will be an utter disaster if you don't have those protections.
Edit: I love downvotes without rebuttal.
That would fall under criminal negligence then.
Claiming ignorance, incompetence or other factors that might lead to unintentional harm does not get you off scot free.
Also, I would wager that about 75% of bugs come from the seems of integrations where two peoples duties overlap. In that case who's fault is it if they both built half a bridge that doesn't line up?
Doctors should be punished if their patient dies for reasons caused by doctor's own fault or by some unintentional action or inaction. That's why malpractice insurance is a thriving industry.
> In that case who's fault is it if they both built half a bridge that doesn't line up?
The chief engineer or the architect, the ones who signed off on the project. And again, that's why those industries have professional liability insurance.
It certainly does limit new engineer throughput for society because of training times and increase salaries though.
I find this push of responsibility to the engineers encouraging. Finally may come the legislative framework through which I can shoot down an employer's design knowing that in all odds anyone else with a license at stake won't cave to mere financial coercion.
You definitely wouldn't need a lawyer on retainer.
Where do you draw the line? Maybe your company makes software that is nice but it is sold to companies using it for evil? I think this is too vague and not solvable by engineers unless in clear cut cases like you mention; not many of those really.
There are not infinite jobs either; most companies will, at some stage, do things that you might consider evil.
It is generally management that should be blamed; they have the oversight and make decisions about client base etc. In rare cases where an engineer knew they were wrong very clearly but still did it, then sure, punishment is ok.
Edit; I see you are from Eindhoven; I was born close to there and studied at the TUE under Dijkstra pupils. We had a little group at the time that believed in Dijkstra like thinking; software has to be proven correct and we added that it has to be ethical. It was an idea to somehow make software dev a gild. Then we grew up and saw nothing like that is possible unless you want the world to grind to a halt. The Netherlands would be a likely candidate for this kind of experiment though; you cannot really die of poverty there unless mentally ill, so it is easier to ‘just quit’ if you think your boss went satan on you.
Evil vs. non-evil being not that clear is not a problem. That's why we have the court system: to sort those types of things out.
As for "needing to put food on the table", how far are you willing to take that logic? It seems you could use it to justify virtually any behavior, as long as you get paid doing it.
Evil isnt the same as immoral, excepting a subjective interpretation of equivalence. Whats worse is a lack of standardization (or even distinction) between terminology to describe behaviors (eg pernicious, evil, immoral, corrupt, dangerous, et al). What is evil to you is certainly not the same as what is evil to me...much less how a legal doctrine is worded. It is a HUGE problem that people dont agree on what constitutes undesired action.
I'm mostly just frustrated that vast swathes of developers, most of them like me living a comfortable life in a comfortable place with plenty of options, are happy to condone and support the evils their employer commits. Plenty of people look at me like I'm an alien when I say I refuse to work for a weapons manufacturer. So I get worked up when people hide behind their bosses and pretend that developers, perhaps the most influential people of the next few decades, are nothing but amoral code machines. No we're not, we're people and we have a choice.
It's not very black and white at all. I personally wouldn't work for Google of Facebook for moral reasons, but I understand that some people say "well, we're targeting ads, not cluster bombs" and they have a point. I'm asking that people consider whether their work fits their own personal ethics. I'm asking that people look around for better jobs when they discover that, deep inside, when they really think about it, no, their current job does not fit with their own ethics. I'm convinced that large numbers of developers would go and look for alternatives if we make it common to just do this thought exercise. I think many people simply don't consider it. After all, there's a fun team and exciting tech!
I don't think that's too much to ask. But when we propagate the idea that developers are mindless robots that turn money into code, we're letting psychopaths take more advantage of us than necessary. Let's try to move the needle, just a bit.
Sidenote: yeah TUE with the Dijkstra apostles was fun, loved the handwriting :-) When were you there? 2002-2008 here. I recognize how the Dijkstra ideals could be extrapolated to ethics by a particularly zealous crowd, but I agree with you that it doesn't hold up to the real world for a long while :-)
It is an excuse. If my livelihood depends on it, my children's health insurance depends on it (especially if you have kids that need continuous care), my kids university tuition depends on it, etc, etc... So, personally that's a very narrow view to take. Unless there is a support system that can maintain comparable quality of life for engineers who speak up and quit it's not going to happen. I know I wouldn't care unless someone really made it worth my while to do so.
This mentality is appalling.
To be clear, those engineers' quality of life may be dependent on working at big tech companies. But their ability to make a living and support their families is not. They have made the decision to contribute to abuses of human rights in exchange for a larger salary (and prestige, among other factors), and at least in my eyes, they're just as responsible for the consequences of that decision as their managers are.
In some ways the fast food worker is even more directly responsible for the end-product. Burgers require regional labor; software can be made by somebody in Australia or China.
There's no software equivalent of a software engineer coming to someone's house to fix the code in an Alexa controlled light bulb - the responsible party is the lightbulb company.
The job market isn't exactly great for recently fired engineers either. Nobody is above the law, and it is more than likely that some unlucky 'git-blamed' junior is going to face such a case some day instead of the boss who ordered it. But i hope in that case a judge will take the migitating circumstances into account.
Everywhere else around the world, it's just a regular job people do to put food on the table.
Should we boycott people who work in the defense industry as well?
The poor benighted developer--engineers have expectations upon them that participants in this thread are clearly all too willing to abrogate, the term is invalid--will be just fine.
Sure it's impossible to be unemployed as a developer one could say by the number of search results from the keyword software in the job portals in my area, but after closer inspection, if you've been around the block a few times, you can easily tell that over 90% of those jobs are shitty micromanaged fake scrum-driven burnout meat grinders where you wouldn't last more than a couple of months.
So, the remaining 10% of jobs worth applying for are incredibly picky, and, without a prestigious resume (top companies, top school) you're not getting your foot in the door, even though you might master leet code.
Therefore, it took me 6 months on unemployment to find a quality workplace that would take me in and only because I invested in some certs in that time.
The machine stops when we say "no". It's what we must do.
Why? "follow the money" is a time tested and highly reliable heuristic.
I am with you on an individuals responsibility despite embedding within systems designed to provide legal shielding for amoral choices.
Maybe since engineers are expected to have such good judgement, companies should strip their legal and HR departments and just put related matters for vote in Jira.
In my experience, it really is the managers who often are to blame for a lot of evil practices. To generalise, I'd say 80% of engineers are rarely evil, but 80% of managers are rarely not evil.
It is the only option for the morally compromised. The solution is to refuse to be so compromised--and we can do it in this industry.
That's not a "for thee but not for me" judgment; I've left a six-figure deal on the table because the client was scum. It requires some grit but is within (almost) all our grasp--and we would be in a better place as an industry (and as people) were this behavior the norm, not the exception.
The problem of course is that most people paint themselves into a corner from which it becomes incredibly difficult, if not impossible, to actually act as a free agent (and therefore a moral being).
I don't really know how they can live with themselves - I guess I'm just not wired that way - but they do.
As far as software devs go specifically.. If you're 21 or whatever, fair enough. If you're 30, in good health, and you're still using this excuse that you just can't survive without always taking the maximally profitable job and sucking up to whatever bossman says, sorry, that's just not right.
After 30 you're probably looking to settle down, get a house and have kids and unless a generous inheritance is waiting for you, there is no way you can afford kids and a mortgage in any major city without constantly taking the highest salary because other people will, pricing you out.
Indeed.
I think your example is a bad one because to be honest most people are priced out of that anyway. I don't know anyone who has or expects that life any more. The economy broke.
Amongst my "old friends", I'm the only one that could even theoretically afford it, and I've noped out of major metropolitan areas entirely, at least for the time being, because it precisely means either living in a microscopic shoebox or conforming to an economic system that is deeply flawed.
Ultimately, you own the consequences of what you're doing. If you don't care about the ethics of what you do because it feeds your family and that's what you want, great. I don't have to respect that; and in fact I reject the premise.
It is important to guard against these types, by ensuring our laws reflect our shared norms to those who will ignore norms unless compelled.
Don't doubt for a second that MS knows what it's doing when it adks for this. Facebook as well is doing the same, asking for more regulations. They're trying to capitalize on what is called Regulatory Capture, which will entrench their market power through government force.
Sometimes this is more obvious, such as the case in finance where industry leaders smoothly swap roles as both profiteers and technocrats, and sometimes it is less obvious, as is the case now with big tech.
I am a resident of a swing state and I vote in primaries.
Disclosure: I work at MSFT.
(NPR could have misstated Smith’s intent, but imma need a citation.)
I understood that if I refuse to do something, there is a substantial possibility that nobody else will do it. If I accept contributing to something malevolent, it makes me complicit.
What we know is rare.
Many engineers are not at all familiar with privacy and security laws. When there are hackathons for instance I always wonder about the amount of legal oversight in organizations.
Engineers want to build cool things. The Internet made it possible that anyone's small app can have worldwide reach and impact.
That impact however also has consequences and responsibilities that the builders can't hide from or transfer to someone else either.