Ethical Software Development
Software is pervasive in the modern world, which means those of us who create it have a large impact on our world. But that is easy to forget when your day-to-day life consists of small technical tasks. Many of us do not see the big picture. Or do not have the trust, autonomy, and authority to change the direction of our products even when we do see the big picture. So it is easy to avoid connecting the dots between the small tasks we do and the global impact of software on our world.
But I believe we should. Our industry created social media, for all its good and all its bad. We automate processes which speed things up as well as change jobs and livelihoods. We have an impact on the energy usage of our societies. Our work has changed how people spend their time, how much we move vs. sit still, how much we engage with each other vs. screens.
Of course, every consumer makes their own choices. We don't force people to make unhealthy choices. But we do offer them unhealthy choices.
Because we are the ones creating the pervasive software of the world, I believe we need to evaluate our own career choices within a context of ethics. I'm not proposing a standard set of rules for everyone to follow. But I do desire for everyone to bring ethical questions into their decision making processes when making career choices.
At the highest level, does the work I am doing improve the world? Does it harm the world? What is its impact on people? On energy consumption? If it succeeds, who gets the benefit? Who receives harm? And am I OK with all of those answers?
If the answers to those questions are not what we hoped, we need to not take those jobs.