loading...
Cover image for What are our responsibilities as software developers beyond writing code? ๐ŸŒŽ๐Ÿ’ป

What are our responsibilities as software developers beyond writing code? ๐ŸŒŽ๐Ÿ’ป

kateh profile image Kate (she/her) ใƒป3 min read

Discuss:

  • How has tech shaped our society? Your life?
  • What ethical responsibilities do we have as software developers?
  • What are ways you keep yourself accountable in your day to day?

Today, itโ€™s impossible to think of a world without any influence of code.

I grew up in the age of rising social media. In 2009, I created my first social media account via Facebook. I was only in middle school.

I know. Middle school feels too early.

Surprisingly though, most of my classmates were on Facebook and I simply didn't want to miss out. I still remember the initial feelings of wariness I had when first registering my profile. Should I use a fake name? Should I even have my full name on the web? Is this safe?

I was cautious. But with an easy click of a button, I entered a new world and that wariness went away.

Snapchat, Instagram, Twitter, LinkedIn... has there been a week that went by in the past twelve years where I didn't check some form of social media? Probably not.

Thousands of hours of mindless scrolling since middle school. Damn.

Nothing is black and white.

Social media has given me an outlet to stay connected with friends who are far away and has helped me maintain a sense of humanity during this isolating age of quarantine.

I've increasingly relied on the convenience provided by companies like Uber, Lyft, AirBnB, and Amazon. With a click of a button I can have products delivered to me next day. Within five minutes, I can have a driver come pick me up and take me wherever I want to be. If I want Mexican food, I can take out my phone and do a quick search filtering out the lower rated places. How convenient!

But there's a lot we ignore behind this convenience.


Taking part in the creation

In college, I took computer science courses. I studied Data Structures, Discrete Mathematics, Algorithms, Databases... I attended engineering career fairs. I remember packing into the auditorium with hundreds of other students. There were long lines before every booth just to chat with recruiters. Recruiters pitched fancy offices, free food perks, and appealed to bright-eyed students promising "interesting engineering problems". Never in my classes, nor these conversations with recruiters, did the ethics of software development, nor the potential consequences behind code come up.

As software engineers, we are programmed to think about ways we can automate tasks with code.

In fact, that's what we get paid for. At times, writing code can feel like a separate thing from the "real" world. In our day to day, when we're simply tackling the micro-level problems at hand, it's hard to see the macro-level impact we have. In reality, we're building products that change everyday experiences of real people. The code we write can potentially shape the habits of even young kids. But that's not what we think about when we're writing code.

For some, writing code is simply a means to make a living, nothing more. Developers can argue that the larger responsibility of the different consequences behind the code we write may lie on business people who make the larger decisions, or the product designers... But is that really true?

If we churn out code without ever stopping to think about the higher-level implications of the code we're writing, the motivations behind the companies we work for, what impact do we have?

What kind of society are we creating?


Thanks for reading until the end. Ethics and the influence of tech and code is something I often think about. At the same time, I don't really know how to think about it... What are you thoughts?

Posted on by:

kateh profile

Kate (she/her)

@kateh

ruby on rails || ui/ux || tech for good || startups

Discussion

pic
Editor guide
 

Oh my, a topic so close to my heart.

I work in the Gambling industry, which means that bugs might cost people actual money, and in some cases, might mean an addict starts down a rather nasty spiral. I've worked in this industry for close to two decades now.

As a result, I make it my responsibility to think about the reason for code changes, and make an ethical decision before I allow anyone on the team to entertain feature requests. As an example there, one of our designers proposed a way to make it harder to cancel your account - I flat out rejected that.

We have stakeholders to please, I get that, but there's no reason that pleasure should come at the misfortune of one single other human being.

I'm also a Dev Manager, so I'm ethically responsible for those under me as well, especially at the moment with the covid situation. I've told my employees that I'm not interested in them coming back to the office until next April at the earliest. But even that comes with things that I need to watch for, help them through, etc.

Who knew this "adult" thing would be so damn troublesome...

 

We have stakeholders to please, I get that, but there's no reason that pleasure should come at the misfortune of one single other human being.

Definitely, this is so important to keep in mind. I really appreciate your perspective as someone who has been working in the industry for a while. Thank you for sharing!

 
[deleted]
 

Perhaps you need to re-read the article I responded to, and my comment.

I can guarantee you that nothing me, or my team produce "exploits" anyone's addiction. But I'm going to go ahead and assume that much like others that have no industry experience, you read the media, and never read the legal restrictions, the safeguards, or the audit process we have to go through to prove we're compliant with the law.

In fact, for the last 2 years or so, I'd wager that 90% of my work has been about spotting people with an addiction, and automatically blocking them.

[deleted]

1) I didn't take it personally.

2a) Again, nothing that I, or my team write, exploits anything. Why/how I came to be employed in the industry has nothing to do with the post that sparked this conversation.
2b) How do you know what other projects I'm involved with, and whether or not they are "just for fun"?

3) All of my children have had the same introduction to gambling... "here's how you use the cashier machine, print as many tickets as you like, here's how you use the gaming machines... see how much money you can win, and how much time it takes you." - they all now know that gambling, in it's MANY forms, is nothing more than a waste of time that costs money.

Your comments seem to be very loaded, so this will be my last "off topic" reply to this discussion.

 

Thanks for the nice article!

I have been thinking a lot about this topic recently. Like many other technologies software can be used to create a better world or to harm the world. The problem is to know when technology is harmful. The facebook like button seemed a good idea but it also brought the (unexpected) downside of social pressure to get as many likes as possible.

That being said there are use cases that are very harmful, like keeping users on a site in order to be able to show as many adds as possible. This is not doing any good for the end user. Personally I refuse to create that kind of software.

There are some developers who suggest we need an oath for software development, like the Hippocratic Oath. I agree on that, but I don't yet know what should be in this oath. Maybe that could be the next step. What should the developers oath look like?

 

Hi Jur! Thanks for reading and sharing your thoughts!

The facebook like button seemed a good idea but it also brought the (unexpected) downside of social pressure to get as many likes as possible.

Yeah, that's a good point. I think it's important to recognize that technology can end up being used in all sorts of ways that even we might not anticipate, no matter how good an intention we might have. Maybe part of our responsibility is to keep evaluating and never stop asking questions every step of the way.

There are some developers who suggest we need an oath for software development, like the Hippocratic Oath.

I've never heard of that. That's an interesting idea... ๐Ÿค”

 

Hi Kate,
Robert Martin (Unlce Bob) created such an oath which can be found on his blog:
blog.cleancoder.com/uncle-bob/2015...

In my opinion this oath is directed more to software craftsmanship (the link Stephen Dicks provided) and lacks some of the ethics.

I found another oath that's more in the direction of the ethics:
github.com/Widdershin/programmers-....
I think I like this one more but maybe they can be merged.

 
 

I agree with the software craftsmanship movement but I think this is more about how to develop software.

 

Thanks for the article Kate!

The discussion of ethics is important to me because I studied human-computer interaction in my undergrad. We always discuss ways to improve the users experience with technology but somewhere along the line this became "how can we keep users on our technology".

When I see open source projects like NewPipe and Barista, non-tracking / less addictive alternatives to YouTube and instagram respectively, I think about the what-ifs of these technologies and how they could have been done differently.

 

Hey Justin, thank you for sharing your experience. I've always been curious about human computer interaction programs! What was it like? Was your program UI/UX focused?
I know that business programs tend to have a business ethics classes. I wonder if some day, some sort of technology ethics class will be more prevalent...

I've never heard of those open source projects, thanks for sharing!

 

Hi Kate,

The program I studied had 3 areas of focus and I was involved with 2: systems design and UX design. I mostly left the graphics design to others though as many of our work was in small 2-4 person teams like a scrum and I was better at project management and copywriting.

We do discuss ethics as well for accessibility and how certain designs can completely gentrify a low col area. The problem is that there's no enforcement for any malpractice in software or design so the responsibility to create something for good isn't there.

Please do try them out (if you use an android)! I found myself using those services less because I was not able to scroll haha.

 

Thank you for sharing your thoughts. Developers do have a responsibility to be ethical. I'm so grateful we're leveraging these platforms for positive and productive conversations like this.

Technology augments interests. There's the option to scroll mindlessly (guilty as charged) and there's the option to scroll mindfully. We have access to a multitude of life giving content, from classical music connecting millions around the world like never before, to free ebooks by prolific writers, from courses to satisfy my curiosity, to experiencing parts of the world I yearn to explore thanks to the longevity and reach of the internet.

There are also ways to counteract the false sense of comfort and convenience lulled from instant gratification. We can do this by encouraging disciplined use. For example, Instagram and YouTube are the only social media platforms I use. I don't check notifications until noon, and I only use Instagram for 30 minutes. I also mute Instagram stories as well unless it's from a creator I enjoy. I avoid the "explore" and "recommended" sections to train my brain to seek specific and meaningful content, not passively consume content scavenged from the bowls of the internet. Information is more meaningful when you decide what you want to see instead of an algorithm.

Thankfully, developers are developing tools to curb content consumption! They too understand balance and discipline. The iPhone for example has a built in feature where you can lock an app after a certain amount of screen time. I lock Instagram after 30 minutes, and YouTube after an hour. We can also organize our apps in folders--use this to place a helpful or productive app in the same folder as a distracting one. We also have RSS feeds to curate content we want to see from different sourcrs. I made my own RSS feed in the past for updates on specific topics. I've used Zapier and Feedly in the past. Here's an extension for removing recommended videos from YouTube and an extension for removing the Instagram explorer feed. For a general site blocker, here's an app called Freedom for blocking distracting websites and apps.

Developers also delivered on demand mental health care like never before. Ginger.io offers counseling with trained mental health professionals. Anxiety Helper is a mental health toolkit for teens working through anxiety and depression (made by a teen!). Psychology Today offers an easy way to search for local support groups, therapists, psychiatrists, and treatment centers - just click the drop down menu next to the search bar. Apps like Discord have numerous communities for you to call home. Discord is one of my favorite apps since you can create online communities where you feel right at home. A few great communities are the Healthy Gamer's community created by world-class addictions expert Dr. Alok Kanojia for those struggling with game addiction, and the Mind Cafรฉ for emotional support for anyone who is 13+.

I'm grateful for the plethora of platforms that exists because of our ingenuity and empathy for humanity. We don't need to give it all up cold turkey. Like you've said, technology maintains a sense of humanity during quarantine. As software developers, it's our responsibility to facilitate convenience, and foster discipline, question features, and offer solutions like the ones featured in this response.

EDIT: Thank you all for bearing the many typos. This response was written on my iPhone during a walk. ๐Ÿ˜

 

Hi Elisabeth! Thank you so much for taking the time to share your thoughts and providing this perspective. Sometimes, I focus too much on the negatives and feel pessimistic about the future, but it's so much more productive to talk about what we can do, and what is under our control (which is a lot of things). As you bring up, there's a lot of good things that have come out of tech. It's important to remember that not everything is black and white and nothing will ever be "perfect". What's important is to keep having these conversations, continue learning from our mistake and improving.

I really really appreciate your thoughts. Thank you so much <3

 

Thank you for the response!

Sometimes, I focus too much on the negatives and feel pessimistic about the future, but it's so much more productive to talk about what we can do, and what is under our control (which is a lot of things).

I fully empathize. It took a concerted effort for me to adopt a progress oriented mindset called meliorism. I've had similar polarizing sentiments about the industry vs freelancing vs homemaking. Part of the reason why I'm intrigued by this discussion was because I found it whilst lamenting the state of the world.

As solution oriented people, we have more power to ameliorate so much more than we realize--our now is not for forever. Thankfully there are a critical mass of developers who are optimistic, and want to make a change. Thank you again for starting the conversation โค๏ธ

 

Some good thoughts, thanks for sharing.

The Social Dilemma doc on Netflix got me thinking about this recently. Anyone see that? Itโ€™s the purposefully addictive features that really bother me. I think weโ€™re just starting to scratch the surface of the mental health consequences of it all.

 

A topic of worthy discussion. thank you.

We have created a society that is breeding out critical thinking, creativity, and deduction; The one enemy of digital super intelligence. In a few short years computers programs will be writing computer programs. I call this the the developer user migration. As we approach digital super intelligence, developers are migrated into users linearly proportional

U = I^2 / D - U

(sorry i just made that up, U users, Artifical intelligence, D developers)

as you can see this is a sigma recursion, which spirals out of control real fast. check out the new show neXt which visually talks about this issue.

being a zillennial i grew up with the internet and the cold war. What is happening today in the word is terrifying to see the world addicted to such a vice. We need to stop everything until we have proper government and societal oversight. AI is

the future of programming will be talking to your alexa and teach it how to replace yourself.

i helped pioneer this field, and now i make video games and write movies for a living if that tells you anything.

 

I think the first step is to be open to another perspective, opinion, philosophy in life and inviting others who is not developer to look at what you are doing. We should not operate in silo instead focus on being surrounded by people from a different domain to help in solving a problem.

 

Ah, this is so true. Whenever I chance catch up with friends or family who are a different industry, I often re-realize how silo-ed I am in my thinking.
We may think we have all the information necessary, and end up approaching problems from a lop-sided perspective.

Thanks for sharing your thoughts Max!

 

Yup certain things might make sense in a technology viewpoint but might have backlash without thinking it out through. As the creators of pesticides did not think that their chemicals would be used for a war that leads to the destruction of environmental & human lives was greatly affected. Having people who have a diverse domain on board helps a lot to figure out these issues and nip them in the bud before it turns into a huge problem.

 

nice points :) i agree. My answer would be, showing up and always being available when your team needs you. balancing personal and work life in a zen manner is a huge thing. software is stressful. Many have jobs in the industry, yet only a few make it a career. This s^*@ is hard and only gets harder everyday exponetially. I suspose that is what attracts me. i love me a good puzzle or riddle, sometimes even a well tuned js fiddle. But don't be stuck in the middle, and focus on what interests you :) People who just focus on collecting those nice paychecks, loose sight of the difference between a tree and forest; All is fine until someone with a career in comp sci needs that job. :) Thank you for sharing your perspective from the completely opposite end of our millienial generation then myself. you got it:)

 

I really like the article, I do think a lot about the consequences of software. We as developers most of the times are thinking about how cool the technology is but not the social impact it can have.

 

Nice post. Really important to think what are we heading towards

 
 
 

I loved this article. It makes me think more deeply.

 

Thanks so much for reading and commenting! I'm glad you enjoyed it :-)