The Reasonable Developer Paul Verbeek-Mast Senior Software Engineer @ Confrere
noti.st/paul
Slide 2
Content warnings
Detailed description of sexual assault Image of raw meat Image of Mark Zuckerberg
Slide 3
“I’m just an engineer.
Slide 4
“Once the rockets are up, who cares where they come down? — Tom Lehrer (in ‘Wernher von Braun’)
Slide 5
Slide 6
The Reasonable Developer Paul Verbeek-Mast Senior Software Engineer @ Confrere
noti.st/paul
Slide 7
Reasonable
having sound judgement; fair and sensible
Slide 8
Normal distribution & standard deviation
L’Homme Moyen (The Average Man)
Slide 9
! $
"
Menlove
Vaughan
😭
🔥 🔥 🔥 🔥 🔥 🔥
Slide 10
Did he behave like an ordinary, reasonable man?
Slide 11
The Legal Village
(
)
reasonable hairdresser
reasonable officer
&'
+
fair-minded and informed observer
reasonable person
🕴
ordinary prudent person of business
Slide 12
The Legal Village
(
)
reasonable hairdresser
reasonable officer
&'
+
fair-minded and informed observer
reasonable person
🕴
ordinary prudent person of business
“
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
Slide 18
Slide 19
Ethical dilemmas are everywhere
Slide 20
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?
Slide 21
What is your product when it’s “free to use”?
Slide 22
Paying Candy Crush Saga users (3%) paid on average $150
https://www.psychguides.com/interact/the-psychology-of-freemium/
Slide 23
You pay with your personal information
Slide 24
“50% of mobile data is used to download ads” —Yoav Weiss https://confrere.com/pricing
Slide 25
Slide 26
Slide 27
Are we bullying instead of persuading?
Slide 28
Slide 29
Slide 30
Slide 31
Slide 32
Slide 33
Slide 34
Slide 35
What is “safe enough“?
Slide 36
Slide 37
Slide 38
Slide 39
Slide 40
How much effort should we put into preventing misuse?
Slide 41
Slide 42
Slide 43
Slide 44
Slide 45
Slide 46
Are we focussing enough on all our potential users?
Slide 47
How much harm can our product cause?
Slide 48
37 women who used the app came to Södersjukhuset for an abortion.
Slide 49
What are we sharing back to the community?
Slide 50
Slide 51
•
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?
Slide 52
Slide 53
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
Slide 54
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
Slide 55
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
Slide 56
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
Slide 57
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.
Slide 58
How to deal with ethical dilemmas.
Slide 59
Think about the ethical implications, before and during development.
Slide 60
The Tarot Cards of Tech by Artefact
https://www.artefactgroup.com/the-tarot-cards-of-tech/
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.
Slide 66
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.
Slide 67
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
Slide 68
What if you encounter ethical problems?
Slide 69
What is the problem exactly?
Slide 70
Who is affected?
Slide 71
What are the internal procedures?
Slide 72
What are the alternative actions?
Slide 73
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/
Slide 74
Ethics are an integral part of software development.