7 ms·
Software developers should sign a code of ethics, like other professions do and then cite it when asked to do unscrupulous things. This would work for activitie
by sltr 1y ago
Software developers should sign a code of ethics, like other professions do and then cite it when asked to do unscrupulous things. This would work for activities that aren't illegal but still unethical, like defaulting user privacy choices to open/public. Citing professional organizations like ACM or IEEE would deter retaliation.
- pcthrowaway 1y agoThe code of ethics would need to be absolute, enforceable, unambiguous (without lawyers to interpret), and universal to really eliminate these activities.
- baobun 1y agoIf you are to be found in violation by DAO jury vote, you will be blocked from all private torrent trackers and usenet groups (we just have to make sure all of them mods are onboard mkay), with threat of ban for repeat offenders. You may also find your support tickets everywhere languishing and x months of CAPTCHA-hell on every website.
- pjc50 1y agoYou can never make these kinds of things unambiguous. People are really creative about inventing interpretations to make things ambiguous in their favor, and rule systems are really complex. 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.
- criddell 1y agoSoftware engineering could become a real profession with licensing like mechanical, electrical, chemical, civil, and other engineering professions. If you do something unethical, you could be sued for malpractice and lose your license to practice. The code of ethics for Professional Engineers works even though it isn’t any of the things you say are necessary.
- thyristan 1y agoProfessional Engineers signed off on on broken dams (https://en.wikipedia.org/wiki/Brumadinho_dam_disaster https://en.wikipedia.org/wiki/Brumadinho_dam_disaster ), leaking chemical plants (https://en.wikipedia.org/wiki/Bhopal_disaster https://en.wikipedia.org/wiki/Bhopal_disaster ), exploding reactors and how (not) to operate them (https://en.wikipedia.org/wiki/Chernobyl_disaster https://en.wikipedia.org/wiki/Chernobyl_disaster ) and "high enough" sea walls (https://en.wikipedia.org/wiki/Fukushima_nuclear_accident https://en.wikipedia.org/wiki/Fukushima_nuclear_accident ). There are a ton more examples. All highly unethical, most of the responsible engineers got away scot-free. 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"...
- criddell 1y agoIn the Brumadinho case, five engineers were arrested and charged and jailed. They are out of jail and a criminal case is ongoing. 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.
- WorldMaker 1y agoThat's a weird set of anecdotes you've chosen. The first half of those incidents are in fact the opposite of what you seem to be complaining about: finding the Professional Engineers that signed off on the mistakes in the project is hard to do because they happened in countries that failed to regulate Professional Engineering licenses. 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.
- array_key_first 1y agoI don't think it needs to be (it isn't for anything else), and I also don't think it needs to eliminate all activies (it doesn't for anything else). But right now we have nothing. Surely, something is better than nothing. We can't have nothing and already be out of ideas.
- Spivak 1y agoWhich is why I think the ACM's code of ethics is good for someone looking to be introspective about right and wrong but would be terrible as the basis for a legal code of ethics. 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.
- mc3301 1y agoThe author talks alot about this is this book: https://www.ruinedby.design/ https://www.ruinedby.design/
- mrheosuper 1y agoI wonder how would that work when you are working for companies like Lockheed Martin, knowing your code will be used in weapon that may kill innocent people.
- WorldMaker 1y agoPresumably similar to how it works for the professional Mechanical Engineers and Electrical Engineers they already employ. Ethics are subjective and nuanced. Ethics are also different from morals. Some people can live with the moral quandary that their work may do harm to innocent people and still have the ethical belief that they are doing the right thing generally and that their work does more good than harm. (I'm not one of those people myself with regards to the military-industrial complex, but I respect my friends that are have sat with their morals and weighed them into the ethical frameworks of how they do their jobs and what they feel about doing their jobs ethically.)
- andrewflnr 1y agoFor a little bit I worried about that, wondered whether I would be morally comfortable working on that technology. Then Russia invaded Ukraine and I snapped back to reality. The consequences of even vaguely good actors not having missiles are worse than the consequences of those actors having missiles. Because you better believe Putin and his ilk are going to have them.
- vkou 1y agoIt's easy, you just tell yourself that all of them are the enemy. As long as you outsource your morality and thinking to the Department of State, you can sleep easy.
- amelius 1y agoYes, the Hippocratic Oath works quite well even if it has no legal underpinnings, so why not use the same idea for developers? Indeed ACM and IEEE could draft one.
- thyristan 1y agoIt only works because doctors have a self-governing body of other doctors as an oversight, usually called a chamber, board, Kammer, etc. This chamber is responsible for licensing doctors to perform medicine and has the power to withdraw that license upon violations of the Hippocratic Oath, other ethical violations and other professional misconduct or malpractice. 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 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.
- bmez 1y agonot only, in most countries operating as a physician requires a license to operate. It can be revoked if the professional violates the terms of the license. 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.
- rightbyte 1y agoOur board would be packed with Scrum lords smacking down on missing field entries in Jira tickets. 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.
- rahimnathwani 1y agoDo you mean: 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.
- mitthrowaway2 1y agoIn Canada, (B) is how it works for engineers, including software engineers.
- rahimnathwani 1y agoWe are using the term 'software engineer' in two different ways: 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?
- jjmarr 1y agoIt's unclear and barely enforced in Canada. Ontario has a two-step test for defining "software engineering": * 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.
- bobsmooth 1y agoThe calling of the engineer is not required but you are bound to ethical guidelines as a PEO.
- vkou 1y agoMost software engineers in Canada don't call themselves 'Engineers' and don't have any ethics codes they need to follow.
- muzani 1y agoWe have plenty of difficulty just following the Agile Manifesto.
- callc 1y agoThe agile manifesto is far from a set of ethics that if you disagree with you can’t help but sound like the bad guy. For example, try disagreeing with the statement “SWEs should take reasonable effort to protect user data”
- muzani 1y agoThat's article 32 of the GDPR. It also includes protection from social engineering. 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.
- bobthepanda 1y agoAI can, and will, hallucinate legal cases and laws to make you happy. This happened pretty quickly after ChatGPT was introduced into the world: https://apnews.com/article/artificial-intelligence-chatgpt-fake-case-lawyers-d6ae9fa79d0542db9e1455397aef381c https://apnews.com/article/artificial-intelligence-chatgpt-f...
- muzani 1y agoOf course it can. But it's more precise than Google and it's easy to fact check. https://gdpr-info.eu/art-32-gdpr/ 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.
- marcosdumay 1y agoNo, it's just a bunch of counter-intuitive rules that if followed make life better for both the developers and their customers/bosses. (On most circumstances, not all.) 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?
- musicale 1y agoACM has a code of ethics. However, it does not seem to be enforced against many companies that routinely violate it. https://www.acm.org/code-of-ethics https://www.acm.org/code-of-ethics
- goodpoint 1y agoIt's not enough. It needs enforcement and whistleblower protection.
- tengwar2 1y agoNo. I oppose any formal requirement to practice software development. And this isn't because I disagree about the requirement to be ethical, but because it would draw a moat of "professionalisation" around software development, excluding new entrants. It's a fashionable trend across many disciplines: it starts innocuously with informal groups and seminars. Then someone starts one or more professional bodies which devise some sort of qualification. Then they start charging a yearly or triennial renewal fee for that qualification. Then they try to make it impossible to get work without their qualification. The profession comes under the thumb of people who spend their time getting on to the committees which control these professional bodies. 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.
- fragmede 1y agoThose are all fair points, but the Internet and smartphones happened. Software is a necessity for existing in society these days. Yeah it sucks that we'd be pulling up the drawbridge. Donate some of your software developer salary to non-profits to make testing accessible to whichever groups you see as the younger version of you to assuage your guilt. Crowdstrike shouldn't have been possible. Mulitple airlines going down for days because they botched an upgrade because it wasn't properly resourced. Someone cranking out some silly shit on the weekend doesn't need licensing, but having unprotected S3 buckets full of drivers license photos of your users in this day and age should be criminally liable.