Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Being an ethical software engineer

Being an ethical software engineer

In today’s world, software engineers have a lot of power in their hands, after all, someone had to write the code behind every medical cancer detection, but also behind every spam bot. They can shape the apps we use every day, craft the AIs and LLMs that are used daily to solve everyone’s questions, and have access to gigabytes of sensitive information. Having the knowledge to make almost everything possible on a phone, laptop, or server, means they need to use this knowledge wisely and responsibly.

Some decisions can seem harmless, like questionable subscription opt-in practices to a daily newsletter. Others may seem trivial, like avoiding to send a password in cleartext. However, certain decisions are much harder to detect, and even more difficult to resolve.

More than ever, developers should know about the consequences of what they build, and help shape the way apps are built tomorrow. Based on real life examples, this talk will explore common situations where engineers should think twice before pushing a PR.

Xavier F. Gouchet

April 11, 2025
Tweet

More Decks by Xavier F. Gouchet

Other Decks in Programming

Transcript

  1. Software engineers, as a group, are privileged - higher education

    - better income - job stability Mobile devices are everywhere You are special! 7
  2. It’s very subjective - No silver bullet - No algorithm

    - No AI - No `true` or `false` answer 13
  3. Spoiler Alert I will mostly ask questions… … answer a

    few of them… … but will sometimes give a few pointers 14
  4. “ ” We have a long way to go to

    pull this off, it’ll take hours and hours of studying ethics and moral philosophy. — Chidi Anagonye (The Good Place) 16
  5. Plato (-385) Protagoras A virtuous person will act morally, it’s

    in the person’s character that lies the virtue. Virtue Ethics 18
  6. John Locke (1689) Two Treatises of Government Morality is based

    on a hypothetical agreement individuals make to follow certain rules for the benefit of society Social Contract 19
  7. Consequentialism Jeremy Bentham (1780) An Introduction to the Principles of

    Morals and Legislation Focuses on the consequences of an act to determine if the act is moral or immoral 20
  8. Deontology Emmanuel Kant (1785) Groundwork of the Metaphysics of Morals

    Certain acts are intrinsically right or wrong, as there are universally moral rules 21
  9. Generated with Leonardo.ai 2024 - AI “An automatic wristwatch, with

    the gears visible by transparency, with the hands showing exactly 5:30.” 26
  10. Would your users be happy if they were in the

    meeting room? Would you make the same choices? 34
  11. “ ” — Ian Malcolm (Jurassic Park) Your scientists were

    so preoccupied with whether they could, they didn’t stop to think if they should. 39
  12. “ ” — Elan Mastain (All our Wrong Todays) When

    you invent a new technology you also invent the accident of that technology. When you invent the car, you also invent the car accident. 46
  13. Should we ship a Minimum Viable Product? Or fix every

    single bug? Which bug to fix? To fix first? 48
  14. Which tech stack and CI should we use? Is our

    PR approval strategy enough? Are the tests strong enough? 49
  15. “ ” — Sarah Jeong We know already that although

    machine learning has huge potential, data sets with ingrained biases will produce biased results — garbage in, garbage out. 54
  16. Article 12 61 No one shall be subjected to arbitrary

    interference with his privacy, family, home or correspondence, nor to attacks upon his honour and reputation. […]
  17. In other fields • Medicine: Hippocratic oath, drugs approval •

    Journalism: Munich Charter • Architecture: Architects Registration Board (UK), American Institute of Architects • Aviation: Aviators Model Code of Conduct, ICAO 62
  18. In Software engineering • Code of Ethics and Professional Practice

    ◦ IEEE/ACM (1994-1999) • First, Do No Harm: A Hippocratic Oath for Software Developers? ◦ Phillip A. Laplante (2004) • The Programmer’s Oath ◦ Robert C. Martin (2015) • A Code of Ethics for (Agile) Software Developers? ◦ Christiaan Verwijs (2017) • A Hippocratic Oath for Software Engineers ◦ Malcolm Young (2021) 63
  19. “ ” — Hector Barbossa (Pirates of the Caribbean) The

    code is more what you'd call guidelines than actual rules. 64
  20. An ethical mindset • Primum non nocere • See Something,

    Say Something • Ask the difficult questions • Learn about Deceptive designs • Learn about Cognitive Biases 67
  21. An ethical mindset • Give a F… about your user

    • Focus on what the product is about • Take ownership of the whole codebase • Don’t trust AI blindly 68
  22. Going further • Did you read the OSS License of

    the libraries you use? • Do you credit them? • Do you credit the code snippets copied from SO? • Do you credit Copilot? Chat-GPT? Tabnine? • What’s your code/app carbon footprint? 70
  23. “ ” — Marian Wright Edelman Never let us confuse

    what is legal with what is right. Everything Hitler did in Nazi Germany was legal, but it was not right. 72