Week 7

Software Engineering (CS 373) Spring 2017

What did you do this past week?

We had an exam in Software Engineering this week. It was not what I had expected and some of the questions were very specific on Python's implementation but overall, it was not that bad. I've been playing around with edge cases in my free time. I also recently got Docker set up. It is for my own personal project but it will probably also be quite useful for Project 3. The Mutual Mobile talk was quite interesting. He talked about his experience in the mobile app industry.

What's in your way?

My Project 3 group needs to come up with an idea soon. The project description is not up yet but even without that, we should start looking for APIs to use.

What will you do next week?

I will need to submit scholarship applications. I have been waiting for a co-op offer for the Fall but I expect it to take a few more days. Until that is confirmed, I should proceed normally and apply for scholarships for the next school year.

What’s my experience of the class?

The format of the exam, as mentioned above, was a bit surprising. There was also more focus on the readings than I had expected. Some were straightforward, others needed some thinking. I wish I could see the questions that I missed. Other than that, I do not have any complaints. I appreciate the effort to get people from the industry to come and talk to us. The two people from Mutual Mobile were definitely insightful, to say the least.

What's my pick-of-the-week or tip-of-the-week?

What do Uber, Volkswagen and Zenefits have in common? They all used hidden code to break the law.
This was posted yesterday by Quincy Larson. The news that Uber has been tricking authorities in certain cities has recently spread. The program identifies undercover cops in cities where Uber is illegal and shows them a fake map with phantom cars. This way, they never manage to get a ride and therefore, cannot stop Uber.

Uber is — thanks to its superior software — essentially above the law.
The code I’m still ashamed of
Many of us will be able to write code that puts us above the law. Zenefits, for example, built a browser extension that allowed their insurance agents to skip the mandatory 52 hour licensing process. Some of us may be asked to write code that is legal but still unethical. Bill Sourour, for example, had to built a quiz that would almost always suggest the same drug because that drug company was their client. People have died. As software engineers, when we are told to create something, we need to question whether it is right. Sometimes, it is a matter of trying to engineer your way around a legal requirement. Other times, it could be a manager wanting to push code that has not been properly tested or that does not have sufficient safety precautions in place. As Bill puts it best,

As developers, we are often one of the last lines of defense against potentially dangerous and unethical practices.