[HN Gopher] Software Engineering Code (of Ethics)
       ___________________________________________________________________
        
       Software Engineering Code (of Ethics)
        
       Author : mooreds
       Score  : 43 points
       Date   : 2022-09-09 18:22 UTC (4 hours ago)
        
 (HTM) web link (ethics.acm.org)
 (TXT) w3m dump (ethics.acm.org)
        
       | fl0ps wrote:
       | Love this bit: "Software engineers _shall_ participate in
       | lifelong learning regarding the practice of their profession... "
       | (emphasis mine)
       | 
       | I can imagine the hilarity that will ensue when that
       | 70-something-still-employed Cobol maintainer is asked by some
       | newly minted MBA if he or she is actively participating in
       | lifelong learning per the ACM SE code of ethics.
        
         | ChrisMarshallNY wrote:
         | I'm 60, and am about as "cutting edge" a programmer (for the
         | little corner I participate in), as you can get (practically
         | and ship-focused).
         | 
         | I learn new stuff, every day.
         | 
         | Now, get off my lawn. I got software to ship.
        
           | kache_ wrote:
        
         | avg_dev wrote:
         | I am personally acquainted with some senior citizens who have
         | sharp minds and continue to learn and grow (in some cases doing
         | original academic research). I hope I continue to learn and
         | grow well into my old age
        
           | mooreds wrote:
           | My hope is that my personal "retirement" won't mean "no
           | longer working for money" but rather "no longer having to
           | work for money".
           | 
           | I like what I do and could see doing it (with a more flexible
           | schedule) for many many years in the future.
        
             | ChrisMarshallNY wrote:
             | _> no longer having to work for money_
             | 
             | I don't get paid a dime, and work harder, each day, than I
             | ever have (like _really_ "each day" -My GH Activity Graph
             | is solid green, and I don't game it. I like to write Swift
             | every single day).
             | 
             | In fact, almost every bit of software that I've shipped
             | (personally), in the last fifteen years or so, has been
             | unpaid. I was paid to manage other engineers, writing ship
             | code.
             | 
             | I _love_ where I am, and have no intention to get back in
             | the rat race (sorry).
        
             | avg_dev wrote:
             | Hear hear.
             | 
             | On an unrelated side note, I don't post my public twitter
             | handle on this account's profile page, but I did on the
             | account that bears my real name. Some years ago you
             | followed me on twitter and were to date the only person
             | from HN to have done so. In gratitude, I followed you back,
             | and I have been duly rewarded by your engaging content and
             | your explanations of the ins and outs of auth. I
             | particularly enjoyed your ELI5 thread on oauth. I have an
             | appreciation for DevRel I would not developed had I not
             | been reading your tweets.
             | 
             | To come back to the topic at hand: Tech is for the public
             | good. Shout it from the rooftops!
        
               | Tostino wrote:
               | Got a link to those tweets by any chance?
        
               | mooreds wrote:
               | Sure, here you are:
               | https://twitter.com/mooreds/status/1557442891441524741
        
               | mooreds wrote:
               | Ah, thanks! I appreciate the kind words and the feedback.
               | Tweeting is often like screaming into the maw of a
               | nameless void, so it's great to hear that you found some
               | of what I said useful.
        
               | avg_dev wrote:
               | :)
        
       | nathias wrote:
       | looks like it's just words that noone employed can take seriously
        
         | amelius wrote:
         | Perhaps we need something akin to:
         | 
         | https://en.wikipedia.org/wiki/Hippocratic_Oath
        
       | lostdog wrote:
       | Where's the code of ethics for the real decision makers? For
       | executives and upper management?
        
         | no-dr-onboard wrote:
         | I love that people took the time and effort to draft this, but
         | boy am I jaded on the practicality of these things. CoE's are
         | inherently utopian and seldom adhered to behind closed doors.
         | 
         | My take is that _at best_ , CoE's are for instilling
         | homogeneity by outlining predefined, unquestionable set of
         | shibboleth's for the working class. At it's worst, CoE's are
         | just CYA measures outlined and enforced to avoid lawsuits. Few
         | truly believe.
         | 
         | Most CoE's are also a one-way agreement. When is the last time
         | you heard of a Human Resources, DIB, or "Member Working Group"
         | called out for not upholding the CoE that they wrote? When is
         | the last time you witnessed a CoE violation in the way of bad
         | hiring practices (for the sake of "diversity")?
         | 
         | At this point in my career I feel I could give a whole talk
         | about CoE violations, form and the whole process of writing the
         | code. I won't bore the reader here though.
        
         | blandcoffee wrote:
         | I do agree with you on the power dynamics that may plague some
         | workplaces today. It feels as though there is a greater burden
         | or accountability placed on the lower-level employees more than
         | the c-suite.
         | 
         | What do you think if we speak to the value of a code of ethics
         | separately from the unfortunate power dynamics some companies
         | have chosen?
        
         | kragen wrote:
         | I think the code of ethics of the American Bar Association
         | prohibits lawyers from accepting a position where they are
         | bound to obey non-lawyers. That is, you can have a boss, but
         | only if they're another lawyer.
        
           | nradov wrote:
           | There are thousands of lawyers who work as internal corporate
           | counsel and report to non-lawyer managers. The actual
           | prohibition is on sharing legal fees or forming partnerships
           | with non-lawyers (although certain exceptions are allowed).
           | 
           | https://www.americanbar.org/groups/professional_responsibili.
           | ..
        
             | kragen wrote:
             | Interesting, thank you for the correction; the part I was
             | referring to is SS5.4(c):
             | 
             | "A lawyer shall not permit a person who recommends,
             | employs, or pays the lawyer to render legal services for
             | another to direct or regulate the lawyer's professional
             | judgment in rendering such legal services."
             | 
             | And SS5.4(d)(3) which sort of says the same thing.
        
       | avg_dev wrote:
       | I've never read this before and I'm glad you linked it. I read
       | the short version and I really like it. I will peruse the full
       | version at my leisure. It is immediately clear that not every
       | software company follows these principles.
        
         | tcmart14 wrote:
         | We had to read this in one of my Software Engineering classes
         | and do assignment on it like showing how we were following the
         | code of ethics with the semester project or week project we
         | had. It is a good document. Designed to make Software
         | Engineering conform to similar standards that other fields of
         | Engineering have to abide by, or should be abiding by.
        
           | avg_dev wrote:
           | Indeed, and you are touching on a subject I think about
           | regularly: I don't know first-hand what most engineering
           | disciplines are like, but I believe that much of software
           | development is not engineering at all. Instead it is slapdash
           | and haphazard. Codebases very frequently grow by accretion
           | rather than design as convoluted patches are laid on top of
           | already byzantine systems. There is often little forethought;
           | rarely is serious consideration given to the maintainability,
           | soundness, and security of the work we do, let alone the
           | consequences of it to society at large.
           | 
           | I believe that software engineering is possible; I believe
           | that I have seen it done and taken part in it. But in
           | general, a scrappy, pivoting startup does not embrace
           | anything approaching engineering practices. I wish this were
           | more accepted and I think we can start by calling it software
           | development instead of software engineering.
           | 
           | Our industry is still in its infancy but it has a huge impact
           | on society. I would like to see more engineering in the
           | industry, but I feel a very short-sighted approach to
           | maximizing profit precludes this. I fear that until we have
           | more death and more loss incurred by poor development
           | practices it will not be the norm to practice true software
           | engineering.
           | 
           | Thank you for bringing up this point.
        
       | mooreds wrote:
       | Looks like it may be getting the hug of death a bit. Here's a
       | cached copy: https://archive.ph/Et6JA
        
         | avg_dev wrote:
         | Haha, I saw that as well, I was going to post that I expected a
         | bit more from the Association for Computing Machinery (of all
         | organizations), but it slowly loaded and I gave them a pass.
        
       | [deleted]
        
       | JoeAltmaier wrote:
       | Act consistently with the public interest?
       | 
       | In my experience, any suggestion that it's important to adhere to
       | a public specification e.g. FCC rules, is met with complete
       | indifference. You do whatever will make your product sell. Those
       | rules are for other folks.
        
       | travisgriggs wrote:
       | > Software engineers shall act consistently with the public
       | interest.
       | 
       | Make that legally binding for the people I work for, and we can
       | talk. Until then...
        
       | kragen wrote:
       | Most of the harms discussed in here result primarily from
       | proprietary software licensing practices, so it is unfortunate
       | that no reference is included to something like
       | https://www.gnu.org/philosophy/shouldbefree.html.
       | 
       | From my point of view, the only intellectually serious
       | investigation of the ethics of software engineering is that
       | conducted by the FSF, for example in the essay I linked above.
       | That's unfortunate, because I think the FSF's analysis is
       | shortsighted in many ways, and software is profoundly important
       | to many aspects of human life already, and becoming more so every
       | day. It's an area of philosophical inquiry that has been
       | seriously neglected.
       | 
       | Nothing in, for example, the ACM's linked code of ethics, even
       | attempts to tackle the difficult ethical issues that arise when,
       | for example, the law conflicts with the public interest; indeed,
       | the ACM's code doesn't even attempt to engage in any sort of
       | moral reasoning, simply presenting a series of mutually
       | contradictory conclusions without attempting any justification
       | for most of them, much less exploring how they play out in
       | practice.
       | 
       | Many people will object that both the ACM's principles and the
       | FSF's principles are inconsistent with the current state of the
       | software industry and indeed the economy in general, and
       | therefore it is not practical to follow them. (Probably some will
       | silently downvote this comment for the same reason.) But if this
       | is true, it does not necessarily mean that the principles are
       | bad; it might mean that the state of the economy is bad, and we
       | should work to bring it into accordance with whatever principles
       | we decide are best.
        
         | jmull wrote:
         | IMO the essay you linked to is ethically stunted and not
         | particularly serious.
         | 
         | For example, it wants to hold independent the development of
         | software and the ownership of software, which is pointless
         | since they are not independent. Software doesn't necessarily
         | get developed whether or not anyone is paid to do it, and
         | people don't necessarily pay for software to be written (or
         | anything else) without having some control over the the
         | software (or anything else).
         | 
         | It seems nice that software is written that is only for free
         | distribution, but it seems dead wrong that those should be the
         | only terms under which software is written.
         | 
         | RHS thinks I don't have the right to trade my own time -- _my
         | own time_ -- simply because what I do with that time is write
         | software.
         | 
         | IMO, it's a fundamental right to be able to come to come to
         | terms with another person and there's no special exception
         | because written code is part of the exchange.
        
       | kerblang wrote:
       | Definitely a good step in the right direction.
       | 
       | For comparison: https://www.nspe.org/resources/ethics/code-ethics
       | 
       | While I think software engineering is vastly different from other
       | kinds of engineering, I can't think of a good reason that the
       | code of ethics would be any different.
        
         | readenough wrote:
         | > I think software engineering is vastly different from other
         | kinds of engineering
         | 
         | In that case, it kind of make me wonder if engineering is the
         | proper label.
        
           | kerblang wrote:
           | Well, I should explain: Software is created in the symbolic
           | realm rather than the "physical" one. So, software has little
           | to do with physics; and software is all design, no "labor".
           | 
           | So yes you could say "engineering" is the wrong label (and we
           | go back to "development"), but it's still interesting that
           | _ethically_ they have such similar concerns.
        
           | nradov wrote:
           | Software _engineering_ is a small subset of software
           | development. Most software development is more akin to
           | skilled construction labor than to real engineering. And that
           | 's not a bad thing.
        
         | nradov wrote:
         | The IEEE also has a code of ethics that can be applied to
         | software.
         | 
         | https://www.ieee.org/about/corporate/governance/p7-8.html
        
         | unwise-exe wrote:
         | > Engineers shall at all times strive to serve the public
         | interest.
         | 
         | > Engineers are encouraged to participate in civic affairs;
         | career guidance for youths; and work for the advancement of the
         | safety, health, and well-being of their community. > Engineers
         | shall not complete, sign, or seal plans and/or specifications
         | that are not in conformity with applicable engineering
         | standards. If the client or employer insists on such
         | unprofessional conduct, they shall notify the proper
         | authorities and withdraw from further service on the project. >
         | Engineers are encouraged to extend public knowledge and
         | appreciation of engineering and its achievements. > Engineers
         | are encouraged to adhere to the principles of sustainable
         | development1 in order to protect the environment for future
         | generations. > Engineers shall continue their professional
         | development throughout their careers and should keep current in
         | their specialty fields by engaging in professional practice,
         | participating in continuing education courses, reading in the
         | technical literature, and attending professional meetings and
         | seminars.
         | 
         | That's rather different from the ACM's take:
         | 
         | > 1.02. Moderate the interests of the software engineer, the
         | employer, the client and the users with the public good.
         | 
         | > 1.03. Approve software only if they have a well-founded
         | belief that it is safe, meets specifications, passes
         | appropriate tests, and does not diminish quality of life,
         | diminish privacy or harm the environment. The ultimate effect
         | of the work should be to the public good.
         | 
         | I'd summarize the NSPE list as roughly "follow the rules, know
         | your limits, and don't be dishonest (and if you can maybe try
         | to spare a bit of time to improve the world)".
         | 
         | And the ACM takes that "if you can" and puts it as the top
         | priority.
         | 
         | So, would writing software to manage say a lithium mine "harm
         | the environment" or not? Obviously mines themselves aren't
         | great for the immediate surroundings, but then lithium is
         | rather critical for electric cars which are supposed to be
         | helping save the world. Do they really want to mandate that
         | someone designing SCADA stuff analyze that and come to a
         | defensible conclusion before deciding if they're allowed to
         | take a particular employer?
        
           | kerblang wrote:
           | In your case of a lithium mine, software would not _add_ any
           | harm, and it 's unlikely that the mine would be infeasible
           | but for the software. Ideally the software makes the mine
           | more efficient (and thus less harmful).
           | 
           | An easier target is just anything that uses up more energy
           | than it saves; video games use a lot of energy and give us
           | what in return?
           | 
           | At any rate yes it's probably too draconian in its present
           | wording.
        
       | JoeMayoBot wrote:
       | Ethics are very important because the products we create have
       | such powerful consequences. It's common to see engineers so
       | excited about the product they've created (myself included) that
       | they overlook the additional problems they've created. Recent
       | examples are with AI models built with historical data (hiring,
       | loans, or other competitive decisions) that discriminates against
       | groups of people. An ethical approach would be to include these
       | considerations in the data analysis phase. It's not that most
       | developers allow this to happen intentionally and having an
       | ethical mindset is one of the things we can do to avoid problems.
        
         | tomjen3 wrote:
         | >they overlook the additional problems they've created
         | 
         | By making food cheap, we have created a society that suffers
         | from obesity. But 100 years ago (and at all times before this,
         | excluding a few random lucky individuals) people were suffering
         | much, much more from a want of food.
         | 
         | So in a sense, yes, we have created a new problem. But that was
         | a consequence of solving an other, bigger and much more
         | pressing problem.
         | 
         | So, to be honest, I don't give much for "engineers overlook the
         | problems we create".
        
           | [deleted]
        
           | unity1001 wrote:
           | > By making food cheap, we have created a society that
           | suffers from obesity
           | 
           | That's the US. Its not a problem elsewhere where food is
           | abundant. Like in Europe.
        
           | JoeMayoBot wrote:
           | My point was that we _should_ consider ethics, even if some
           | of us have a natural tendency to only look at the technical
           | side of our work.
        
       | Meph504 wrote:
       | Ugh this is naive and silly, I'm sorry, we build things, we are
       | not the arbiters of public interest, and the public interest is
       | not something we as individual should have the authority or
       | expectation of judging.
       | 
       | I've always thought the notion of trying to place the morality of
       | systems and the software we create in the hands of the builders
       | is a farce. That falls on those who have it built.
        
         | agilob wrote:
         | > Ugh this is naive and silly, I'm sorry, we build things, we
         | are not the arbiters of public interest, and the public
         | interest is not something we as individual should have the
         | authority or expectation of judging.
         | 
         | Until that time the Volkswagen programmer was put in prison
         | before any manager or executive...
        
           | Meph504 wrote:
           | Yeah because some creed of ethics would have changed that?
           | 
           | Did they need a code of ethics to know what they was doing
           | was shady, no. Would that code of ethics be used in a court
           | of law to show that their crime was more egregious had they
           | or the industry adopted it, probably.
           | 
           | Will some code of ethics stop management from demanding shady
           | things, and will it stop people from doing it, history says
           | no.
           | 
           | So what would be the positive aspect of agreeing to this?
        
       | tester756 wrote:
       | https://en.wikipedia.org/wiki/Iron_Ring
        
       | redwoolf wrote:
       | > Software engineers shall act consistently with the public
       | interest.
       | 
       | Guess that excludes everyone at Facebook and Lockheed Martin.
        
         | tomjen3 wrote:
         | Lockhead Martin and co is making it possible for the US and the
         | free world to help Ukraine smash the murderous, raping war
         | criminals of Russia.
         | 
         | Yes, I condemned them for supplying the military that bombed
         | weddings and murdered journalists, and I continue to deplore
         | that, but I was naive in thinking they weren't necessary and
         | that they can't do good things.
        
         | waynesonfire wrote:
        
         | thekashifmalik wrote:
         | I'm no fan of Facebook or Lockheed Martin, but that doesn't
         | seem fair to me.
        
           | p_l wrote:
           | Facebook is another thing entirely, but I would easily
           | complain about Lockheed-Martin failing acting in public
           | interest when said public interest involves development of
           | weapons of war and supporting tools...
        
             | tgv wrote:
             | Everybody loves defense, though. As said in another
             | comment: it's too vague. When even strict rules can be
             | bent, vague rules don't mean anything.
             | 
             | (hit save too early): but that's thinking legally. As an
             | inspiration, a way of seeing the world and your work, as a
             | moral guide, it can help. And some people really should
             | wonder if they have taken the right path.
        
               | p_l wrote:
               | See, I didn't say the amoral wrong thing was the defence
               | part. But failing at it :V (whether through milking the
               | public coffers, doing unethical things to further arms
               | sales, etc. - making tools to defend oneself is not that
               | morally bad)
        
           | [deleted]
        
         | arsome wrote:
         | Seems trivial to argue that free social networks and even
         | certain military actions are in the public interest. But that's
         | the problem with something like this, it's just vague non-
         | sense.
        
       ___________________________________________________________________
       (page generated 2022-09-09 23:02 UTC)