The Pressure to Compromise Ethics

  • Steve Jones - SSC Editor

    SSC Guru

    Points: 719720

    Comments posted to this topic are about the item The Pressure to Compromise Ethics

  • David.Poole

    SSC Guru

    Points: 75363

    What I'd like to see is a framework to support whistle blowers.

    By all means insist on evidence but whistle blowers need protection. Most companies have a whistle blower policy but does it result in timely and appropriate action?

    Has anyone blown the whistle and NOT had to leave the company shortly afterwards? Did the act of whistle blowing damage your long term career?

  • Pascal J v Vuuren

    Old Hand

    Points: 316

    What I'd like to see is some sort of framework that allows us to specify the behaviors of our software, along with the data movement and handling so that end users would have an understanding of how the software should work. Maybe some automated way of producing a "contract" based on the code. Then we could resolve disputes without ever needing to examine the source

    Steve, we're using specification through example (SBE) through Specflow to create that contract between the business and the developers as to what the agreed behavior is. We generate a document (Using Pickles) over those features every time we build the software, integrated with our automation test results (TFS 2015) that is published to a public location so the business, ourselves and anyone interested basically can validate the product is still doing what it was meant to be doing on a per check-in basis. It's fairly high level so for example, but a feature for us may be written as:

    "Given Mary Jane has signed up for an Insurance Policy last year

    And that Policy has a Trauma Benefit

    When Mary Jane makes an acceptable Trauma Claim this year

    And the Claim Payment ETL runs

    Then her Trauma Benefit will pay out to the value of the Policy after that ETL run"

    It's written in a language that the business can readily understand and that illustrates the behavior of the software / data layers. Of course you go into more detail so for example, a follow up scenario will be "How do you determine what is an acceptable Life Claim?" until you have described and documented it to a very high degree. What that is effectively doing is handing over the creation of the Policy Owner, the Policy, the Insured Party, their Benefits, etc. over to our data generation layer at each line and where necessary executing the code / components that make the software behave and do what it needs to. And the business has a searchable document published to SharePoint that has nice big green ticks next to each feature (Providing nobody broke anything!)

    With this we cover everything from SQL Server Database Engine, SSIS packages, SSRS Reports (UI testing through Coded UI) and up to the SSAS layer using at the moment TFS2015 and a great deal of Powershell. Automate where you can ...

    Major changes always goes to those living documents first before we even touch the code and whenever we build new features this is our starting point - we write those features and agree them with the business. That also forms the basis of our regression testing, etc.

    It's a beautiful system to see in operation and if you'd like to chat through it and the benefits, happy to have a conversation about it.

  • Brad Allison

    Hall of Fame

    Points: 3540

    This topic is very timely and interesting as just yesterday I heard that the Breitbart company now wants to capitalize on working with data within the White House and the government now. 🙁

  • roger.plowman

    SSChampion

    Points: 10243

    This is a VERY tricky subject.

    First, because ethics are subjective. They are *concepts* and as our deplorably litigious society proves, ethics are fluid and mean exactly what the sneakiest bastard wants them to mean. And that's on top of *HONEST* differences of opinion on ethics.

    Second, there's a huge (yuge? :w00t:) technical issue. Anyone who wants to be clever can game whatever system of checks and balances is put in place. Oh sure, certain tests will always be effective, but it's for simple stuff not the loopholes the ethically flexible so love.

    Some "super-couponer" types will actually surf the very rules themselves to abuse the system and when challenged can rightfully point out that's how it was *designed* to work. Letter of the law vs the spirit.

    And who's to say they aren't right? If you're not forbidden to do something by the rules, *you aren't forbidden*. No matter what anyone intended.

    He who lives by the lawyer, dies by the lawyer...

  • paul.kemner

    SSChasing Mays

    Points: 648

    I suspect in many cases the task is broken down and parceled out to several people, none of them may have a large enough picture of what's going on. That's an advantage of handing those tasks off to interns or outsourcing them too. "Change the code so if condition X is true, it runs module ABC." And the module isn't named cheat_the_customer().

  • paul.kemner

    SSChasing Mays

    Points: 648

    David.Poole (11/30/2016)


    Has anyone blown the whistle and NOT had to leave the company shortly afterwards? Did the act of whistle blowing damage your long term career?

    As long as the HR department isn't stupid enough to give the real reason for firing someone, job protection is worthless. "Not a team player, not a good fit, this position has been eliminated." And when the company is phoned for a reference, a curt "We would not hire them again" with a refusal to give any more information is probably enough to send a resume to the shredder.

  • JustMarie

    SSCertifiable

    Points: 7771

    paul.kemner (11/30/2016)


    David.Poole (11/30/2016)


    Has anyone blown the whistle and NOT had to leave the company shortly afterwards? Did the act of whistle blowing damage your long term career?

    As long as the HR department isn't stupid enough to give the real reason for firing someone, job protection is worthless. "Not a team player, not a good fit, this position has been eliminated." And when the company is phoned for a reference, a curt "We would not hire them again" with a refusal to give any more information is probably enough to send a resume to the shredder.

    At least in the US many companies don't do their own employment check requests. They outsource it and what comes back is verification that they were employed, job title, and possibly last salary. They've learned that any more is setting themselves up for trouble.

    And if the company I interviewed at asked 'would you hire them again?' and put any stock in the answer I probably wouldn't want to work for them anyway.

  • jasona.work

    SSC-Forever

    Points: 49988

    As roger.plowman pointed out, in some cases what you or I might consider an ethical violation is, in fact, not illegal. And there's the rub. Using the VW emissions cheating as an example, there was (I believe) nothing that explicitly stated they *couldn't* craft the ECU in such a way as to give better results under certain conditions.

    Now, was such a setup unethical? Absolutely. Illegal? Maybe-kinda-sorta-borderline.

    There was another article a few weeks back that found that Audi (who is owned by VW) was *also* cheating on emissions testing, their vehicles would change engine settings if the drive wheels were at a constant speed (dyno) AND the steering wheel was not turned more than 15deg one way or the other.

    The problem with covering such situations, or trying to enforce "ethical" behavior by laws is, people will ALWAYS find ways to skirt those laws without breaking them. So, frankly, perhaps a combination of things is required:

    1. Professional programmers need an organizational body (almost a guild) that for membership requires taking an ethics course, perhaps semi-annually.

    2. Better protections for whistleblowers across the board.

    As for whistleblowers leaving the employer they blew the whistle on, I suspect it's a case of, they can't be fired, but management (who is going to be very unhappy with them and won't really trust them anymore) can make their life miserable. "Yeah, Milton, we're gonna have to move your desk out of the programming pod, we've got this space down in the basement by the HVAC room for you. You're not allergic to mice, are you?" Likely nothing that overt, but certainly the "fun" projects will dry up for a whistleblower.

  • Eric M Russell

    SSC Guru

    Points: 125089

    Brad Allison (11/30/2016)


    This topic is very timely and interesting as just yesterday I heard that the Breitbart company now wants to capitalize on working with data within the White House and the government now. 🙁

    Big Data has given us the NSA's PRISM surveillance program.

    https://en.wikipedia.org/wiki/PRISM_(surveillance_program)

    IoT has given us refrigerators and toilets which monitor our every "movement" and cause global internet outages.

    https://krebsonsecurity.com/2016/10/hacked-cameras-dvrs-powered-todays-massive-internet-outage/

    Social Media has helped elect team Trump/Breitbart to President Of The United States.

    https://www.splcenter.org/hatewatch/2016/11/14/white-nationalists-rejoice-trumps-appointment-breitbarts-stephen-bannon

    Somebody remind me again what practical benefits we're getting from all this?

    "Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho

  • akljfhnlaflkj

    SSC Guru

    Points: 76202

    My dad was a used care salesman (an honest one).

    Does it really matter how the code is written as long as the finished product functions in a way that works well for the end user? Maybe it is sloppy code, but if doesn't affect the end user, what does it matter? Does every piece of code have to be the most optimized perfectly constructed code in the universe? So test the end product. Put it through its multiple tests. See where it fails and succeeds. Provide the reviews and let the user decide if it falls within the acceptable range for what they have to do. If sloppy code runs slow or buggy code makes the product fail in various areas, that will come out in the reviews. Seems to me the industry is already doing this.

  • jay-h

    SSCoach

    Points: 18816

    Sometimes, also, the line between whistle blower and disgruntled employee can be a little hard to nail down. If a potential whistle blower illegally hacks into a system to get evidence (especially if the 'evidence' is somewhat ambiguous), things get messy all around.

    Even a legitimate employer might hesitate to hire someone who had been involved in such a blow-up.

    ...

    -- FORTRAN manual for Xerox Computers --

  • Steve Jones - SSC Editor

    SSC Guru

    Points: 719720

    David.Poole (11/30/2016)


    What I'd like to see is a framework to support whistle blowers.

    By all means insist on evidence but whistle blowers need protection. Most companies have a whistle blower policy but does it result in timely and appropriate action?

    Has anyone blown the whistle and NOT had to leave the company shortly afterwards? Did the act of whistle blowing damage your long term career?

    I'd like this as well, but I struggle with how to do it. We have protection in the US, but then Edward Snowden couldn't use it.

    Also, like sexual harassment, once you blow a whistle, your career might be over. Other individuals that know you (which might be most of your close area), may be hesitant to hire you. Others might be more willing, but it's an unknown. That creates fear and uncertainty.

  • Steve Jones - SSC Editor

    SSC Guru

    Points: 719720

    Pascal J v Vuuren (11/30/2016)


    Major changes always goes to those living documents first before we even touch the code and whenever we build new features this is our starting point - we write those features and agree them with the business. That also forms the basis of our regression testing, etc.

    It's a beautiful system to see in operation and if you'd like to chat through it and the benefits, happy to have a conversation about it.

    That's really interesting. I'd love to talk sometime, or get a writeup from you if you're interested.

    Can you ping me at sjones at this domain? I'm buried through XMas, but perhaps after that?

  • Steve Jones - SSC Editor

    SSC Guru

    Points: 719720

    roger.plowman (11/30/2016)


    This is a VERY tricky subject.

    First, because ethics are subjective. They are *concepts* and as our deplorably litigious society proves, ethics are fluid and mean exactly what the sneakiest bastard wants them to mean. And that's on top of *HONEST* differences of opinion on ethics.

    Second, there's a huge (yuge? :w00t:) technical issue. Anyone who wants to be clever can game whatever system of checks and balances is put in place. Oh sure, certain tests will always be effective, but it's for simple stuff not the loopholes the ethically flexible so love.

    Some "super-couponer" types will actually surf the very rules themselves to abuse the system and when challenged can rightfully point out that's how it was *designed* to work. Letter of the law vs the spirit.

    And who's to say they aren't right? If you're not forbidden to do something by the rules, *you aren't forbidden*. No matter what anyone intended.

    He who lives by the lawyer, dies by the lawyer...

    Yep, it's super tricky. However, I don't want 100% solutions. I'd like something that can cover 80% of the cases, and then we have some sort of framework and let the legal system decide how to handle the 20%. Of course, I'd hope they would use some sort of guideline rather than the letter of the law. Perhaps intent to defraud?

Viewing 15 posts - 1 through 15 (of 59 total)

You must be logged in to reply to this topic. Login to reply