Skip to main content

Rewriting the code for ethics in software development

(Image credit: Image Credit: StartupStockPhotos / Pexels)

Computer ethics and ethics in tech is a topic that’s been very much thrown into the limelight of late, with the recent Facebook/Cambridge Analytica probe, where 87 million Facebook users’ data was breached ahead of the US election.  This has not just created international headlines, but has driven a widening focus on how technology is used from an ethical standpoint.     

More often than not, thinking about what makes ethical technology, and how software developers can take responsibility for developing ethically, often provokes many more questions than answers.  A common trait amongst those working in the software development and IT industries, is that we would like to think of ourselves as problem-solvers.  For example, we can apply algorithms, established design patterns, or some kind of process to problems that are presented and get a solution.  But when we can’t do this, and face several grey areas when it comes to what is ‘right’ or ‘wrong’, it becomes unsettling to us as industry professionals. 

The trade-off: Tech disruption vs ethics in tech   

Ethics is a very subjective topic – and the rules of responsibility around ethics in tech are no different.  However, how it does differ, is this subjectivity is amplified because software engineering is a fast developing and disruptive field, which is always forging new capabilities.  This sort of disruption tends to tear up the rule book when it comes to ethics, as innovation takes businesses into unchartered territories – presenting them with new opportunities, which may also bring with them new problems that they might not have encountered before as that particular capability simply wasn’t there before.  This could be, for instance, a new need for increased security to support a new functionality or the right to privacy around data thanks to new end-user application.     

This could see businesses jumping on whichever tech bandwagon is shiniest (or most profitable), or offering up over-engineered solutions with maddening levels of complexity that follow, with no benefit to the business it seeks to serve or, indeed, ultimately to the end user.  This can also lead to a lack of thoroughly defined specifications, or software professionals turning a blind eye to the implications of their work. 

Ethical awareness   

A recent survey by StackOverflow shows us that 80% of developers believe they have an obligation to consider the ethical implications of their code and 59% would refuse to work on code if they felt it was for unethical purposes or compromised their values.  

This suggests software engineers are becoming more aware of what their day-to-day development should involve and how it should be approached, suggesting the ethical implications of what is produced is a key consideration, with many holding themselves to a higher standard of account – at least in principal - rather than allowing themselves to be mercenaries, available to make or code anything for a price. 

Redefining and reporting on grey areas 

However, as with all questions around ethics, inevitably, grey areas remain.  Take for instance a recent survey that asked developers if they would report on ethical issues with their code in which over a third of respondents replied with 'it depends on what it is'.  Equally, 58% would hold the upper management or board level members ultimately responsible for code that is produced for unethical purposes.  This quite clearly illustrates the current uncertainty - and maybe even fear of speaking up - when it comes to computer ethics in action; just 13% would publicly report an unethical coding practice.  

As an industry, we need to be mindful to consider the purpose of our works and make sure there are safe ways to air concerns that arise during the course of development. Some infrastructure for this exists already in many companies, but we could regulate this to allow ethical concerns to be raised without causing undue stress and worry.  While neither of these are concrete solutions to the problems we are currently facing, a little introspection and regulation would (in my opinion) be a great start to real progress. 

Contributing to the widest network 

It’s paramount the gift of technology is used to create accessible (and useful) services for all people, regardless of social status, ethnicity, gender or generation. By reducing the cost, energy consumption and resource requirements of our software, a wider pool of access can be provided to potentially life-changing technology and the potential quality of life improvements to some of the most disadvantaged of people.    

Most importantly, we must understand that it is not only multinational billion-dollar companies that are capable of doing this - the smallest contributions to ethical technology build up to create local networks of carers, eventually funnelling in to a global community which can tackle larger scale problems. 

Better technologies come from diversity   

Technology requires diversity across nationality, gender and ethnicity to succeed and deliver the most benefit to the most peope. While some of these factors are now being realised and remedied – such as the tech industry’s gender skills gap and, more widely, the gender pay gap - this is not the end of the battle. Better technologies come from being diverse. By developing - and managing, marketing or directing, diverse teams, it is far more likely that the ethical implications of what developers produce will be highlighted and, improves the likelihood of any issues being flagged before they impact end-users.  

Recoding tech ethics 

A people-first approach is key to making technology benefit humanity. In recent years, technology has been viewed as a way to enhance our humanity – and for this trend to continue, there must be a focus on the design of accessible and widely available ethical technology. This relies on developers having an open dialogue with users, considering the impact of their ideas, understanding who their products are made for, and which human problems they are aiming to solve.  This will allow the industry to reprogramme the values of software engineering, ensuring that projects which make human difference and companies that serve humanity (rather than just the interests of shareholders), continue to remain integral to the industry. 

John Cooke, MD at Black Pepper Software (opens in new tab) 

Image Credit: StartupStockPhotos / Pexels

John Cooke is MD at Black Pepper Software, an software development specialist.