Live data from Hacker News

Microsoft President: We Need a Hippocratic Oath for Software Engineers

capitalandgrowth.org

331–340 of 544 posts

Re: Microsoft President: We Need a Hippocratic Oath for Software Engineers

#331
"It should be noted that no ethically-trained software engineer would ever consent to write a `DestroyBaghdad` procedure. Basic professional ethics would instead require him to write a `DestroyCity` procedure, to which `Baghdad` could be given as a parameter.

--- Nathaniel S. Borenstein, https://en.wikipedia.org/wiki/Nathaniel_Borenstein

Re: Microsoft President: We Need a Hippocratic Oath for Software Engineers

#333

Earlier quoted context omitted.

> Said another way, engineers now need to be technical and legal experts in the business domain? Consider something like the 737 MAX debacle – did the programmers writing the MCAS code actually have enough aviation domain knowledge and understanding of where the component fit in the overall system to realise it was a threat to people's lives? I don't know, but my guess is the most likely answer is "No".

From my limited information the MCAS code was primarily causing problems in association of incorrect readings by damaged sensors. Of course one could argue that this is an engineering failure because the MCAS failed to account for wrong sensor input but when you consider the legal implications of a MCAS fallback there is actually not much that can be done on the software side. The MCAS is an optional component that r…

> he works at wants to use the MCAS for a non ethical purpose (namely operate and hide the existence of MCAS even when it is unsafe to do so).

You think a programmer, handed a spec and asked to implement it, can be expected to know that their employer (or the employer's customer) wants to use it for a "non ethical purpose"?

Again, I can't know for sure, but I doubt the programmers who wrote MCAS (who most likely didn't even work for Boeing, but rather some subcontractor) actually knew, or could have known, how the code fit into Boeing's larger purposes

Re: Microsoft President: We Need a Hippocratic Oath for Software Engineers

#334
post #200

Earlier quoted context omitted.

> To say it’s on the engineer to do no harm puts them in the tenuous position of doing the job or being replaced by someone who will. That isn’t setting us up for success. This is where a strict licensing requirement, like Canada's P. Eng, can empower the engineer. If you think what you're being asked to do would violate your professional ethics, not only can you decline to do it, but you have a system to ensure that…

a licensing system is just a form of regulation as alluded to in the comment you're replying to. And in the end, if software engineers are to conduct themselves in moral and ethical ways, they must be empowered to do so without having to sacrifice their personal wellbeing or livelihood. Regulation, it seems, is the only way to achieve that end.

The necessary regulation is imposed and enforced via licensing. An example simply look at every other professional industry.

Re: Microsoft President: We Need a Hippocratic Oath for Software Engineers

#335

Earlier quoted context omitted.

In sufficiently complex systems, you can always blame someone else if you're motivated to do so. https://www.youtube.com/watch?v=IssR_J0QWr4 But ultimately there's always a software engineer involved in the creation of software - and that's not true of any of the other roles you mentioned. Since software engineers are necessary and sufficient to produce software, they should always be held responsible, and any oath s…

So management bears no blame for requiring illegal work be done, on pain of termination? Said another way, engineers now need to be technical and legal experts in the business domain? (Remember employees in the US depend on the company for health insurance. Saying 'no' could cost a lot more than just ones position.) Most software engineers are not like doctors. We have little autonomy over what is created. Our respon…

How much autonomy do you think doctors have? They're not in the operating room inventing new procedures. They are following careful scripts, adapted for the intricacies of one particular human body. There are times where they need to qualitatively improvise, yes, but that's generally only when something has gone horribly wrong.

Also, the Hippocratic Oath is not terribly complicated. It basically says, I will not furtively and maliciously hurt people in an abuse of my authority, and I will try to heal them when they are sick. I don't think it's a lot to ask that software engineers to agree not to create knowingly malicious software. It actually addresses exactly the problem you describe. If everyone has taken this oath, and adheres to it, there is no "someone else" to do that evil work.

Last point, there is a wide variety of software engineering work out there. Some of it may be mindless of the bigger picture of what is actually happening, but for any sufficiently advanced behavior to emerge out of a complex software product, some engineer at some level has to have some idea of the path they are going down to create or allow that behavior. And every engineer has the ultimate autonomy over how and what is created because it is our hands on the code. If you don't understand that, you don't understand the power of the profession.

Re: Microsoft President: We Need a Hippocratic Oath for Software Engineers

#336

How about a Hippocratic Oath for business leaders? This is shifting the responsibility from management towards the engineers. It's not the engineers who pulled the trigger at Facebook - or Microsoft. They build the weapons. Management fires them. This is a hypocritic ode. If somebody is acting unethically at MS then it is management. All the innovation that is not happening because MS is abusing their position. Two t…

If you’re in management at an engineering dept/co and make decisions about what is going to be engineered and how that’s going to be deployed you are in engineering yourself and should obviously take the oath yourself.

Not saying I’m in favor of this oath, just that it seems silly to distinguish different roles in the engineering process.

Re: Microsoft President: We Need a Hippocratic Oath for Software Engineers

#337
post #245

I think I prefer the three permaculture ethical principles. They are much more condensed, more broadly applicable to any technology at any tech level, and much more holistic. These are: 1. Care of Earth 2. Care of People 3. Fair Share They can be applied to technology as part of the whole ecology, not just human-centric. It puts life and death in the proper context of the whole, rather than the way modernity had twis…

Caring about ecology is very much human-centric.

Neither the planet nor its biological inhabitants "care" about anything. They just are (as in they exist).

The main driver for protecting the ecosystem is the fact that we - as a species - can't survive (for long) without it.

Granted, there are some who strongly believe that becoming a race of cave dwelling mole people or inhabitants of glorified snow globes in an inhospitable barren wasteland is a desirable prospect somehow. But overall humans prefer blue skies, green meadows, birdsong, trees, and diverse natural landscapes.

Re: Microsoft President: We Need a Hippocratic Oath for Software Engineers

#338

How about a Hippocratic Oath for business leaders? This is shifting the responsibility from management towards the engineers. It's not the engineers who pulled the trigger at Facebook - or Microsoft. They build the weapons. Management fires them. This is a hypocritic ode. If somebody is acting unethically at MS then it is management. All the innovation that is not happening because MS is abusing their position. Two t…

Its already a thing: https://en.wikipedia.org/wiki/Sarbanes%E2%80%93Oxley_Act

Re: Microsoft President: We Need a Hippocratic Oath for Software Engineers

#339
All traditional degrees that have "engineering" in title are usually regulated professions in every country, same as those of doctors and lawers. You have to learn the local law that applies to your domain and are qualified and recognized by the state after you get a degree to work locally there.

Software engineering is one of the few where word “engineering” is not really engineering. Software engineers neither know the law, not are trained for that, work globally and have no idea what laws apply. This has its own benefits and drawbacks (such as, less protection - anyone can take your job, no matter the degree, but you can also work anywhere).

For “software engineers” to be real engineers in order to take any oath, the education system and degrees for software need to change and match those of other local protected engineering degrees, with all benefits and drawbacks of a state recognized profession that can by carried only locally. None of current developers matches any of that.

It could be a possible future, but it may also kill talent as know it in software. The software market dynamics of today exist because everyone that can write code can claim they are “software engineers” and they only need to write code to prove that. You cannot claim you are a doctor, just because you think you have skills to heal people and prove that by healing out a few.

Re: Microsoft President: We Need a Hippocratic Oath for Software Engineers

#340

The real answer is the same as it has always been: libre software. Funny how same topic comes up every time some new issue pops up but we've had the answer nailed in the 90s. If you want software you can trust no amount of oaths, certificates and overseer bodies will ever be enough. It's only possible to trust fully transparent software.

These are orthogonal topics, though.

This isn't about trust. Is using Libre Office Calc for operating a death camp more ethical than using MS Excel?

Is the creation and use of an armed autonomous drone justifiable and ethical as long as its firmware is open source?

Are misinformation bots and fake news generators OK, as long their source code is freely available for use and further modification?

Post reply on HN