That can be reasonable for something like medicine or structural engineering. But is it appropriate for a developer cranking out Javascript or Excel macros? This is pulling up the drawbridge behind you, excluding anyone who comes to the profession through informal means - and in my generation, that meant almost everyone. It also means that you will need to determine how much of your time you dedicate to politics.
Unless you want this kind of arrangement for developers, the oath isn't any good.
Also, the Hippocratic Oath has tons of variants, nobody uses the original one anymore because there are things in there that went out of fashion over the last 2000 years. E.g. operating on people suffering from kidney stones used to be prohibited: "I will not use the knife, not even, verily, on sufferers from stone[...]" (https://en.wikipedia.org/wiki/Hippocratic_Oath ). Similar prohibitions exist nowadays for abortions or euthanasia, but only in some places. In others, doctors are free to or even required to perform those. In software development, I would imagine even more variety in the allowed/prohibited-list.
If software had such a thing, it would be possible to achieve something similar. It is not the oath per se that keeps doctors on the righteous path, it is just as much the treath of not loosing your job - but having your professional status revoked (i.e. permamently loosing the ability to work).
On the other hand, reviewing code every now and then, it would be good if you could revoke programming privileges for ever for certain individuals.
I would like more 'philosophy' in CS education. Just that people are aware of the methods used against them helps alot. It is hard and takes time to discover stuff on your own. It took me like 5-10 years of working before I realized how the sausage is made.
At the end of the day you confront a jury and not a board of similarly positioned individuals.
This isn't the 90s anymore. Today there's practically nothing you can do in the modern world without interacting with software. Buying food, going to the hospital, travelling, communicating, voting, going to school, using anything electrical, anywhere. Our society is completely dependent on software at this point. The fact that there's no professional ethics code with the appropriate oversight for the development and maintenance of software is utterly insane.
The points you bring up about the Hippocratic Oath are important problems to solve, rather than reasons not to try.
Misconduct among doctors is rampant, special highlight on dentists:
Surgeons, in fact, often begin with harm. To replace a hip joint, they necessarily must begin by causing great trauma to the body by cutting it open and removing bone.
I had a burst appendix as a teenager, leading to peritonitis. To treat this, surgeons were going to operate laparoscopically to remove the appendix and fix remove any contamination in the peritoneum. Obviously this required damaging my skin, removing an organ etc. which in the strictest sense is harm. But doing nothing at all would obviously lead to sepsis and death, so this was still the least harmful intervention. During the surgery, it turned out that the laparoscopic method was hard to carry out due to obesity and other factors. The attending made the decision to convert to a laporotomy, doing even more harm to my skin and leaving me with a 30 cm scar on my stomach. But it was the right call because it maximised the chances of accomplishing the goal of the procedure(preventing imminent death), minimising the risk of serious complications.
And here I am almost 20 years later. I have a scar, I have some adhesions that occasionally cause moderate abdominal pain if I don't eat enough fibre, and perhaps my lymphatic system and gut flora are very minorly compromised in some nebulous way due to the lack of an appendix. On the other hand, I'm alive. So yes, they "did harm", but they also minimised harm. And they didn't do any unnecessary harm, to the best of their ability. And that's the point of the ethical principle.
This reads like a bad joke. Ever heard of the opoid crisis?
For example, try disagreeing with the statement “SWEs should take reasonable effort to protect user data”
In all honesty, I haven't checked if it's true, but you can use AI to find a foreign law that fits and cite it word for word.
https://gdpr-info.eu/art-32-gdpr/
Once you link the actual law, it becomes more of a checklist and less of a principle though.
If the customers/bosses do not even allow those to be followed, what chance do you think some pro-social rules with actual costs have?
A) Software developers should be free to sign a code of ethics, or
B) Software developers should be compelled to sign a code of ethics, and be prevented from working if they refuse to sign, or
C) Something else.
1. The way most people here on HN, and most people in the US, understand it.
2. The way the laws in most of Canada (but not Alberta) define the term.
AIUI someone can design and develop software for pay in Canada without declaring themselves to be a 'software engineer' and without signing a code of ethics.
Is that correct?
* The development of the software required the application of engineering principles (ie. "a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software")
* The software concerns the public interest (ie. there is a reasonable expectation that failure or inappropriate functioning of the system would result in harm to life, health, property, economic interests, the public welfare or the environment).
In practice, LinkedIn is full of "software engineers" and anyone with a P. Eng uses it as a suffix.
You may also find your support tickets everywhere languishing and x months of CAPTCHA-hell on every website.
More to the point is trying to be an ethical island in an unethical society, You'd have to deal with constant attacks from the "anti-woke" crowd.
The code of ethics for Professional Engineers works even though it isn’t any of the things you say are necessary.
Licensed professions only serve to increase the scarcity of licensed professionals, drive up the price and thereby form an economic cartel. Neither does it prevent any of the aforementioned disasters, nor are the responsible professionals held liable.
"Licensed professionals" is one of those myths in software engineering cycles that won't die. A license won't make anyone competent. It will, however, provide them with an excuse to charge more, do less and ascribe any fuckups to "must be something else wrong, I did everything to board standards"...
In the Bhopal disaster, seven engineers and executives were convicted of causing death by negligence and give the maximum penalty (which was pretty weak).
The Chernobyl incident led to Anatoly Dyatlov to be jailed and getting a 10-year sentence.
For Fukushima, some people were charged with professional negligence causing death but they beat the charges in court.
Licensing will not make anybody competent. But it can help keep incompetent people out of our field. When Engineers screw up, their malpractice insurance may get too expensive for them to continue to work in the field. When management asks for something unethical, it gives a pretty good reason for pushing back.
The Chernobyl disaster is an operation mistake, which a Professional Engineer may have signed the process for operation, but an operational failure to follow process is not the Professional Engineer's fault. Sure, a professional will try to narrow processes to be as fool-proof as possible, but you can't entirely blame a professional that the planet is capable of generating far more fools than you can plan for.
The Fukushima disaster actually shows Professional Engineering consequences with multiple engineering groups doing analysis and investigations of what went wrong and whether or not to indict Professional Engineers involved in the construction. None of those moved to such indictments, but it was investigated at length. Three of the executives of the company were indicted as a part of those investigations (and then were judged "not guilty" in a Japanese court of law).
"Licensed professionals" is not a myth. A license isn't about making anyone competent, it is about applying consequence when they aren't. It's also about having your back when you are worried about possible consequences. "I can't do that because I would lose my license" is a threat companies have to take seriously. If your company wants to force you to pursue it anyway, you can take the issue to the Ethics Committee at your licensing board/professional organization and they can help you examine the legal, ethical, and moral implications in a way that could result in consequences to your company. If all of that is documented and the company still does it anyway it is easier to get legal consequences applied to company executives, such as real, deserved jail time.
But right now we have nothing. Surely, something is better than nothing. We can't have nothing and already be out of ideas.
The scope would necessarily be narrower and "permit" more unethical behavior but for violations to be enforced by peers it has to survive the eventual "oh you're making a big fuss over nothing, you won't lose your license" problem.