Ethics and Software Development

Ethics can be a complex topic, but you will end up here eventually when you start to reflect yourself and your doings. Regardless of practicing mindfulness or not. You will question your doings and those of others.

I don't think there is a universal right or wrong in every aspect, but I think we can safely assume that there is a not-harming-others common ground in most ethics system. In this article I'll try to investigate it from the point of software development and why I think we need it.

Why do we need ethics?

Ethics are a pillar of living together in groups. Let's see them as a set of rules which are not necessary law but help with living in groups nonetheless. You can break them without being legally punished, but you might get penalized by other humans socially. Sometimes there is an overlap.

Harming animals might be one. Depending on your country it might be against the law or not. However, chances are high others are against it and punish one socially for it. Or in the worst case, one is penalized by the internet folks.

Does it affect me?

As a developer, you might think, software is neither good nor bad. The people using it make it good or bad. That's what scientists say too.

This point of view makes it extremely easy for the developer to put all thoughts about rights and wrongs aside and hand over the responsibility to some unknown instance. Now ones' mind is clean and pure. At least on the surface.

But that is illusive. It will come back. It will definitely come back when you embrace mindfulness. A hard part about it is that it will confront you with topics you buried deep down. You can now face it or run away like before. It is your choice, I won't judge you.

Can data harm someone?

I'll skip the apparent weapon technology discussion. Creating robots or things that make boom might be cool, but building cluster bombs with the sole purpose of killing people?

Doing stuff with data, on the other hand, is not so obvious all the time. At the surface, individual data is irrelevant as is the person behind those data. Facebook does not care about you as a person or your single data points. At this detail level, it is uninteresting. You and your data are only attractive in the form of groups. Groups, one can sell to. And the more they know about you, the more groups you will belong to. And companies can market to you.

At this level, the harm a dev building such a system can do is pretty small or maybe non-existent. It becomes a whole different story when we move a level above. Now we operate on groups, and that's where people are eager to influence. Not only for selling product ads but for voting or social movements and what not.

And we have seen a lot of those data and algorism effects on Facebook in recent years; like voting manipulations and the ever-rising hate.

One could blame now the people misusing the tech. But if we are honest, it also brings the ethics dilemma back to devs. Because devs built a system to collect those data. Devs made those algorisms.

Could they foresee it? Maybe.

Can they fix it now?

Probably. But in a way, many do not think about. By quitting.

If your ethics are switched on, you will notice that this actually harms society. Society is humans. You should not hurt others. So, mostly a dev should stop building or supporting those systems. Unfortunately, many devs outsourced those ethics to the unknown and still want to work at those companies.

Numbers

We don't even need complex data for doing harm. Numbers are enough. Like in the price of rice and other food. Do devs actually think that building a trading system for food resources does anything right?

It is a technical challenge. Devs love that as scientists do. Yet, both seldom think about the consequences of their work.

Now, we have bots trading on those markets and ruining the price for people actually depending on those resources.

Intentionally

Many times devs are not doing those things intentionally. Sure, putting a microphone into a smart device without telling anyone might be an error or happen by accident but collecting user data in a health app and uploading them to Facebook without telling anyone is probably not. Either the SDK devs or the app devs knew what their code will do, and they implemented this functionality intentionally.

Comes in many faces

It is not limited to those big topics. It starts with your company. Do you even know what your employer is actually selling? Do you care? Can you stand behind it? Can you tell your daughter straight into the face what you are doing there?

If not, there might be an ethical conflict inside you. One you could address before it is too late.

Switch your ethics on

Ethics are essential that we can face ourselves each day in the mirror. If you can't look your mirror image in the eyes, there is probably something you are ashamed of. And whatever it is, it will emerge pretty fast when you practice mindfulness. Don't bury it again, accept your doing and change your life, so you are not ashamed of yourself anymore. We only have one life, except as a Buddhist we have several tries.

Live aligned with your ethics

We do not have to have the same ethics. It is your life, not mine. Ours will be close enough anyway. However, align your life to your ethics. Only code that is compliant with your standards.

Porn is against your ethics, do not work there. Trading is bad for you, do not work there. Your employer sells shit you don't stand behind, change your job. Devs have the luxury of being picky.

And helping the world to change once again to the better.

[jb]


Published in MinfulDevMag issue #2 -- Download full issue

Read full Issue

MindfulDevMag Cover Issue #2