Jon Rumsey

An online markdown blog and knowledge repository.


Project maintained by nojronatron Hosted on GitHub Pages — Theme by mattgraham

Read Class 44 - Ethics

Resources

ACM.org Code of Ethics and Professional Conduct

ACM.org Code of Ethics and Professional Practice

FreeCodeCamp: The Code I'm Still Ashamed Of by Bill Sourour

Ethics In The Workplace

The Code Bill Sourour Is Still Ashamed Of

Ref: FreeCodeCamp: The Code I'm Still Ashamed Of by Bill Sourour

Key Takeaways:

These are all questions that I intend to keep close as I grow in my software developer engineering career.

Microsoft Employees Protest ICE Contract

Ref: MSFT Employees Protest ICE Contract

2017 through this year have been pretty turbulent in tech and politics. When an ICE policy put in place by the US Government was separating immigrant families during processing at the border, there was plenty of backlash (and denial). Microsoft had a contract with ICE to provide AI and data processing solutions. A group of MSFT employees wrote a letter explaining their frustration with the situation and demanding change. A part of the letter included terminology from the ACM Code of Ethics: "...those creating powerful technology have to ensure what they build is used for good, and not for harm..." [Article: MSFT Employees Protest ICE Contract, Internet Archive, NY Times Article, accessed 13-July-22]

The letter was not in vain as the CEO Satya Nadella and also Brad Smith posted memos and blog posts (respectively) stating immigration policy changes were necessary, and MSFT was not working with the government on programs in question. Other tech companies were also speaking out, employees and leadership.

I think this demonstrates the power of technical professionals - employees in any industry, really - to be able to speak up and stand for what is right. These examples show how I can have an impact by applying the code of ethics, and working with my team mates and co-workers to affect positive, equitable, and just change in tech.

ACM Code of Ethics, Conduct

Consider a code of ethics to be inspirational.

When necessary, the code acts as a guide for remediation for violations.

General Principles

Professional Responsibilities

Professional Leadership Principles

*Jon's Added Note: People, processes, and the environemntal impacts should be carefully considered when retiring systems.

Compliance With The Code

Uphold, promote, and respoct principles of the code.

Treat violations as inconsistent with membership in ACM.

Summary

Having a written and agreed-upon set of guiding principles can help teams and organizations create better work environments, better products and services, and avoid common pitfalls of closed system processes, while embracing and encouraging diversity, engagement, and creativity for the better of everyone.

In Practice

Eight guiding principles of software engineers committed to health, safety and welfare of the public, and making analysis, specification, design, development, testing, and maintenance of software a beneficial and respectable profession.

Consider the following aspects in what you do:

Ask Yourself How You Want To Act And Perceived

Doing good? Or harm?

Enable or influence others to do good or harm?

Am I continuing to make software engineering a respectec and beneficial profession?

Are my actions definitely in accordance with the spirit of the above principles? Is there reason to beleive they are not?

Am I considering who might be affected by my work, and how?

Am I considering my health, safety, and welfare? What about that of others?

Are my actions fulfilling ethical obligations, or ignoring them?

Is the consideration of the public being taken into appropriate account?

What about privacy - am I taking appropriate steps to protect privacy and PII?

Am I considering the wide variety of users of the product or service I am developing? Especially those with disabilities, or economic or other disadvantages?

What actions am I taking to be forthright about my own limitations in experience or education?

Is it legal to use the software or package I plan to use?

What steps do I need to take, if any, to ensure documents and other collateral are approved, and am I seeking the correct, authoritative approving body?

Am I documenting everything necessary to support my reasoning for why a project could be failing or otherwise has a significant issue, so my employer or stakeholder/owner?

Am I performing work that is in direct competition to my current employer(s) or those working with or for me?

Have I identified Intellectual Property and other information that either should not be used without permission or payment, and am I protecting the IP in accordance with licenses, contracts, and the law?

Am I acheiving the goal of high quality?

How are quality, cost, and time interacting in my work, and is it responsible? Are my actions taking in to account clients, stakeholders, and the public, as well as myself?

Am I identifying ethical, economic, cultural, legal, and environmental issues related to my project(s)?

Do I fully understand the specifications for software that I am working on?

[Jon Rumsey Asks]: "And what does this really mean to me, and to all the other principles? Weigh accordingly."

Are the project specifications documented? Do they meet clients and user's requirements?

Have I tested and "debugged" the application or service adequately?

Is there adequate documentation covering critical aspects of problems and solutions in the software?

What steps am I taking to ensure data integrity, and is it being kept up-to-date?

What is my plan to manage maintenance of the project going forward, and how am I going to ensure it is treated similarly to a new system?

What steps can I take to maintain professional objectivity when reviewing other's work?

How can I maintain a reasonable "watch" for illegal activities and conflicts of interest related to my project work?

What can I do to ensure my project management is fair, just, ethical, and inclusive throughout the life of the project?

Who should be given what work, based only on their experience, education, and interest/committment level, and how can I avoid assigning work improperly or inneffectively?

How can I be sure to deliver realistic, quantitative estimates of cost, scheduling, personnel, quality, and outcomes on projects I work on or own?

What actions can I take to "advance the integrity and reputation of the profession consistent with the public interest"? [ACM Ethics, Engineering Code]

What steps can I take to be sure to utilize my netowrk of experts when I am working outside my own area of high competency?

Am I considering everything necessary to ensure safe, reliable, useful quality software at reasonable cost (and in a reasonable time)?

Ethics In Technology Reference Articles

Googles censored search engine

Amazon Workers Demand End to LE Contracts w/ Facial Recognition

Google AI and The Pentagon

MSFT Employees Protest ICE Contract

MSFT Employees Protest Contract with US Army

Detroit Free Press Self Driving Cars Who Lives Who Dies?

The Globe And Mail on Ethical Dilemmas of Self Driving Cars

Phys.org Cybersecurity Risk of Self-driving Cars

Solve For Interesting.com Big Data is our Generation's Civil Rights Issue

Scientific American Will Democracy Survive Big Data and AI?

Microsoft Responsible AI

Ethicalos.org How not to regret the things you will build

Google AI Principles

An update to Google's AI Principles article An update on our work in responsible innovation

Return to Root README