Why ethics must be a constant in software engineering

When people discuss the effect ‘technology’ has on society, it’s rarely about the pure technical power of the hardware. Software is what changes how we live and work. This has meant that software engineers have, mostly unintentionally, become very influential. Whether they’re working for Facebook, Google, Reddit or AirBnB, their code can have a big impact on people, businesses and even entire cities.

The question for many is whether the industry is taking its corporate social responsibility seriously enough. Most developers are concerned with exciting ways to implement new software, but when platforms like AirBnB can negatively affect housing prices of entire cities, or Facebook can be used to spread misinformation that affects democratic processes, should the first conversation be about whether to implement at all?

Why is ethics important for software developers?

When software can change how we act and think, having a strong ethical core to the platform is a must. Platforms like Reddit and Twitter have been accused of not doing enough to prevent the spread of misinformation and hate speech, but it’s extremely unlikely that the engineers writing the code would’ve considered that their software would be used for such purposes. Software engineers are rarely experts in psychology or ethics, despite having an innate understanding of both. During the design process would anyone ask ‘Who could be negatively affected by this?’ or entertain the unpleasant prospect that their work could be used to disadvantage people.

What unintentional ethical considerations might a developer face?

The Xbox Kinect experienced issues back in 2010 when it was reported that the device did not recognise the faces of dark-skinned gamers. Both Hewlett-Packard and Google Photo’s have also experienced similar issues with facial recognition. Then it was picked up that certain automatic soap dispensers in airports that detect when your hand is underneath don’t work on black skin. Why? The near-infrared technology used was meant to be reflected off the users hands and back to the sensor. However, if the reflective object absorbs that light instead, then the sensor will never trigger because not enough light gets to it. Wearable fitness trackers and heart-rate monitors have also had the same problem.

These ‘skin science’ errors aren’t intentional, but they pose some serious questions about diversity in technological design and development processes.

How do developers include ‘ethics’ in design?

Keeping ethics at the heart of a project can be difficult – it depends entirely on the project, the developer’s level and what the final usage is aiming to be. One consideration could be to list alongside the aims of the project “How could this be misused and who would that affect?” Software engineers usually aim to improve human lives, but flipping around the thinking to contemplate how technology could be used to make lives worse could allow safeguards to be built into the product, rather than trying to retrofit solutions to a flawed system.

If reading this has thrown up questions that you’d like to find out more about, the University of York’s online Computer Science Masters programme might be for you. It’s designed for working professionals and graduates who may not have a computer science background and want to launch their career in this field, equipping graduates for a range of positions in software and web development, IT systems, support and programming.

Delivered 100% online, the Computer Science Masters degree requires no campus visits, so you can learn on your own terms, in your own time. There’s the option to choose from six start dates per year, so you can begin whenever’s convenient, fitting your studies around work and home commitments. There’s also a pay-per-module option available, and students may be eligible for a government-backed postgraduate loan which covers the cost of the programme.

Find out more and begin your application.