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.
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.