1. 14

  2. 10

    “If we had a real profession, those programmers would be brought before that profession, investigated, and if found guilty, drummed out of the profession in disgrace.”

    Yes. This is the major difference between “software engineers” and real engineers. I can’t help but agree with Uncle Bob: if we can’t collectively discipline ourselves, eventually somebody else will.

    1. 8

      Did I miss the public hanging of the engineers who designed and operated deepwater horizon ? Just to pick one of many examples.

      1. 4

        Hammurabi comes to mind:

        Hammurabi’s code, ~3800 years ago, removed the agency problem as a condition for transaction: “If a builder builds a house and the house collapses and causes the death of the owner – the builder shall be put to death. If it causes the death of the son of the owner , a son of that builder shall be put to death.” Everything in past 100 years has been to shield managers from liabilities. Think of Fukushima.


        1. 2

          I think I disagree and have several questions/objections:

          1. Medical errors are the third most common cause of death in the US. How many license revocations does it result in? (This is a honest question)
          2. People already in the profession have an incentive to limit competition. This doesn’t mean it’s their sole motivation but I think we should keep this in mind.
          3. Why couldn’t they be brought to an ordinary court of law? (Again, I have no idea so I’d appreciate if someone could explain) They judges wouldn’t be competitors or peers of the accused so there wouldn’t be any conflict of interest/peer pressure.
          1. 1

            The medical industry has established malpractice guidelines, which is enough to self-police to some extent. The software industry has nothing of this sort. Hopefully we could contain software malpractice with our own guidelines so that we prevent cases getting bad enough that they would need to go to court. We want preventive measures, not post hoc corrective punishments. The point I made about Hammurabi is a good example because it forces engineers not to cut corners, it puts their skin in the game, so if they do something that is morally wrong, then they personally suffer the consequences, thus they would be incentivized to do the morally right thing. “Skin in the game” is not a perfect ethical theory by any means, but it seems to work.

          1. 3

            Arf sorry will take care next time.

          2. 4

            “for whatever reason” is one of my least favorite phrases. I’ve only heard it said with the connotation that the reason was stupidity or malice, but the speaker is being too passive aggressive to say it. It’s also used to be intellectually lazy and imply that no good reason exists so there’s no need to understand “the reason”.

            Anytime you hear the phrase “for whatever reason” you should consider stopping the conversation until someone has at least made an attempt to truly understand “the reason”.

            1. 3

              More recently, I’ve been hearing that things were done a particular way “because reasons.” If you’re not going to say what the reasons are, just don’t say it.

              1. 3

                When I hear “because reasons” I mentally substitute “for a sequence of reasons which, taken individually, make sense, but have collectively lead to a poor outcome”.

                1. 2

                  I agree. It’s subtle, but in my mind “because reasons” means something like: “We had to set up this weird hack because there was a PCI requirement, and then the server ran version x.y of the software which didn’t support feature z and upgrading would require a renewal of contract with vendor Q which would come with an extra R million dollar/year commit”.

                  But “for whatever reason” means: “I don’t know why they did that hack, they were incompetent, unlike me”.

                2. 2

                  This “because reasons” is more persuasive though, because psychology.

                  1. 1

                    I’ve said “because reasons” under two circumstances that I think are perfectly satisfying, and I make it a point to make it clear which one I mean. The first is sarcastically – I didn’t have a reason, and it was just a choice I made. The second is to mean “the reasons should be obvious and are left as an exercise to the listener.” Granted, the latter is a little bit manipulative on my part. I recognize that by saying “because reasons” in that way, I cause people to not question me even when they don’t get the reasons, because I’ve made it seem like it should be obvious. I try to make it clear to those I associate with that I am perfectly willing to stop and explain what I’m thinking, but I will admit to some slight laziness in this regard. Sometimes, I just feel like the reasons shouldn’t be important to the person I’m talking to.

                    I’ve heard people use it to just avoid having to give the reasons for their actions (because they aren’t confident in the rationale, or because they know they did something wrong, for example), and I’ll agree completely that that is completely unsatisfying. I think it is a good practice to try to get someone to explain the reasons, if they’re doing that, but handling that gracefully in a conversation might be tough.