The Reasonable Developer Paul Verbeek-Mast Senior Software Engineer @ Confrere noti.st/paul

Content warnings Detailed description of sexual assault Image of raw meat Image of Mark Zuckerberg

“I’m just an engineer.

“Once the rockets are up, who cares where they come down? — Tom Lehrer (in ‘Wernher von Braun’)

The Reasonable Developer Paul Verbeek-Mast Senior Software Engineer @ Confrere noti.st/paul

Reasonable having sound judgement; fair and sensible

Normal distribution & standard deviation L’Homme Moyen (The Average Man)

! $ " Menlove Vaughan 😭 🔥 🔥 🔥 🔥 🔥 🔥

Did he behave like an ordinary, reasonable man?

The Legal Village ( ) reasonable hairdresser reasonable officer &' + fair-minded and informed observer reasonable person 🕴 ordinary prudent person of business

The Legal Village ( ) reasonable hairdresser reasonable officer &' + fair-minded and informed observer reasonable person 🕴 ordinary prudent person of business

“Fitbit helped expose woman's false rape claim in Lancaster County. http://www.pennlive.com/news/2016/04/watch_today_segment_on_how_fit.html

https://twitter.com/internetofshit/status/692004889380179968

“ The ugly truth is that we believe in connecting people so deeply that anything that allows us to connect more people more often is de facto good. – Andrew Bosworth, VP @ Facebook https://www.buzzfeed.com/ryanmac/growth-at-any-cost-top-facebook-executive-defended-data

Ethical dilemmas are everywhere

Ethical dilemmas are everywhere • What is your product when it’s “free to use?” • Are we bullying instead of persuading? • What is “safe enough”? • How much effort should we put into preventing misuse? • Are we focussing enough on all our potential users? • How much harm can our product cause? • What are we sharing back to the community?

What is your product when it’s “free to use”?

Paying Candy Crush Saga users (3%) paid on average $150 https://www.psychguides.com/interact/the-psychology-of-freemium/

You pay with your personal information

“50% of mobile data is used to download ads” —Yoav Weiss https://confrere.com/pricing

Are we bullying instead of persuading?

What is “safe enough“?

How much effort should we put into preventing misuse?

Are we focussing enough on all our potential users?

How much harm can our product cause?

37 women who used the app came to Södersjukhuset for an abortion.

What are we sharing back to the community?

• What is your product when it’s “free to use?” • Are we bullying instead of persuading? • What is “safe enough”? • How much effort should we put into preventing misuse? • Are we focussing enough on all our potential users? • How much harm can our product cause? • What are we sharing back to the community?

Would you write code that’s clearly unethical? No Depends on what it is Yes 58.5% 36.6% 4.8% https://insights.stackoverflow.com/survey/2018/#ethics

Would you report unethical code? Depends on what it is 46.6% Yes, but only within the company 35.7% Yes, and publicly 13.1% No 4.6% https://insights.stackoverflow.com/survey/2018/#ethics

Who is ultimately most responsible? Upper management 57.5% The person who came up with the idea 22.8% The developer who wrote it 19.7% https://insights.stackoverflow.com/survey/2018/#ethics

Do developers have an obligation to consider the ethical implications of their code? Yes Unsure / I don’t know No 79.6% 14.3% 6.1% https://insights.stackoverflow.com/survey/2018/#ethics

A Reasonable Developer 1. Does not write code that’s clearly unethical; 2. Reports any unethical code; 3. Holds upper management responsible for accomplishing something unethical; 4. Is obligated to consider ethical implications of their code.

How to deal with ethical dilemmas.

Think about the ethical implications, before and during development.

The Tarot Cards of Tech by Artefact https://www.artefactgroup.com/the-tarot-cards-of-tech/

https://www.artefactgroup.com/the-tarot-cards-of-tech/

https://www.artefactgroup.com/the-tarot-cards-of-tech/

Create an internal code of ethics

Create an internal code of ethics

ACM Code of Ethics and Professional Conduct “An ACM member should” 1. Avoid harm; 2. Contribute to society and to human well-being, acknowledging that all people are stakeholders in computing; 3. Be fair and take action not to discriminate; 4. Design and implement systems that are robustly and usably secure.

ACM Software Engineering Code “A software engineer should” 1. Accept full responsibility for their own work; 2. Be careful to use only accurate data derived by ethical and lawful means, and use it only in ways properly authorized; 3. Avoid associations with businesses and organizations which are in conflict with this code.

ACM Code of Ethics and Professional Conduct https://www.acm.org/about-acm/acm-code-of-ethics-andprofessional-conduct ACM Software Engineering Code (with IEEE) https://ethics.acm.org/code-of-ethics/software-engineering-code/ IEEE Code of Ethics https://www.ieee.org/about/corporate/governance/p7-8.html

What if you encounter ethical problems?

What is the problem exactly?

Who is affected?

What are the internal procedures?

What are the alternative actions?

ICAEW framework for resolving ethical problems https://www.icaew.com/technical/ethics/framework-forresolving-ethical-problems Santa Clara University framework for ethical decision making https://www.scu.edu/ethics/ethics-resources/ethicaldecision-making/a-framework-for-ethical-decision-making/

Ethics are an integral part of software development.

Don’t just act reasonable. Act responsible.

Create you own code of ethics. And live by it.

You are not “just an engineer.”

Thank you! Paul Verbeek-Mast Senior Software Engineer confrere.com @paul_v_m | noti.st/paul