Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Contractualism + Software Engineering: We're All In This Together by Katya Dreyer Oren As engineers, we are constantly confronted with decisions, from the tiny – “how thick should this border box be?” – to the huge – “how will this algorithm affect the world?” How do we make those decisions? Come learn about contractualism, or how to treat your users as a part of a larger community. We’ll discuss the concept of the “user stack,” anyone who will use or be influenced by your work. Understanding the principles of contractualism and how to apply them makes it easier for you to make ethical decisions as a software engineer, and convince others at your organization to listen.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the talk "Contractualism + Software Engineering: We're All In This Together," presented by Katya Dreyer Oren at RubyConf 2021, the concept of contractualism is explored as an ethical framework for software engineers. The speaker emphasizes the importance of treating users as part of a larger community and making ethical decisions in software development. Key points discussed include: - **Understanding Morality**: Katya begins by addressing the origins of morality, dismissing the idea that morality should derive from divine authority. Instead, she focuses on contractualism as a method to evaluate moral actions based on the principles that can be reasonably accepted by all involved. - **Ethical Frameworks**: Katya briefly explains various ethical theories: agent-centered ethics, which assesses the morality of the individual; consequentialism, which considers the outcomes of actions; and non-consequentialism, which regards the intentions behind actions. She argues that contractualism effectively synthesizes these theories. - **User Stack Concept**: Introducing the term "user stack," Katya categorizes users into different groups—employees, engineers, customers, end users, and those indirectly affected by decisions made—highlighting their impact on ethical software design. - **Responsibility of Software Engineers**: Katya discusses the need for a code of ethics in software engineering, similar to other professions like law and medicine, which can enforce standards through licensing. She advocates for using contractualism as a guideline when making tech decisions. - **Real-World Examples**: Several examples illustrate the discussion: - The consequences of poor documentation in coding and its ripple effect on teams. - YouTube's pricing discrepancies based on the platform choice and how it disproportionately affects low-income users. - A critique of shift scheduling software that features a toggle allowing employers to bypass providing benefits to workers, thus exploiting them. - The ethical implications of facial recognition technology and its misuse, exemplified by the wrongful arrest of Robert Williams. - **Practical Applications**: Katya concludes by encouraging engineers to reflect on their actions and consider the feelings and potential objections of others, promoting the idea that ethical considerations should be integral to the software development process. - **Takeaway Messages**: The crux of the presentation is that software engineers have not just the capacity but also a responsibility to ensure their work benefits their communities, advocating for ongoing engagement with ethical considerations in technology development. In summary, the talk stresses that achieving ethical outcomes requires collective moral deliberation and a commitment to considering the impact of technology on all user groups involved.
Suggest modifications
Cancel