Ethically Wired: Computer Ethics for Technologists

Rate this content
Bookmark

As technology continues to advance at an unprecedented rate, it is becoming increasingly important for those in the tech industry to understand the ethical implications of their work. The decisions that engineers and tech leads make can have far-reaching consequences for individuals, communities, and even entire societies. Without a solid understanding of computer ethics, it is all too easy for technology to be developed and deployed in ways that harm rather than help.


In this talk, we will discuss the importance of computer ethics in  tech and why it is crucial that engineers and tech leads receive training in this area. We will cover a range of topics, including ethical considerations surrounding data collection and privacy, algorithmic bias and fairness, and the ethical implications of emerging technologies such as AI and robotics. Drawing on both my own experience as a software engineer and relevant case studies, we will review examples of how ethical considerations have played out in real-world scenarios. Finally, we will discuss how engineers and tech leads can integrate ethical considerations into their work.  


Computer ethics is an important and relevant topic that deserves more attention. As technology continues to evolve and become more intertwined with our daily lives, it is essential that we ensure that those responsible for designing and developing these technologies understand the ramifications of their work. 


In the fast-evolving tech world, grasping computer ethics is vital. Tech choices impact people and society profoundly. This talk stresses ethics training for engineers, covering data privacy, bias, AI, and real-world cases. It's essential as tech becomes integral to daily life.

This talk has been presented at JSNation 2024, check out the latest edition of this JavaScript Conference.

FAQ

Computer ethics is the set of agreed-upon principles that govern the use of technology.

The speaker is Salamu-Eat-Moges, who goes by Salam.

Technologists should care about computer ethics to ensure long-term relevance, user trust, reputation, brand value, and to avoid harm, among other reasons.

Bias can lead to poorly defined goals, a product that centers only on one kind of user, and limited testing, ultimately resulting in a product that doesn't benefit all intended communities.

A premortem is an exercise where a team thinks of all scenarios where a product can fall short and comes up with solutions ahead of time before developing and launching the product.

Ways to incorporate ethics include premortems, check-ins to validate ideas, proper goal prioritization, integrating feedback during the design phase, and extensive user testing.

The ACM Code of Ethics is a set of guidelines to ensure ethical practices in computing, including contributing to society, fostering public awareness, and ensuring the public good is a central concern.

Proactive inclusivity can be promoted by incorporating ethical frameworks early in the development process, conducting premortems, validating goals, integrating feedback, and extensive user testing.

Resources on computer ethics and responsible building can be found in recommended books and networks like the Design Justice Network.

You can connect with Salamu-Eat-Moges via LinkedIn, email, or through his website, with contact information available through the provided QR codes in the talk.

Selam Moges
Selam Moges
9 min
17 Jun, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Computer ethics is the set of agreed upon principles that govern the use of technology, and integrating ethical frameworks into the decision-making process reflects a commitment to fostering a compassionate technological landscape. Incorporating ethics early in the product development cycle can avoid exclusions and financial losses, and can be done through premortems and check-ins. Promoting proactive inclusivity involves validating and prioritizing goals, conducting user testing, and following the Association for Computing Machinery's Code of Ethics. Additional resources include books on computer ethics and the Design Justice Network.

1. Introduction to Computer Ethics

Short description:

Hello, everyone. My name is Salamu-Eat-Moges, and the title of my talk is Ethically Wired, Computer Ethics or Technologist? I'm passionate about accessibility, inclusion, and activism in the tech space. Computer ethics is the set of agreed upon principles that govern the use of technology. Having an ethical framework will result in the best overall outcome for both you and your goals as a technologist.

Hello, everyone. My name is Salamu-Eat-Moges, and the title of my talk is Ethically Wired, Computer Ethics or Technologist? So a little bit about me before we begin. I go by Salam. I'm a software engineer at a medical technology company called Apella. Prior to that, I studied at New York University and I graduated with a computer science degree. And I'm passionate about accessibility, inclusion, and activism in the tech space.

With that, what is computer ethics? To preface this talk, I'd first like to say what we won't be doing. And that's really just calibrating anyone's moral compass. Ethics treads murky waters, so to give a hard and fast, this is right and this is wrong, really wouldn't be doing justice to the topic overall and specifically this conversation we're having. But what we will be doing is presenting you all with open questions to bring to your respective communities and discuss what computer ethics is and how we can integrate guardrails into our practices.

Now, the definition. Computer ethics is the set of agreed upon principles that govern the use of technology. And a typical problem in this space goes as follows. First, there's an advancement in technology. Then technologists are presented with new choices and decisions to make. And normally, they'll look at existing policies to figure out what's the best thing to do next. But unfortunately, some policies aren't relevant or the situation is more complex than the intended policy was supposed to address. So here lies the central task of computer ethics. And that's really to proactively formulate policies to better guide our actions on the societal level.

Now, why should we care? More broadly speaking, as technologists, we have varying goals, stakeholders and priorities at hand. But I argue that regardless of where your focal point lies, having an ethical framework will only result in the best overall outcome for both you and your goals. Let's take these three archetypes of technologists as examples. So let's say you're the type of technologist that cares about speed and experimentation. Well, computer ethics should matter to you for things like long-term relevance, user trust and adoption, and overall avoiding harm. While building technology quickly is important, integrating ethical considerations into your development process can enhance the quality, sustainability and positive impact of your creation. Now, it's not about slowing down innovation, but rather ensuring that your innovation contributes to a better world for everyone. Now, let's say you're the type of technologist that cares about business principles, metrics and industry trends. Well, computer ethics should matter to you for things like reputation and brand value, long-term sustainability and risk mitigation. Incorporating computer ethics into your business practices enhances your ability to succeed in a rapidly evolving and interconnected world. Ethical considerations not only align with fundamental business principles, but also position your business for things like long-term growth, sustainability and positive influence within your industry.

2. Ethics and the Product Development Cycle

Short description:

Computer ethics should matter to you for things like minimizing harm, holding folks accountable, and positively contributing to society. Integrating computer ethics into your decision-making process reflects your commitment to ethical principles and fostering a better, more compassionate technological landscape. A lack of ethical decision-making may affect the product development cycle, leading to biased goals, limited user benefits, and the exclusion of communities. Incorporating ethical frameworks earlier helps to avoid retrofitting inclusivity, which can result in financial losses and additional time spent. Baking ethics into the product development cycle can be done through premortems and check-ins to ensure alignment with the communities being served.

Now, lastly, let's say you're the type of technologist that simply cares about doing what's right. Well, computer ethics should definitely matter to you for things like minimizing harm, holding folks accountable and positively contributing to society. Ultimately, caring about doing what's right means taking a thoughtful and responsible approach to the use and development of technology. Integrating computer ethics into your decision-making process reflects your commitment to ethical principles and fostering a better, more compassionate technological landscape.

Now, all this to say is that ethics is for everyone regardless of where your goals and priorities lie. Now, with that, let's look at how ethics could actually affect our work. And we'll be doing that by looking at the product development cycle. Now, I'm sure all of you here are familiar with this life cycle, but let's just go over it quickly. So, when we first are thinking about building a product, we brainstorm. We think about what the features could be. We think about how people can use it. Then after that, we'll define goals and prioritize them. We'll design, build, test, and possibly go back to building based on how the test went. And then ultimately we'll launch our product into the world, see how people react to it, and then build features and pivot off of that and then go back to the brainstorming session. And the cycle continues over and over.

Now, let's think about how a lack of ethical decision-making may affect this cycle. And more specifically, let's use bias. Bias can be introduced during the brainstorming session when there's a homogenous team working together on a product to ideally benefit a diverse group of people. That leads to poorly defined goals only benefiting one group, which then leads to designing and building a product that centers only on one kind of user and works okay or poorly for other types of users. Then testing on a limited data sets validates the biases that have gone unnoticed thus far. And ultimately, we're releasing a product into the world that doesn't benefit all the communities that it's trying to serve.

And unfortunately, in many cases, we'll see products and features left in this state, causing communities to either stop using the product entirely or find hacks to best fit their needs. Now, in some cases, however, we see organizations or companies go back to help better accommodate the diverse audience that's using their product. And it's great that they were able to make the necessary changes to make the experience more inclusive. However, the consequences of retrofitting inclusivity as opposed to baking it into the infrastructure results in things like money loss or software factoring and additional time spent on all fronts, whether from the product manager, the engineers, the designers, etc. This doesn't mean that we shouldn't make these improvements post-launch if necessary, but it also is more so to highlight that incorporating ethical frameworks earlier helps to avoid these problems later.

Now, let's see at where we can bake ethics into the product development cycle. So firstly, incorporate premortems into the pre-development process. A premortem is an exercise where your team thinks of all the scenarios of where your products can fall short and coming up with solutions ahead of time before launching and even developing the product. Next could be check-ins to see if the ideas that you're actually trying to build make sense for the communities you're trying to serve.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Accessibility at Discord
React Advanced 2021React Advanced 2021
22 min
Accessibility at Discord
This Talk discusses the accessibility efforts at Discord, focusing on keyboard navigation and the challenges faced with implementing focus rings and outlines. The speaker showcases a unified focus ring system and a saturation slider to address accessibility concerns. They also highlight the implementation of role colors and the use of CSS filters for accessibility improvements. The Talk concludes with insights on runtime accessibility checking and the development of a performant core runtime system for checking accessibility issues.
Configuring Axe Accessibility Tests
TestJS Summit 2021TestJS Summit 2021
30 min
Configuring Axe Accessibility Tests
Top Content
AXe is an accessibility engine for automated web UI testing that runs a set of rules to test for accessibility problems. It can be configured to disable or enable specific rules and run based on tags. Axe provides various options, but axe linter does not support all options. The importance of investing time and resources in accessibility is emphasized, as it benefits not only those with disabilities but improves the web for everyone. Manual testing is also highlighted as a necessary complement to automated tests for addressing accessibility issues.
How do Localise and Personalize Content with Sanity.io and Next.js
React Advanced 2021React Advanced 2021
8 min
How do Localise and Personalize Content with Sanity.io and Next.js
Sanity.io provides a content platform for structured content that replaces traditional CMS. Their solution allows businesses to structure and query content anywhere using the Sanity studio and open source React application. The talk focuses on solving the challenge of sending personalized data to users in a static website environment using Next.js Vercel for hosting and Sanity for content querying and delivery. The Sanity studio allows for modeling pages, articles, and banners, with banners being shown to visitors based on their country. The solution involves using Grok queries to fetch the right banner based on country information, demonstrating personalization based on localization and dynamic content querying.
Nested Interactive Elements: An Nightmare in Accessibility
React Advanced 2023React Advanced 2023
23 min
Nested Interactive Elements: An Nightmare in Accessibility
Watch video: Nested Interactive Elements: An Nightmare in Accessibility
Nested interactive elements can cause accessibility issues on websites, and the speaker shares a personal experience with an accessibility bug involving a list component. Mitigating nested interactive structures involves limiting these patterns during development and restructuring existing elements. The speaker provides recommendations for improving accessibility, such as adjusting role properties and gathering user feedback. The conclusion emphasizes the importance of accessible solutions and encourages sharing resources to build more inclusive experiences.
Dialog Dilemmas and Modal Mischief: A Deep Dive Into Pop-Ups
JSNation 2023JSNation 2023
10 min
Dialog Dilemmas and Modal Mischief: A Deep Dive Into Pop-Ups
The Talk discusses the use of dialogues and popovers in web development. Dialogues can be modal or non-modal and are now accessibility-supported. Popovers are versatile and can be added to any element without JavaScript. They provide suggestions, pickers, teaching UI, list boxes, and action menus. Modal and non-modal dialogues and popovers have different behaviors and dismissal methods. Browser support for these features is expanding, but there are still open questions about positioning, semantics, and other use cases.
a11y and TDD: A Perfect Match
JSNation 2022JSNation 2022
24 min
a11y and TDD: A Perfect Match
This Talk explores the intersection of accessibility and test-driven development (TDD) in software development. TDD is a process that involves writing tests before writing production code, providing a safety net for code changes. The Talk demonstrates how to apply TDD principles to real-life examples, such as filling out a form, and emphasizes the importance of user-centric testing. By using atomic design principles, code can be organized in a clean and easy way. The Talk also discusses the use of labels and test IDs in tests for improved accessibility.

Workshops on related topic

Web Accessibility for Ninjas: A Practical Approach for Creating Accessible Web Applications
React Summit 2023React Summit 2023
109 min
Web Accessibility for Ninjas: A Practical Approach for Creating Accessible Web Applications
Workshop
Asaf Shochet Avida
Eitan Noy
2 authors
In this hands-on workshop, we’ll equip you with the tools and techniques you need to create accessible web applications. We’ll explore the principles of inclusive design and learn how to test our websites using assistive technology to ensure that they work for everyone.
We’ll cover topics such as semantic markup, ARIA roles, accessible forms, and navigation, and then dive into coding exercises where you’ll get to apply what you’ve learned. We’ll use automated testing tools to validate our work and ensure that we meet accessibility standards.
By the end of this workshop, you’ll be equipped with the knowledge and skills to create accessible websites that work for everyone, and you’ll have hands-on experience using the latest techniques and tools for inclusive design and testing. Join us for this awesome coding workshop and become a ninja in web accessibility and inclusive design!
Automated accessibility testing with jest-axe and Lighthouse CI
TestJS Summit 2021TestJS Summit 2021
85 min
Automated accessibility testing with jest-axe and Lighthouse CI
Workshop
Bonnie Schulkin
Bonnie Schulkin
Do your automated tests include a11y checks? This workshop will cover how to get started with jest-axe to detect code-based accessibility violations, and Lighthouse CI to validate the accessibility of fully rendered pages. No amount of automated tests can replace manual accessibility testing, but these checks will make sure that your manual testers aren't doing more work than they need to.
Web Accessibility in JavaScript Apps
React Summit 2022React Summit 2022
161 min
Web Accessibility in JavaScript Apps
Workshop
Sandrina Pereira
Sandrina Pereira
Often we see JavaScript damaging the accessibility of a website. In this workshop, you’ll learn how to avoid common mistakes and how to use JS in your favor to actually enhance the accessibility of your web apps!
In this workshop we’ll explore multiple real-world examples with accessibility no-nos, and you'll learn how to make them work for people using a mouse or a keyboard. You’ll also learn how screen readers are used, and I'll show you that there's no reason to be afraid of using one!
Join me and let me show you how accessibility doesn't limit your solutions or skills. On the contrary, it will make them more inclusive!
By the end, you will:- Understand WCAG principles and how they're organized- Know common cases where JavaScript is essential to accessibility- Create inclusive links, buttons and toggleble elements- Use live regions for errors and loading states- Integrate accessibility into your team workflow right away- Realize that creating accessible websites isn’t as hard as it sounds ;)
Localizing Your Remix Website
React Summit 2023React Summit 2023
154 min
Localizing Your Remix Website
WorkshopFree
Harshil Agrawal
Harshil Agrawal
Localized content helps you connect with your audience in their preferred language. It not only helps you grow your business but helps your audience understand your offerings better. In this workshop, you will get an introduction to localization and will learn how to implement localization to your Contentful-powered Remix website.
Table of contents:- Introduction to Localization- Introduction to Contentful- Localization in Contentful- Introduction to Remix- Setting up a new Remix project- Rendering content on the website- Implementing Localization in Remix Website- Recap- Next Steps