Reading 06 – Snowden

Edward Snowden had one of the most significant document leaks in history. He released hundred of documents that detail the excessive surveillance by the NSA. This is something I’ve heard about since the moment it happened, but until reading about it now do I realize what was the deepness of the surveillance problem. I was still under the impression that the NSA was only monitoring people they thought were engaging in illegal activities or were potential threats to the security of the nation, but they were pretty much monitoring everyone.

Besides that, the US risked its international relations by over-stepping its reach and spying even on private conversations of global leaders. The effect of this was seen through the strong response from foreign leaders. The Brazilian president cancelled a planned state visit. Other leaders called president Obama directly to address the issue. They knew this could very easily could be discovered, but they jeopardized US’s international standing by doing this. What they achieved through all this is also questionable.

I believe Snowden had well intentions. What I’m not sure is whether his approach was the correct one. Handing all the papers off to journalists was a bit irresponsible and truly jeopardizes the security of the state. There was an incident where the New York Times uploaded a pdf and failed to properly coverup the identity of the NSA agent who wrote the document as well as the network targeted for surveillance. In an interview with John Oliver Snowden said that incidents are bound to happen and that it’s more important for the general public to address this issue.

While this was a bit irresponsible, it is also important to consider that a single individual can’t properly go over 1000 documents and properly cover up sensitive data. He needed help to achieve his goals. I believe what he did was outside morality. Morality is not prepared to judge someone like Snowden. He operated from what he believed was the correct thing to do, but whether that was the absolute moral thing to do is hard to tell. Regardless, I believe what Snowden did had to be done. While surrounding it in satire, John Oliver made a point in his interview with Snowden to signal the impact of breaching privacy. There are things we send that we only want to receiver to see. There is a concept of privacy that is precious. There is no sense of intimacy when there are people watching. How is this different from “big brother is watching”, the motto of communist Russia that the US fought so hard against?

Thanks to what Snowden did, we have better forms of encryption today. We have a better sense of privacy and security. This increases risk a bit, since officials can no longer monitor everything, but as John Oliver said, we can’t have both perfect security and perfect privacy. It’s a contradiction. However, the changes that have occurred in legislation in response show that this is what had to be done. While the US can no longer spy on its enemies as easily as before, the opposite is also true. Enemies can no longer spy on the US in the same way. We all gain something from better privacy.

Project 2 – Reflection

There are many difficulties that women and minorities face when getting into STEM. Many of these were addressed more in detail on my Reading 04 post. One of the greatest problems is prejudice. Women are often underestimated in the work environment and are often given tasks that are not given to their male colleagues. They may be asked to get coffee for everyone or to do minor tasks that do not make full use of their skills. Often they will also not be taken seriously even when they are right. For example, in one of the readings of Reading 04 we read of how a lady found a major bug in the company’s code. Her coworkers completely disregarded her and said that if there was such a big bug, they would have found it already. When she finally convinced one of her male coworkers that there was a bug, he was the one to bring it up. This time they listened to him. Later, when they were trying to find someone to fix the bug, she said she could do it. Incredulous, they let her do it but made it explicitly clear that two other programmers had to sign on her work.

This same problem applies to racial minorities. We may be underestimated because of the color of our skin or the accent we speak with. This prejudice causes them to underestimate us and overlook our actual talent and skills. This is seen very strongly in the movie in how people were reluctant to accept that Kathy could do any real work. Paul was very clear in saying that her checking their work was merely a formality. Perhaps the aggression on the work may not be as direct as that presented in the movie, but there are plenty of microaggressions that still happen on the work place today.

This is certainly something that cannot be simply accepted. Action needs to be taken. Not all action is helpful, however. I believe that setting quotas for companies to fill makes both sides bitter. It leads to minority and female workers being even more underestimated. Other actions need to be created, such as helping underprivileged communities have an improved education system that better prepares them to face our current society. Another approach would be to diversify the hiring team.

The stories people tell are very relevant to the discussion. Story telling through movies, songs, or just people talking can have a huge impact. It lets the listeners who may not be aware of the issue to learn. It will stir them to talk and try to help make a change.

Personally, I can’t say I had many stories that gave me any stereotypes towards STEM. I come from a country where there is fortunately a greater gradient of skin color. I can’t say my country is free from racism, but I believe this sort of stereotypes are less apparent. At the same time, Nicaragua has a high gender equality. In a research by the World Economic Forum, Nicaragua was ranked 6th for highest gender equality. These two factors led to me not having these sort of stereotypes growing up. I believe this helps me see the world in a different way than many people here. Having less stereotypes lets you see the world as it really is. That’s the way we should all strive to see.

Reading 05 – Therac-25

There were many things that went wrong with the Therac-25. First, it seems like major portions of the code were borrowed from an older machine that had little to do with the current one. They made multiple assumptions of this old code, claiming that use of the old machines was enough testing of this code. However, at the same time they felt comfortable giving a lot of the security checks of the machine to that software; security which was originally kept by the hardware in place. These assumptions were the primary root of the problem. This confidence on the old code is what led to a very lacking software developing process with a team of only 1 member. There was no severe evaluation of this code. Furthermore, most testing was made either on a simulated module or on very controlled environments.

This great confidence on the code was made even more apparent later on when after receiving death reports from people who received treatment, they were reluctant to admit that there were errors in the system. When they eventually went in to check, they thought they found the bug and after making the small fix they boasted that “analysis of the hazard rate of the new solution indicates an improvement over the old system by at least five orders of magnitude.” Yet, after this bold claim, more deaths were reported.

Given the bugs were obscure ones (one happening only within a frame of time and another occurring on a 1/256 chance overflow), the company had multiple chances to discover this bug. It shouldn’t have gone past the first death before they involved themselves in a rigorous investigation of the error. True, accidents happen, but the best should be done to prevent them. Today, there are better software development approaches in place that help at the very least reduce these dangers: including extended physical testing, review by external parties, and instant review and patching of errors found.

Given the nature of this error, AECL is 100% liable of the incident. However, in other situations the line may be harder to draw. To assist in this, it is important that strict legislation is passed on regards to the process through which safety-critical systems are developed. For example, having code for these systems be reviewed by at least two external parties could be a possible rule. Other rules would be added as required by applications. In general, the goal would be to ensure that unless a company made an honest effort to address all dangers (preventive and post-accident), they will be held liable for all damage caused.

What we can learn about the Therac-25 incident is that programmers and people in charge of programmers should exhibit great skepticism over the correctness of their code. There is no perfect programmer. Bugs happen and are extremely common. I hope that we never hear another incident like the Therac-25 in the future, but the only way we can do it is by preparing the future programmers with the lessons learned from this.

In that regard I’m disappointed that in my 4 years at Notre Dame, I have seen very little focus on error checking and having robust code. The error checking is usually seen as cumbersome and unnecessary for our domain, but it an important skill for us to learn and master. Many of us will oversee safety-critical systems, but few of us will be trained on the skill from our degrees. My wish is that this could be changed in the future, to the point that a course targeted specifically at robust code writing be made part of the core curriculum. I’m not sure how prevalent this kind of courses are in other schools, but that would be a great step for all computer science programs to take. Until then, we may at least hope that enough programmers have heard of the Therac-25 so that they can help prevent this from happening again.

Reading 04 – Diversity

I believe there is definitely a problem with diversity in the tech industry. I also understand, however, that it is a difficult problem to address. There are multiple causes for these problems. In regard to the lack of women in tech the greatest problem is the male-dominated environment in tech companies. This creates a very hostile environment towards women in tech that may dissuade them from pursuing such a career. Certainly, not only are the numbers of women in tech low, but many women leave the tech industry all together. In Why Is Silicon Valley So Awful to Women? women in tech describe how they are often looked down upon and given tasks that are simple and not given to their male colleagues. They also constantly receive unrequested sexual advances that are out of line. Susan Wu describes her experience like this: “the countless times I’ve had to move a man’s hand from my thigh (or back or shoulder or hair or arm) during a meeting (or networking event or professional lunch or brainstorming session or pitch meeting) without seeming confrontational (or bitchy or rejecting or demanding or aggressive).” This is not a safe environment for anyone. It’s a self-feeding cycle. Women don’t feel safe because there are not enough women, but there will never be enough woman when they don’ feel safe.

However, this unsafe environment and prejudice is not the only factor. Why Prejudice Alone Doesn’t Explain the Gender Gap in Science  explains that women also tend to prefer jobs in the ambit of social science. For example, there is a disproportionate number of women in psychology compared to men. Similarly, women are more likely to become veterinarians than men are. This shows that lack of diversity of tech is not due to lack of skill, but simply a matter of preference. Women who might be great programmers or engineers, may have different goals in mind than just earning money. They may follow a different path with their own genius. However, the problems of prejudice and a hostile work environment truly exists. It’s important that those problems are addressed.

Besides a lack of women in the tech force, there is also an apparent lack of minorities on the work force. Same as with women, this problem may be two fold. On the one side we have a similar environment full of prejudice and hostility towards minorities. This will dissuade them from entering tech all-together. Another problem is that as Why Doesn’t Silicon Valley Hire Black Coders? explains, some universities that have been historically black don’t have the resources or expertise to prepare students to pass rigorous tech interviews. Again, we find that this is not a matter of innate skill, but of different environmental factors.

The question now is how to solve these problems. This is difficult. Many smart people have tried and while there has been progress, its slow and painful. However, I do have ideas. First off, having quotas is a terrible idea. It will lead to more resentment and prejudice. If quotas are put in place, it will lead to the belief that the female and minority employees were only hired to meet a quota and not because of their skills. This will only serve to increase the problem of prejudice.

Second, I believe a stronger effort should be made to increase not only the diversity of the workforce, but also the diversity of in-company connections. This is a problem that seems to be often overlooked. Lena Alston, for example, describes the culture shock she felt at google. “When I went out to lunch or something with my team, it was sort of like, ‘Soooo, what are you guys talking about?’ ” she says. “It could be something as simple as, like, what they watch on TV or what kind of books they like to read. And those are just not TV shows that I watch or books that I read.” While I believe that a cultural identity is important to keep and cherish, I believe some effort can be made to increase understanding between different groups. For example, I am happy to say that my friend group at Notre Dame is rather diverse, and we all share our culture with each other. Sometimes I DJ and play some Latino music. Some other times we’ll be dancing to K-Pop. Slowly, we all have come to understand each other’s culture better. The other day I was teaching some of my friends how to salsa. I had no success, but it was really fun. Throughout this all I have never felt disconnected from my cultural identity. I’m still strongly attached to it. However, I’m happy to share in other’s cultures and learn from them. I believe it is this sense of openness that will create a more open environment at the workforce. Make it less about race and more about people.

Finally, changes must be made at the root of the problem. For example, help should be given to these primarily black colleges so that they can prepare students to face interviews in Silicon Valley. Stereotypes should also be shifted. Have advertisement that feature women and minorities coding. Have them give tech talks at conferences so that their colleagues can see their work. Put more women and minorities in charge of teams to help them show their skills. Slowly I believe we can shift this bias.

Reading 03 – Immigration – Part 2 – A Personal Voyage

I decided to write a second post detailing my personal experience on this issue. Currently with the hostility of the current administration towards immigrants, I’m just filled with fear. During the last years, interviews to foreigners have significantly dropped. The cause for this is the uncertainty towards the future of H1B visas. While there are many proposals in place, no one knows what’s going to happen.

As of this time, I currently haven’t found a job. As graduation date approaches, I am filled with fear. I must consider the prospect of not finding a job, and, unlike other students, I have a deadline. I will get kicked out of the country 2 months after graduation if I don’t find a job. After that happens, it will become exceedingly difficult for me to find a job here in the future. For one, after I’m sent back, I am no longer eligible for OPT (Optional Practical Training). OPT is the only solace companies have in hiring international students after graduation. OPT is extensible up to 3 years, giving companies 3 attempts at obtaining your visa. Without that, there is virtually no incentives for companies to invest on me.

It almost seems unfair. I have worked as hard if not harder than most other students to get to where I am now. I had to learn a foreign language and move away from my country and my family. Because flying back to Nicaragua is expensive, I have only visited my family once in the last 2 years. It is difficult. It is also a great burden to my family, which has to pay an American valued tuition with a Nicaraguan wage. I’ve also tried my best to make myself an ideal candidate. I have had programming jobs every summer, I’ve worked on independent projects, and I’ve gotten myself involved in relevant organizations. I’ve done my best to build my foundation, going as far as taking extra free classes online during my breaks to improve my skillset, and yet I am still unemployed.

It seems like a waste. I consider myself a very capable programmer. I know I have great potential. I want to be part of this country and make a difference. If I go back, there’s nothing waiting for me. My country doesn’t have the development or the infrastructure to take advantage of my skills. The currently political state of my country also makes me doubt I’d would have any kind of economic stability. I want to stay here, and I believe I would be a positive addition to the workforce.

All I can do now is keep applying. Hopefully it will turn out for the best.

Reading 03 – Immigration – Part 1 – An Impersonal Opinion

There are two main concerns with H1B visas. The first problem is taking away jobs from Americans. The second problem is the decrease of wage on competitive jobs because of cheap labor from hiring foreigners. I shall address my opinion on both matters.

On the first issue, many make an argument on the matter by making simple math. “The inflow of guest workers is equal to half of all IT hires each year and fully two-thirds of annual hires of workers younger than 30…At the same time, U.S. colleges are graduating more than twice as many science, technology, engineering and math (STEM) graduates than the number of STEM openings generated by our economy each year” (PBS).

However, people making these studies must realize that not all college graduates are made equal. Despite the apparent stalling in the rise of programmer’s wage, programmers still boast one of the highest paying salaries; even in early careers. There is great incentive for people to take on computer science, computer engineering, and other computer related majors while in college. Not only is the pay good, but there is constant rhetoric on the lack of programmers on the work force. Add all this together, and it makes for a highly attractive and seemingly easy career path. However, this is not the case. Along with other STEM related fields, computer science is not an easy way to success. A degree in Computer Science doesn’t cut it to land you a job. You need to demonstrate competence through your work in various projects and by passing a rigorous technical interview process. The needs are high, and the needs can’t be easily met.

Paul Solman argues “Our fieldwork finds that reports of hiring difficulties often reflect unrealistic expectations and sometimes strategic posturing. Traditionally, during tight labor markets, such as before the dot.com crash, employers will hire good candidates who may not be “perfect,” but the firms will invest in training them.” However, anyone who has attended tech interviews can tell you that these interviews rely on the knowledge of two of the most fundamentals pieces of courses for any programmer: algorithms and data structures. These two elements make up the foundation for any capable programmer. If someone with a four-year education in the field cannot meet those basic requirements, no kind of training will do. This is no secret either. Tech companies are adamant in relaying the message that applicants need to be capable in algorithms and data structures. If you refuse to practice and learn these skills, it may show that you don’t care enough.

On top of this, despite Solman’s claim, I have found that in my search for a job that most companies do go over a training period with their new employees, especially for those straight out of college. This training will go over the specifics of a company and the specific technical knowledge necessary for the job, but just as you wouldn’t expect to train an EE graduate on how a circuit works, you shouldn’t expect to train a programmer on how to write an algorithm.

The other claim is the hiring foreign workers lead to a decrease in overall wages to workers in IT. There is clear evidence that wages in IT have remained stagnant for the last couple years. However, H1B can’t be the only reason for this. While there is still a shortage of tech workers today, back in the mid 2000’s there was certainly an even greater scarcity of IT workers. It is naïve to expect wages to remain proportionally high when the lack of supply of tech workers has at least been partially met. While tech companies still have a need for more capable employees, the need has been met to a point that they can bear to wait for the right candidate. The candidate will come eventually.

This wasn’t true in the mid 2000’s. While interest in CS had risen rapidly in the late 90’s and early 2000’s in the dot-com boom, there was a sudden dot-com collapse that happened in 2004 (see figure below). As the demand for tech workers exploded around this time, universities had trouble keeping PhD students to teach their classes. Most PhD students, attracted by the high paying job offerings, decided to leave Academia completely. This left many universities struggling to keep a CS department. Suddenly, students couldn’t find strong CS programs at Universities, forcing them to search careers in other fields. This, in turn, caused a massive shortage of tech workers across the country. It took years to overturn this shortage. Thus, it is no surprise that wages for tech workers at the time were comparatively high.

Despite all this, there is some truth to the claims made. Companies like Infosys have taken the wrong approach towards H1B visas. Their business strategy is clearly that of selling underpaid foreign works to perform cheap work for other companies. This was never the spirit and intention of H1B visas. The approach of these companies is wrong. Not only have they violated laws of H1B regarding equal pay, but they have undermined the hard work of other capable foreigners who try to come to the US seeking a competitive salary. On top of this, they hoard the lottery ticket process, making it impossible for smaller companies to even get a chance at hiring needed foreign skills.

Given all this, while I believe H1B migrants are a vital part of the economy, I do believe that reform is necessary to avoid the abuses by a minority of the companies, which unfortunately take a majority of the visas. First off, I completely agree that the lottery system should be removed. It is ridiculous to take all workers equally and make it a simple lottery. It is a great way to dissuade the best of candidates. While the US is currently the greatest tech giant, other countries are slowly starting to grow in the industry. More and more foreign skilled workers may deem it more worth it to work in other foreign countries with almost comparable pay than to enter a hostile environment towards foreigners. Rewarding the most capable is the best way to attract those with the skills the US needs.

The concern with this is what to replace the lottery system with. Some have suggested simply raising the salary cap from $65,000 to $100,000. This is most certainly not a solution. While it would certainly be a solution to a problem, it would damage smaller companies that also need to meet their needs with foreign workers. Medium gives a perfect solution. Make a whole new visa that is for outsourcing companies and cap them separately from non-outsourcing companies. Such a system would certainly be a great approach to solving this issue.

Another problem with the current H1B visa is the power that it gives to companies over their foreign employees. They can’t openly leave a company because doing so would force them to leave the country. This gives them little power to request for a hire wage or to find a job with a more competitive offer. Two possible solutions to this problem have been proposed. The first one involves expanding the green card program to allow more H1B visa workers to become legal residents. The other one involves allowing a grace period in which a worker may leave a company and legally live in the US while looking for a new job. While some people may feel aversion towards empowering foreigners in the country, this would help end the abuse of outsourcing companies which bank of the abuse of this lack of power.

While there are many proposals in place, there has been little action by the government. Currently, only uncertainty abounds.

Project 1 – Option 2 – Individual Reflection

The Manifesto reflects a position on the power of programming. It essentially puts programmers on a different plane of existence entirely. Although it’s a bit hyperbolic, I stand by its message, which is that more and more those who know about technology gain considerable power in our modern world. Take Facebook for example. It was started by a technologically driven programmer that wanted to explore something new. Now he has great power over what people see daily. One such display of this power was when Facebook carried out an emotion experiment in 2014. They manipulated people New’s Feed to display either mostly positive or mostly negative posts, such that they can explore the effect of social media on people’s emotions. There was a huge backlash because of that manipulation.

The manifesto claims that programmers would be able to defend themselves better against this. The reason this is true is that we are more aware than others that this can be easily done. We also know of ways to avoid tracking and avoid targeted displays of information. This can’t always be possible, but the fact that we know makes us stronger against it.

The portrait we wrote was very general. A statement written was that most CS students are white, which I’m not. I’m also not a big fan of football or catholic. The CS students’ portrait at Notre Dame was based greatly on what’s the general image of the average Notre Dame student. I don’t think we defer too much from other majors. Maybe we have more quirky jokes and we use our computers more, but I think we are all normal people: we party, we have fun, and we have normal interests.

I think stereotypes can be a problem. We tend to generalize and judge people based on stereotypes. This can’t be a good way to judge people. Unfortunately, it’s very difficult to avoid the problem. All humans have an almost unconscious disposition to judge people on as little information as we have from them, even if this just includes their appearance or their major. We may often find that our stereotypes are incorrect, but we never stop using them. I personally don’t find any benefit from a portrait. We are all individuals and we should be judged as such.