Jul 28 2020

Code I’m ashamed I’ve written

Category: MiscellaneousIuliana @ 15:30

In an attempt to keep myself away from distraction sources, so I can get some work done, I blocked myself from Reddit.

Then as the “master branch controversy” started to blow up, I really-really wanted to engage a little in the discussion happening on Reddit. So, I did the shameful thing of installing the reddit application on my phone. But, turns out I have forgotten my password, so I ended up creating a new account. (I know, it is a very long intro, but bear with me.) Being a new account, I was recommended to choose a few favourite subreddits and I chose two r/programming and r/youshouldknow. And this was an amazing decision, because now reddit is actually pretty useful to (still) kill time but feeling somewhat smarter.

So, I ended up leaving a few comments in entries linked to the “master branch controversy” and after that I actually read some interesting programming articles. And one of them, inspired me to write this entry today.
The article is named “The code I’m still ashamed of”.

People seeing that title and working in the industry, start reading that article and assume it is about a coming of age as a developer story, but it is actually about the etic of the author and code he has written for a pharmaceutical company. The code was part of a website posing as a general information site and was meant to stealthy advertise a certain drug, which turns out had severe side-effects. But the developer did not realize the part he played until his own sister was prescribed the same drug.

So, this is what this entry is about. We know already that code can be used to do foul things and we usually call it “hacking”. But essentially code is a tool, and any tool can be used as a weapon.

When I was 21 and broke, a friend of a friend hired me to build an e-commerce site. It was selling mostly small electronics at unusually smaller prices. And it required users to provide their credit card details to do so. I had no idea how to build a secured way to handle that kind of data at the time. And I was told somebody else will be hired for that. I was just supposed to save those details to the database… for now. And I build it and it looked nice. And they might have completed it with that secure payment module. Or they might have not. I will never know. I just delivered the code, got my money and payed my rent. I think on some level I never felt comfortable about that project, because I left it out of my CV and never mentioned it to anybody else again. Until now.

I started working in software in 2006. The first project I worked on was a search engine POC. The second was a resources management application for a big South African sugar can processing company.
The third was a report generating for an automotive company.

The fourth, was an ETL product designed for banks to do background checks on people and create relationship networks between their client to check out if there was any risk in giving them a credit. This one, I had a weird feeling about. Because this kind of software is useful… until it isn’t. Imagine you want to buy a house and the bank refuses to lend you the money because there is somebody else with your name with shady banking activity. Maybe your identity was stolen, which well… is good to know so you can take some action. But then again… if the banks were so sloppy it allowed it to happen, that’s a problem. And what if your identity was not stolen, but there is actually a person with the same name and low credit score? Then, you are being denied the credit just because the software is fallible.

The fifth was a logistics project, that was uses to track packages in warehouses and around the world. Amazon was using that software at the time. Now that I know how Amazon is treating its lower level employees, I’m not really proud of working on that project.

The sixt project I worked on was a banking application used to regulate bank activity. It applied rules defined by EIOPA and EBA to banking transactions to make sure banks will not loan more than they actually have and cause another financial crisis. I felt pretty good working on this one.

The seventh project was… I don’t know how to describe it, let’s call it an API Gateway for payment services. No effect on me whatsoever.

At some point in my experience I worked for a project I was sure was used for army activity. I asked myself how I felt about it. I had somebody asking me at some point if I can sleep at night and the truth is I did not really have a problem. The country that might be using it at some point does not have a conqueror/terrorism history. I view it like this: the code I wrote is just the handle of the axe.
If I wouldn’t have written it, somebody else would. It might as well be me.

Over my short career I have received a lot of job offers. I never took a job in e-commerce. I am not comfortable using the history of purchases to create a client profile and manipulate the user into buying things they otherwise wouldn’t.

Facebook has been trying to get my attention a while through various recruiters. I keep ignoring them. Why? Because Facebook is probably selling user data to third party clients that use that data to influence people in some way. And because Facebook is a cesspool of idiots that can influence elections and destroy people. I cannot work for a company like this. I really wouldn’t be able to sleep at night.

Amazon has been courting me forever. I almost got a job in their office in Romania in 2012. I decided against it and I am proud of myself for that. Why? Because their warehouses employees pee in bottles and and work in really unsafe environments (Last Week Tonight, Season 6, ep. 17), while the company reports profits of billions. This company has such a strong hold over e-commerce it kills small businesses. And the oned it cannot kill, it buys. It weilds such money it could influence politics in a sizeable country.
So yeah, Amazon is a company I would probably never work for, unless Jeff Bezos comes out and says: “Ok guys, I’ve got enough money to last me for a life time, whatever profit the company makes from now on I will direct it back to its employees and pay them appropriately and giving them some proper work conditions in the warehouses.

You might ask at this point: “What about Google, Iuliana?” Well, I have inside info from friends working at Google and it is not as great as it seems to be. Also, Google technology is used within the Big Brother people tracking system in China. And they provide a censored Google search engine for the Chinese people. So yeah… I couldn’t sleep at night if I provided a “cog” for that machine. And who knows what else?

As you can see, the companies on this list are famous and really big, and the ones advertised for paying their developers very well. But they do that through corporate tax avoidance and who know what other shady methods. Somebody has to lose somewhere in order for profit of the sizes these companies report to be made. I’d preffer not to be a part of that. Some of these are the companies software engineering students dream to work for after graduation. I used to dream about working at Google. I used to dream about working for Tesla or Space X. But people change.

Look, I have no doubt the code I write could be used one day to do foul things. But I can try to stay away from selling it with my knowledge to be used as such. That is the best I can do for now. Because, as an adult over 30 I really like to sleep, and I’d like to make sure that I can.

Stay safe, stay happy!

[Later edit:] I fogot to add Spotify to the list of companies I would never work for.

Leave a Reply