Anita’s First Blog Post (1)

After reading Bill Sourour’s article, The code I’m still ashamed of, I realized the importance of being aware of the code I write as a software engineer and the potential effects it can produce. Sourour said, “As developers, we are often one of the last lines of defense against potentially dangerous and unethical practices.” This is not a concern I think about often as a student because the code I write normally affects my grade, and not people’s lives. The perspective I have learned to have about computer programming is on the mechanics of code. My computer science teachers have taught me the mechanics of software engineering — I learn the time and space efficiency of algorithms, the tools to scale and design patterns to make my code reusable, etc. —  but  I have not systematically heard about the problems it can create, aside from siloed ethics courses. Computer science education and companies that create hardware and software need ethical standards to be taught and practiced.

Stories like Bill’s remind me that code is not just code, once it is deployed it has very real ramifications that affect the wellbeing of others. In his story, he coded a part of a website that recommended a certain drug to teenage girls after they filled out a survey. The algorithm he created disregarded the user’s input to the survey and recommended a specific medicine regardless of input. I wonder if he would have been taught from an early stage in his education that the code he writes affects real people if it would have empowered him to resign earlier. Computer science education still needs some work in areas aside from teaching the mechanics of code. I also wonder if  he only did something about it once one of his personal values were at stake — his sister. We need high quality standards that help students think about real world problems more often, and the problems that it can cause. I see the value in this ethics class, but I believe that this idea still needs to be emphasized in computer science intro classes.

Similarly, companies that create software need to follow ethical practices. This is harder to monitor since any given companies technical solution may be closely associated with the mission of the company, where their software is simply the mission materialized. It would be harder to monitor the mission statements of companies, so each engineer needs to simply be aware and ask the tough question, “What harm can my code potentially cause?” Students should be taught to carefully select the company they work for with an ethical framework and not just potential for wages earned, location, size of company, etc.

If each programmer had an ethical awareness that is effectively taught, negative and harmful ramifications caused by lines of code will decrease. By teaching beyond the mechanics of computer programming, each programmer will be able to think before their finger hits the keyboard, or better yet, they will be able to accurately screen companies, or projects before committing to them. Every programmer should be well aware of the problem he or she is solving or causing and therefore a wide perspective needs to be introduced to students at an introductory level stage.



2 thoughts on “Anita’s First Blog Post (1)

  1. I share your perspective, as a student I have not really written any code that can harm or potentially kill someone, so, like you, I don’t find myself thinking about such a situation. However, after reading the article, I felt the same way! I feel that although software engineers are “just doing their job” we are the “last lines of defense against potentially dangerous and unethical practices”, and should acknowledge it. Harmful software is created by us and it is our responsibility to understand that and to stop it.

    I think it’s a great idea that schools, camps, and self-taught programmers should take a course on ethical practices and realize that their code isn’t just code. If more programmers were ethically aware, like you mentioned, then no harmful software will be built. But according to, “Programmers are having a huge discussion. . .”, there is always a software engineer who may say no, but another who will say yes. Unfortunately, if we continue letting this happen, we can potentially lose our authority and freedom to work with the languages, frameworks, and architecture that we decide to work with.

    Thanks for sharing your perspective it was really insightful, I think you will find it really interesting to read on this article,, it talks more about situations like the one Bill Sourour mentioned, and perspective of Robert Martin, a great programmer in his time.


  2. This was a interesting and though provoking post, code should be used in a ethical way. You are right and the programmer should of resign although coding jobs are difficult to obtain. I found it informative how once the programmer submits the code it no longer belongs to the programmer. I never though of it that way and it would be like a mechanic that builds a car then sells it. The mechanic should make his car has safe and user friendly has possible. There’s always a possibility that someone will use it to rob a back and the mechanic should not blame themselves for there creation.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s