Hacker News new | past | comments | ask | show | jobs | submit login

Other engineering disciplines provide infrastructure for their members to include ethical considerations in their analysis of their work, e.g. the Iron Ring [1].

There's a strong argument that our discipline can profit by their example.

[1] https://en.m.wikipedia.org/wiki/Iron_Ring




The Iron Ring is mostly symbolic and a tradition, but protection of public is the whole idea behind the Professional Engineer licenses in a lot of countries (I'm mostly familiar with Canada).

Unfortunately, laws seem awefully traditional and outdated, and at least some of the system has turned into a form of rent seeking. Even as a mechanical engineer, most of my work is not really considered as engineering work to the letter of the law, because the law was written in the 1960s with mostly civil works in mind. I get the feeling it's either going to take a long time or a huge catastrophy for legislators to catch up to licensing for professional software work.

https://en.wikipedia.org/wiki/Regulation_and_licensure_in_en...


Management does not nor will they ever want to pay for that. That's enough for them, the managerial class, to make sure something like this never happens. As it is they already complain about shortage of cheap factory workers, I mean software engineers, that they can exploit. So you really think they want scarcity in that supply? The end issue is not the code monkey, that's doing the work. It's the generals ordering those things to be done. They need to be reigned in.


Here is how it works in traditional engineering:

  1. Works that potentially affect public security need to be approved by licensed Proffessional Engineers.
  2. Therefore, businesses and managers need to be hire Professional Engineers, or be punished by law.
  3. Professional Engineers are held to an ethical code of conduct, else they lose their license.


There are some important additional steps, in that mgmt can't just hire any bum off the street to be a fall guy psuedo-P.E.. There is a mutually accepted and understood system where the very boring and static profession can be verified by mere years of experience (all jobs being similar) and a test no one seriously argues about based on what everyone agrees is very typical work for a P.E.

I can't even begin to imagine the sheer flamewar load even thinking about a "professional programmer" certification would cause.

I always liked the idea of an apprenticeship - journeyman - master system. It sidesteps the theoretical definition of what is a masters work by simply having existing masters vote to see if you make the cut, or not. Master level work in the field seems like it should be inherently different in the center of the CRUD app universe vs the center of the financial universe vs the center of the aerospace universe, for example.


In Canada, the test required to be passed to obtain the PE license does not have a single question concerning actual matters or competency. Rather, it concerns the legal framework, the deontology, the ethics and the responsibilities of the profession.

The obligation of competency is part of the Deontological Code. Or at least, so it is in Quebec. The Engineer (note that Engineer is a legally reserved title in Quebec, rather than "Professional Engineer" in most other places) is obligated to perform mandates only if he is competent do to them. It is his own resposibility to make sure he's competent.

If he is later shown to have performed work for which he was incompetent, he is liable to fines and/or to have his license revoked temporarily or permanently.

The PE licensing system here also requires a certain period (3 years) under which the EIT (or jr engineer in QC) must work under the direct supervision and direction of a licensed PE, before applying to obtain his PE license. This is similar to the apprenticeship system you propose, from what I understand.


Here's how it works when the product is not constrained by geography: business and managers have the job done somewhere else.


You're entirely correct that today'd global economy is one of the many imperfections of the system I alluded to in my original post.

It's mostly easy to constrain for civil works, once again. You design a bridge in a given province, you have to be licensed in that province (state, country, what have you).

It's much harder, say, for an automotive engineer, who works in Canada, using designs from German engineers for cars sold in the US and manufactured in Mexico.


Yes, but in the case of the auto industry, there are very clear and objective standards under which the final product is held up, and there are real liability concerns if the company in question or its engineers fail to live up to those standards.

If you started being held legally liable for the code you write I bet the tune would change really quickly for a lot of people.


Do we need legislators and regulators to tell us to do our work with due care for those whose lives we affect in so doing?

There's a role for them, to be sure. But as you say, and as we see from the history of other disciplines, that role is generally after the fact. We can, and I think must, ourselves create professional societies which can develop codes of ethical conduct and put incentives in place to uphold them. To a certain extent, that comes after the fact, too. But we're at the very least rapidly approaching a sufficiency of horrible examples from which to derive salutary lessons. I'd like to see us develop a sense of professional culture, as an industry, which gives us to think long and cautiously in those cases where we might produce yet another.


  Do we need legislators and regulators to tell us to do
  our work with due care for those whose lives we affect
  in so doing?
Easier to tell your boss "We have to do this the expensive quality way, because that's the law" than to tell them "We have to do it the expensive quality way, because I say so" - especially if he's used to be the one giving the orders.


> Do we need legislators and regulators to tell us to do our work with due care for those whose lives we affect in so doing?

We do, for our own protection. Doing so strikes the weapon from the hands of our managers - they can't push us into doing unethical work that easily because they know we're bound by law to refuse it. This is a case of Schelling-style strategy, where limiting your choice/freedom actually boosts your bargaining power.


That's a great example. Maybe software engineers could wear a silicon ring.



That's silicone.


They do, I graduated with a degree in Computer Engineering from a Canadian university and receiving your iron ring was part of the graduation ceremony for all engineering students.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: