Post 1.0

When I read the first half of the article, The Code I’m Still Ashamed Of by Bill Sourour, my first thoughts pertained to this man’s gateway into programming. I found it funny how he didn’t describe himself as a gifted child, but was someone that was learning.  As years passed, putting effort to when working in his father’s consulting firm and going off on doing his own things. Stopping half-ways through the article, thinking about what he stated in his grim introduction to his programming experience. I would have to say that I came into this article with a fixed mind set of, what the title meant. As a student, I struggle with creating optimal code that is expected of me. So, reading something like, “the code I’m still ashamed of”, makes me think about the code that I am writing and that I should be writing at a different level. As I continued to read, I’ve notice what Sourour meant when titling this article, The Code I’m Still Ashamed Of.

My first thoughts when it comes to pharmaceutical company, is that their only there for the money. Quoting Bernadette Rostenkowski form The Big Bang Theory, “Mo deceases, Mo money “. I’m not really surprised that they are trying to make the efforts of getting around marketing regulations by using technology. When reading, “So what rules determined what treatment the quiz would recommend?”, I couldn’t help to think that, even though it’s not direct marketing, the company still wanted to push their product directly to the patient. Further down the article, my suspicion was confirmed, when Sourour implemented the changes. Only for the manager to complain that it’s broken, when it really isn’t. Because it led to the same drug, it seems broken, but that is what the company originally intended it be. For the most part, as a developer, I see how troubling it could be when creating certain project. Noticing the effects, it has on people, only after it’s been created. I’ve come across with the idea that if it’s not you, then it would be someone else. Meaning that it would have been done either way and the result would have stayed the same. People tend to ask the question, what would you have done in that situation? Any answer that they would have given is just an if off what could have happened. Holding no weight in the reality that did happened. Unless Marty and Doc say otherwise.

“As developers, we are often one of the last lines of defense against potentially dangerous and unethical practices”, Sourour says. Nothing better defines this line, the story of The Star Wars: Rogue One. In the creation of the Death Star, the man that oversaw creating such weapon, didn’t wanted it to exist. It was him whom created it, leaving a point of weakness, in which Spock fire and destroyed the weapon of mass destruction.  Although I speak of this in a light tone, creating such project could have major reproductions to millions of individuals. Understanding that sometimes, developers might not have a choice when creating such projects. Because they have a family to feed and other responsibilities. But the weight of it should not fall on the developer, but the people and the way that they interpret the information.

“What is dead, may never die” – Ghost



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.


Are YOU proud of your code?

It’s never happened to me, to be in a position where I have to decide whether my job is more important than writing a few unethical or immoral lines of code that I have been instructed to do.

I have mainly coded things for projects, on my own, without an authoritative person breathing down my neck telling me what to do and not to do.

Unfortunately, I am certain many software engineers and other technical workers are faced with such a tough decision.

Looking over “The code I am still ashamed of”, by Bill Sourour, I realized that perhaps one day, hopefully not, I will be in the same position as him. I mean it would be great to say my probabilities of being in a similar position are slim to none, but I would probably be lying to myself and lying to oneself is not a very ethical thing to do, which would make this whole blog hypocrisy.

Anyway, Sourour reacted in a very natural way, he followed directions because at the end of the day that is his job. However, my concern is although he felt uneasy about following directions, he did not realize the outcome of what he had done until somebody was dead. But we cannot blame Sourour for being human, because most people don’t realize the delicacy of a situation until someone gets hurt or in this case, dies. But that’s a whole different topic for a whole different day.

I do feel like Sourour could have done more on his part, maybe asked his fellow engineers what they thought, or spoken to his boss if he felt uneasy about the requirements.

But, again, we can’t blame him, he was young, inexperienced, like me.

When we are faced with such a decision, I believe we should put ourselves in the position of the consumer. Remember we are, “one of the last lines of defense against potentially dangerous and unethical practices”, and we should acknowledge that by not just doing our job, but doing it in a way that promotes a GENUINELY well being to everyone.

Of course Bill Sourour is not the only one, more people have revealed the unethical things that they have been asked to do.

A programmer Robert Martin, or Uncle Bob, released a video, “The future of Programming” where he believes that such unethical programs created are the fault of undisciplined programmers. I agree. If self-taught programmers and boot camps focused on also learning and teaching programmers how to handle ethical situations instead of just focusing on “pumping out people who can write code as fast as possible to satisfy a growing and insatiable market for coding skills”, we would not be risking our freedom.

What freedom?

Well as programmers, nobody governs what frameworks, languages, tools, and architecture we want to use, but if more and more programmers build technological stuff that is in anyway illegal or risking a person’s life we are bound to go that direction and end with dictators governing our jobs.

As of now WE run the world. “Other people believe they rule the world but they write down the rules and they hand them to us”, it is our job to be able to say no when we know something is not right. We have the power to control our software and continue to control it.

So just remember, don’t just write code because you are asked to, do it because you know it is genuinely great for EVERYONE.

Programmers being asked what to do.

The Future of Programming

The Code I’m Still Ashamed of



1. Pride

Bill Sourour’s article, “The Code I’m Still Ashamed Of,” discusses the very real issue of ethical guidelines—or the lack thereof—in tech. He was employed by an interactive marketing firm that had been founded by a medical doctor and who’s main clients were large pharmaceutical companies. One of his assignments there involved a drug that was mainly targeted towards teenage girls. He was expected to create a quiz and that would recommend a particular drug based on the answer set; regardless of the answer set, it always gave the same drug as a result.  He delivered the complete project and later on learned that multiple girls had become severely depressed or committed suicide after using the same drug he build the quiz for.

One can argue that Sourour was just doing his job, and a good one at that. He followed the guidelines of the project and met the requirements provided by the client. It was only natural for him as a developer to do what he was told. Even so, there is no denying that he did not play a part in the unethical practices of the client. He should have spoken up sooner.

Even though Sourour resigned soon after learning what the drug was doing to the young girls taking it, he still played a small role in harming these patients that were taking the drug.

I myself have never written any code that I’m not proud or ashamed of, not at my previous internship nor in any school assignments. I’ve only ever had to worry about making good grades on my coding assignments, never about causing harm to anyone or anything else. I can’t necessarily relate to Sourour, but I can learn from his mistakes. Sourour later mentions, “As developer, we are often one of the last lines of defense against potentially dangerous and unethical practices,” and I agree. I agree that we developers do have a say in the code we ship out. I believe that if we speak out loudly enough, we will be heard and possibly save lives as opposed to harming them. We as developers just need to be extremely critical of our assigned projects and their purposes.

Lastly, Sourour mentions that we are quickly approaching a time where the software that developers write will be driving the vehicles that we are all passengers in. Software is slowly taking a larger presence in our lives and so it’s more important for developers to ensure that the correct ethical practices are in place. The developers job will now not only require them to complete the many assignments and tasks thrown at them, but they will also have to look at the assignments’ requirements closely. They will need to be more critical of what they are being asked to do. As my senior year comes to a close and I get one step closer to being one of those developers, I will make sure to keep Sourour’s words in mind. I will remember that I, a developer, am the last line of defense against unethical practices.