Comment Of The Day: “Look! Computer Professionals Have An Ethics Code!”

There were eight comments on the July 18 post about the Association for Computing Machinery (ACM) ethics code, and four of them were Comment Of The Day-worthy. In addition to the chosen honoree here by Alex, I highly recommend the related comments by Glenn Logan, mariedowd, and Windypundit.

This is an Ethics Alarms record, and speaks volumes about the quality of commentary here.

This is Alex’s Comment of the Day on the post, Look! Computer Professionals Have An Ethics Code!

As a member of the ACM for the past 18 years, I did review earlier drafts and submitted comments. I was especially critical of the vagueness, but in general welcomed the update, as the old code was pretty outdated by now.

I did not think about the enforcement mechanism, but that is because I still don’t see Software Engineering/Programming as a profession. This has been a very contentious point for years. On the one hand, “hackers” (I use this in the original sense of the word, as it describes a very common ethos in the occupation) are terribly skeptical of any authority, and pride themselves that you can become a proficient programmer without formal training. Funny enough, programmers subscribing to this point of view are very supportive of apprenticeships and mentoring… go figure.

On the other hand, corporations will *strongly* resist any sort of licensing, and use the current, informal, certification system as a first filter only. Formal requirements would make software engineers more expensive and possibly lead to some system to deal with liability. Much better to keep to current system with the ability to outsource to the lowest bidder.

Reform will have to come from inside the industry. The problem is that herding cats, err, programmers is really hard. A couple of years ago I was involved in discussions to professionalize the occupation, but the interested quickly formed into two groups. Hard left “let’s unionize” types with no interest in setting standards for practitioners and wannabe cowboy entrepreneurs who saw themselves as the next Bill Gates/Mark Zuckerberg/Jeff Bezos and just wanted an artificially scarce piece paper to increase their market value. As expected, nothing came out of it.

My hope is that some university will start a professional certification program that may have actual meaning and value for both practitioners and employers. I had hopes that CMU’s SEI would take that role, but it hasn’t and by now is just one more possible certificate in the pile, if more valuable than the others.

Or we may need to start small and grow bigger (see INCOSE for Systems Engineers) while not taking the full-licensing route for the time being. In the end, after years in the industry, I believe that software engineering should be like Civil Engineering, Medicine, or Law. You may still have your cowboy coders, but for some developments (life critical, safety critical, large scale and impact, security related, etc.) you’d be expected (maybe even required, but that might be too ambitious to begin with) to have at least a licensed Software Engineer as your project lead, overseeing a number of other engineers (some licensed, some in training, some “code monkeys”) whose name is in the line for the project. Oh look, Civil Engineering works JUST LIKE THAT! Will that require higher pay? Yes. Malpractice insurance is a given, but it works for other professions.

It’s a mess, and I don’t see an easy way out. For now, I appreciate what ACM is doing, and will support it. Any other software engineers out there interested in ethics and licensing? Maybe. In my experience most don’t want to go that route and will take the simplicity and freedom of being “just a programmer”.


4 thoughts on “Comment Of The Day: “Look! Computer Professionals Have An Ethics Code!”

  1. I neglected to mention before when speaking about a chaotic field and unclear standards, that my professional employers were not paticularly ethical, towards either their crew or their customers. That probably would not come as complete surprise that that bothered me.

    Looking back there was rarely any pushback or even specific griping at those companies… not that many were paying attention beyond the immediate day-to-day. When one company was trying to get an intellectual property for their products nailed down, they sent out a form giving over rights for what employees did off the clock. I was uneasy, even if I hadn’t yet started writing, but even a kid just out of college could see it was a bit greedy. Another actually was a children’s author and that made enough friction that a new form was sent out. Most employees had already signed. There’s other sleazy breaks illustrating the rationalizations list, but that was the clearest and one of the few that did anything.

    Most in the field still think for the short term: THIS project cycle, their family/bills/personal concerns, and keeping up technically. Even the latter can be neglected too much, like in my case. There is little thought for the long term implications and needs, but that applies to more fields than computers. Begin as you mean to carry on. And bad beginnings are far, far harder to fix in software. Swapping in a new sentence or safety mat is orders of magnitude easier when you don’t have dependencies. There were already studies I saw about 20 years ago how much more a bug costs to fix after release compared to beta or in development. Even mostly out of the field, I hear of decades-old bugs in old, old code. Remember the fuss for Y2k?

    And the software keeps getting more and more complex. layers of code and packages.

    This is the industry people trust with their credit cards and their deepest secrets and errors?

  2. I’ve taught computer ethics at University.

    The first part – a professional is ethically bound to do as good a job as circumstances permit. Someone making a scalpel for example should make it sharp and useful for surgery.

    The second part – while a maker of scalpels cannot generally be held responsible if they are used by a Mengele or mass murderer rather than in therapeutic surgery, if they make scalpels knowing they are to be used in torture, then they bear some responsibility. That’s more into morality than ethics though, so simplify it to take responsibility for what you do.

    The third part – compliance with legal requirements. Especially in the EU. Now we’re firmly into the area of individual conscience. Many students were from overseas, and some legal requirements they had to abide by would be considered very dubious in the country where the course was taught.

    Legally Mandatory Secret fields flagging members of particular groups as enemies of the people for example, so to be excluded from higher education, government employ, or even forbidden to have children, regardless of what the overt legalities are.

    I emphasised that the Nuremberg Defence is no defence.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.