You have incorrect information. A an abridged or modernized version of the oath is still taken upon graduation of most American MD schools.
While it is often referred to as "The Modern Hippocratic Oath", I would argue the Lasagna oath contains significant differences from the original Hippocratic oath, and it is worth treating them as separate things.
P..S. I remember because I was like "Mmmm, Lasagna...." both times.
> Doctors no longer take the Hippocratic Oath (because it is incompatible with a lot of difficult situations doctors are placed in).
The original Hippocratic Oath is no longer used (as both the original post, and you yourself readily admit). Why it is no longer used it highly relevant to this discussion because someone is calling for a Hippocratic Oath-like thing in a different area.
The fact doctors have moved to a less idealized Hippocratic Oath should be a historical lesson, not something we should seek to emulate.
Because software engineers are the ones doing the actual work. By imposing an ethical standard on the people doing the real work the multinational executives then either accept that limitation or knowingly accept risks from intentionally violating the spirit of that limitation.
What risk? Since it's the engineers, not the executives that take any oath of professional conduct, there wouldn't be any risk for any executive. All this would get us is a legal framework for throwing engineers under the bus via an ethical commission if they do something silly like blowing the whistle on an unethical decision higher up in the hierarchy.
I'm very much for greater personal responsibility in the field of software engineering. Until not too long ago, I used to work a in a field (medical equipment) where accepting the burden of potentially catastrophic mistakes came with the job. But I also know -- based on that same experience -- that personal accountability is meaningless without organizational ability.
Unless this hypothetical "Hippocratic Oath for engineers" is backed by a "Hippocratic Oath for executives", a "Hippocratic Oath for product managers", and "Hippocratic Oath for engineering managers", (edit: or by a legal framework that requires companies to enable it) all it'll do is reduce the PR effort involved in cleaning up a mess like Volkswagen's emission test scandal to pretty much zero by providing an exceptional -- and very mythical-sounding! -- framework for scapegoating.
This isn't a real problem. I take it you have never worked outside of software. You don't need a law license to be the business manager of a major law firm or a medical license to manage a large hospital network. How often does such problems occur in major law firms or large hospital networks?
In other words this is a hypothetical complaint of some future condition that doesn't exist in order to avoid accepting responsibility in the present.
EDIT:
Also see: https://en.wikipedia.org/wiki/Sarbanes%E2%80%93Oxley_Act
There are already professional organizations for developers and engineers. ACM's ethics code even includes, "avoid harm." You don't need to be in any of them to write software. We would need to pass laws dictating that Facebook et al can only employ licensed software engineers. Do we really want to impose that level of gatekeeping on the profession?
The important part is that there's an accountability structure outside the company. Without that an oath just consists of words on paper.
Agreed: https://news.ycombinator.com/item?id=24106617
> You don't need to be in any of them to write software.
Then they are irrelevant.
> Do we really want to impose that level of gatekeeping on the profession?
Yes, absolutely. Everybody benefits except developers who probably shouldn't be writing software professionally in the first place.
I suspect corporations don't want limit software engineers to those with licenses only as there would be less of them available and costs of said licensed software engineers would increase.
It comes down to money, which includes liability. I suspect licensing won't ever happen in software unless law suits increase and licensing becomes a deterrent, at which point licensed developers will cost less after factoring for risk assessments. There are all kinds of unintended benefits for everybody that come from limiting negligence, which pays for itself. As a counter argument who benefits most from allowing the hiring and practicing of negligent developers?
You take it wrong, and reasoning by analogy with other fields is a very risky line of logic, because they're not at all similar in terms of internal regulation and professional autonomy.
First of all, in fields like medicine, that kind of responsibility is necessary because clinical autonomy is far wider than any kind of professional autonomy that software engineers have, at any level. And it works precisely because this autonomy doesn't come only with the responsibility of adequate care, it also comes with the ability to say "no" without fearing for your employment or license. Physicians enjoy a great deal (if faltering, and arguably still insufficient!) of protection for defending the interests of their patients, and firing someone for it is a pretty risky and expensive affair. Software engineers enjoy pretty much zero protection in this regard.
If you want engineers to bear that kind of responsibility, that's great, and I'm all for it, too. But in order for it to have any use, you also have to give them the means to defend the standards of professional conduct they must now conform to. Are you also prepared to:
* Defer to an external body of experts to decide if a technology is fit for commercial use or not?
* Forbid an engineer from arbitrarily overriding another engineer's bugfix?
* Have product managers defer to an ethics commission, ran by engineers and engineering ethics specialists, when deciding what features to prioritize or introduce? And if the ethics commission says "no" to a feature, then it's a "no" that not even the board or the executive team can override?
* Make it illegal to ask engineers to introduce a workaround with known flaws, rather than the proper fix, without explicitly informing customers about the known flaws?
* Make it illegal to fire engineers for not executing a manager's order if that order violates the engineers' standards of conduct?
* Defer to an external engineering organization to decide who even gets to call themselves a "software engineer"?
Second, one of the reasons why managing large hospital networks by people without a medical license works (more or less...) is that, for example, there's usually no legal way for the CEO to walk into an OR while cardiac surgery is happening and request the surgeon unplug the CPB machine, even if that means killing the patient. Even if there's no internal regulation being broken, criminal law is more than enough to keep that sort of thing in check. There's hardly anything that would currently prevent the CEO of a software company from walking into an office and requesting that an encryption feature be backdoored, for example.
Without the kind of autonomy and legal protection that would enable software engineers to defend such an oath, its provisions would be completely meaningless. What kind of benefits do you think the software industry, and society in general, would get from an oath that's more risky to defend than to break?
https://en.wikipedia.org/wiki/Argument_from_ignorance
Your bullet points conflate experimentation with production delivery. Licensed professionals in other industries can violate the ethical standards of practice so long as they are not billing for those violations and not representing a client with such violations.
> Second, one of the reasons why managing large hospital networks by people without a medical license works (more or less...) is that, for example, there's usually no legal way for the CEO to walk into an OR
So? I am a software developer and my bosses don't write software. No distinction.
Or one from experience ;-).
It may help to read all of an argument, rather than stop mid-sentence, too, but who am I to argue with Wikipedia?
I mean, don't get me wrong, there are clear scenarios where I think many of us would choose to lose the job. For instance, I'll go unemployed vs directly causing someone to die. But those slightly more ambiguous scenarios are where we need to be enforcing it on a legislative level and the onus should be on ALL levels of the company (engineering and management).
It wasn't about whether or not I got to keep my job; upper management was effectively disenfranchising other employees with their policy. Who cares about my job if it must come at the expense of my team's jobs?
Moreover, managers aren't somehow better people than engineers. They don't get to be less moral just because they have less to do.
An example is a lawyer having a disagreement with their law firm may lose their job, but they are still employable. On the other hand if that lawyer loses their law license they lose their current job and cannot get another job at any law firm. In that very real scenario when there is a choice between employment and following the ethical standard the choice is always clearly the later.
SWE would need to first unionize to protect workers from being fired/deported for pushing back before anything like this is even considered. Or tackle the problem where it begins: with the organization.
At any rate ethics is a hard sell to an industry whose professionals are completely unaware of what ethics are or how they apply.
>At any rate ethics is a hard sell to an industry whose professionals are completely unaware of what ethics are or how they apply.
This is simply not true. Most everyone with a CS related degree in Europe or the US has taken a course on ethics and knows plenty about it.
They are fired once the house of cards collapses in epic failure or when a scapegoat is needed. Those are both evidence of systemic failures.
Are you now going to ask for more software import/export laws?
All of this fear and crying about management only demonstrates a gross ignorance of what ethics are.
Also, people change positions fairly often and avoid work in areas they consider to be unethical. This means that the people in a position to actually make the call are people who don't find it unethical, because the people who would be concerned about it avoided the whole area. Like, if you don't want to work in ads, you'll probably find a job in some other division, or at least not directly on something you consider unethical. The people who came up with AMP (to pick something controversial on Hacker News) were true believers who sold it to management.
But people still care about the company's reputation as a whole, and as a result you get conflict between the people not actually working on the controversial thing and the people who are, but that mostly results in a lot of drama and cynicism.
The politics is complicated. I can't think of a generic oath that you couldn't rationalize your way out of.
Personally, I hope they do try. :)
Unless you don't.
This "ethics" business doesn't make sense because the stated goals of the people pushing this idea aren't their actual goals. The stated goal of this "ethics" push is to reduce the harm done by software to society. As you point out, it won't work. The actual goal of the "ethics" push is to entrench a certain politically-contentious ideology in tech by branding this ideology as "ethics" and thereby making it immune to criticism.
The only legitimate binding code of ethics is the law. If a practice is harmful, we can all talk about it together and agree to enact a law against it. The "ethics" people are trying to use elevated moral rhetoric to bypass this democratic process, and we shouldn't let them get away with it.
Lol. I'm married to an MD. Doctors definitely still take the Hippocratic Oath. Perhaps some places no longer do it, but I am not aware of any of here peers that have not taken the Hippocratic Oath.
Reality, we have virtue signaling.
.... soap box
because its and end run. the idea being that if software developers had this as a whole then corporations could not force them to do whatever it is that was then decided as against the oath but it amounts to nothing more than virtue signaling
the issue with a software developer Hippocratic Oath is that you can damn well bet it will be subject to the whims of whomever is loudest on social media or whatever political group wants to use it to damage the other party.
The Hippocratic Oath is protected by history and pretty much limited to interpretation but any such oath or rule today is not worth page it is printed on.
But more to the point: Why are we trying to shift focus from the wrongs large multi-nationals do to individual software engineers? Plus what would the result be if this "oath" conflicts with a manager's instructions?
Maybe we should start with Microsoft, Google, Comcast, Oracle, and similar taking an oath to do no harm, before we push engineers under the bus for not fighting hard enough against what they're ordered to do.