Morality in software development

Published on: Nov 15, 2016

talk rant ethics life

NB: this blogpost is the text version of a lighting talk I gave at iOSDevUK conference in Aberystwyth in September 2016 and at the SwiftLondon Meetup in October 2016. The latter was recorded.

Update Jan 2017: The video of the SwiftLondon version of this talk is now available on YouTube. Sorry for the rather unintelligent first couple of sentences — only proves that I’m not good at multitasking :) Enjoy!

A text version...

What if I was to tell you that you’re gonna die this week? What is the first thing going through your head?

Well, apart from the sadness for not being able to try the next Macs…

What will your week look like if you know this is your last Tuesday? Think about that… we’ll come back to it in a bit.

Today want to talk about a subject that is not often discussed in a public forum. And, before I get into it, let me just say that I’m not in any way, shape or form an expert in the subject, but only opening it for debate.

The topic I want to propose for debate is:

Morality

There is absolutely no doubt on the ubiquity of digital devices in our lives and the impact that software has on us as a society. And, as software developers, we live in a world where it is, at times, unlikely to see the direct result of our actions — despite having a more direct channel of communication with the end users.

Very subjective topic

morality is subjective

The definition of morality varies based on culture, historical period and, since recently, apparently on the results of referendums…

Can we classify a piece of software as moral or immoral? Or even amoral? Are there any ethical implication of what we build?

What about how we behave inside this industry?

As an industry we’re pretty good at being open, embrace everyone and generally playing nice with each other. But this seems to only extend so far….

Some, especially in the gaming industry, have a moral compass so f-ed up that I’m not even sure how they find their way to their hipster coffee machines in the morning...

Let’s have a show of hands…

How many of you would work for an ammunition manufacturer that’s exporting weapons to oppressive regimes?

NB: I've presented this talk twice and, in each instances, one person put their hand up. One even jokily asked: “How much do they pay?” I hope it was a joke...

What about working for businesses that are lying and continuously encouraging hate and murder…

The Real Truth

What about being part of a team that’s playing god with their users… kind to some sort of simulation game?

Without doubt, lots of good people are attracted by the dark side…

Being Practical

You might think that this is high level, pie-in-the-sky talk… but there are lots of simple things in our power to change.

I strongly believe that accessibility is a moral choice and we should do everything in our power to achieve it, especially when it comes to children apps.

Nobody should be left behind!

So is privacy. Path paid the price for breaking their users’ trust which is funny because one of their “values” is Privacy.

And so is localisation. I’m proud that I’ve been, in the past, part of a team working on an app with Welsh localisation.

Very few people consider the energy footprint of their software or try to make the phones greener.

It might look like an infinitesimal amount but it all adds up.

Apple is making this ridiculously easy these days…

What about code attribution? Does every single app using CocoaPods today actually include its licence in a format visible to the end user?

Also, what about using open or closed source code developed by companies that one might consider bad? Does the origin of the bits you’re packing into your app matter?

What about code that actually has a negative impact on the users in the long run.

The presence or the lack of dark patterns is also an ethical choice.

If you don’t know what Privacy Zuckering is…

Conclusions

Maybe businesses should have a ‘code of ethics and professional practices’ document?

There are some efforts in the industry to create a standard but most of them are concerned with upholding the reputation of the industry rather than with the wellbeing of end users.

I know it might sound cliched but…

We all should try to make a positive impact on this world… It’s very easy to become cynical especially when you see big businesses behaving badly.

Yes, we all have families and mortgage and bills to pay but we are also lucky enough to work in an age and in an industry where we can afford to choose.

You have a choice to say no to your potentially dangerous boss…

And put future generations first…