For me, I think diversity in Computer Science means providing a space for people of many different ideas and backgrounds to share ideas and contribute. I believe the best way to achieve this is to support groups of different races, socioeconomic statuses, genders, and beliefs in the pursuit of Computer Science so that there is always a good mixture of different people in the workplace. While I do mostly agree that a complete meritocracy seems like the most fair and equal system, I think that this system can leave us blind to new ideas and perspectives due to a concentration of similar biases. Thus, I feel that diversity within CSE is a worthwhile goal.
In order to achieve this goal, we must learn to tolerate and work with people who may have different values and perspectives. I think this is particularly important in the light of the "culture" of Computer Science. From my experience, computers and coding has a lot of stigmas and stereotypes associated with it, ranging from the nerdy kid with classes trying to hack into something to the "brogrammer" image of Silicon Valley. Furthermore, there is this general idea in society that Computer Science is an extremely complicated field in which only those with innate talent for working with computers can excel. As a part of promoting diversity within CSE, we have to be mindful of these deeply-ingrained beliefs and actively seek to dispel them. I worry that these images of the tech industry can have a depressing effect on the participation of those with different backgrounds from the typical programmer due to feelings that they "don't fit in" or "aren't meant to code."
As the president of LUG this year, I have seen firsthand the challenges associated with promoting diversity within Computer Science. I feel that I am always torn between maintaining the rather clique-y and exclusive feel of the original club and trying to include people who are newcomers, who don't fit in with the typical culture of CS, or who are women or minorities. For me, it's very difficult because there are many trade-offs that need to be considered when transitioning to a more inclusive community. For example, when planning events, the officers and I have to consider what would be best for our members (and potential members) as a whole rather than simply what we think would benefit us or people of the same experience level as us the most. As part of this, we have to also look beyond our current membership and consider what type of community we want to build in our club. I think this kind of forward thinking is important in the discussion of how to promote inclusivity in Computer Science and shows how we must work proactively rather than reactively in creating structures to support minority groups.
Unfortunately, as part of these efforts, I feel like we must express some degree of self-censorship and change the way we normally act in some cases. As part of being inclusive, we must consider the way our words and actions come across to people dissimilar to us. This can take many forms, such as avoiding telling jokes that may make people within the community uncomfortable or showing restraint and empathy when we disagree with the viewpoint of another person. I recognize that this is a trade-off that does not sit well with many people (including myself at times); however, I feel that it is critical to improving and expanding the community of CS.
Friday, September 27, 2019
Sunday, September 15, 2019
Writing 02: What are your thoughts about the hiring industry?
I have mixed feelings about the hiring industry personally. On one hand, I like the fact that Computer Science positions offer technical interviews and other forms of practical testing for hiring. On the other, I feel that most of my prior schoolwork has been a waste of time now that I am applying for jobs. While GPA is an important component of the application process, many of my prior classes, especially university requirements, do not seem to translate to practical, on-the-job skills.
The hiring process in my view has both good and bad aspects. I don't really enjoy the process of networking and discussing my qualities as a candidate. I would rather just show off my skills in a technical evaluation and have the employer deem if I have the ability to perform the job. I find the other aspects of the interview process to be rather artificial and somewhat fake, especially for a position such as an SDE. Of course, conversational skills and persuasion are good for positions such as being a sales representative or business executive. However, for software engineering, I feel that technical skills and knowledge is much more valuable.
Regarding my preparation for the hiring process, I feel that I took a different route than many of my peers due to my study abroad experiences. Rather than use the summers before junior and senior year for internships, I spent them in Japan studying at language schools. Also, due to the number of classes I needed to take in order to study both Japanese and CS, I had no time to participate in research. I feel like these choices, while allowing me to possibly work in Japan in the future, have put me at a competitive disadvantage compared to my classmates.
I think that there should be a distinction between academia-focused universities and job-focused trade schools. I think the core curriculum of most universities isn't really useful for the majority of technical-focused students. For example, I think that classes such as Moreau, FYS, and university requirements (particularly history, theology, and literature) would serve STEM students much better if they were to be replaced with classes about career building, team-based work, and research.
If I could give advice to my younger self, I would tell them to do more research and personal projects rather than focus on school work. From my perspective, once you get your first job or internship, your past grades basically get thrown out the window and forgotten. Also, grades don't really translate to career skills. Research and personal projects on the other hand give you practical experience that can really bolster your resume and viability as a job candidate.
Notre Dame, in my view, severely lacks the resources and education for job searching. Sure, if you want to get a consulting job in Chicago, it's very easy for pretty much any CS major due to the numerous alumni connections there. However, in my case, I wanted to look for an internship abroad. However, Notre Dame has no resources for this both in the Career Center and at the Career Fair. Thus, I had to do my own research and attend an external career fair on my own budget. This can be very difficult as it's both a huge time and monetary investment to travel to attend a career fair such as this.
The hiring process in my view has both good and bad aspects. I don't really enjoy the process of networking and discussing my qualities as a candidate. I would rather just show off my skills in a technical evaluation and have the employer deem if I have the ability to perform the job. I find the other aspects of the interview process to be rather artificial and somewhat fake, especially for a position such as an SDE. Of course, conversational skills and persuasion are good for positions such as being a sales representative or business executive. However, for software engineering, I feel that technical skills and knowledge is much more valuable.
Regarding my preparation for the hiring process, I feel that I took a different route than many of my peers due to my study abroad experiences. Rather than use the summers before junior and senior year for internships, I spent them in Japan studying at language schools. Also, due to the number of classes I needed to take in order to study both Japanese and CS, I had no time to participate in research. I feel like these choices, while allowing me to possibly work in Japan in the future, have put me at a competitive disadvantage compared to my classmates.
I think that there should be a distinction between academia-focused universities and job-focused trade schools. I think the core curriculum of most universities isn't really useful for the majority of technical-focused students. For example, I think that classes such as Moreau, FYS, and university requirements (particularly history, theology, and literature) would serve STEM students much better if they were to be replaced with classes about career building, team-based work, and research.
If I could give advice to my younger self, I would tell them to do more research and personal projects rather than focus on school work. From my perspective, once you get your first job or internship, your past grades basically get thrown out the window and forgotten. Also, grades don't really translate to career skills. Research and personal projects on the other hand give you practical experience that can really bolster your resume and viability as a job candidate.
Notre Dame, in my view, severely lacks the resources and education for job searching. Sure, if you want to get a consulting job in Chicago, it's very easy for pretty much any CS major due to the numerous alumni connections there. However, in my case, I wanted to look for an internship abroad. However, Notre Dame has no resources for this both in the Career Center and at the Career Fair. Thus, I had to do my own research and attend an external career fair on my own budget. This can be very difficult as it's both a huge time and monetary investment to travel to attend a career fair such as this.
Friday, September 6, 2019
Writing01: What is your identity?
In terms of Computer Science and my hobbies, I feel like I have a
hacker/maker identity. I enjoy making things in my free time, whether
that be small programming side projects or pencil sketches. I always
like the feeling of knowing that I made something cool or
interesting. Consequently, I get frustrated if I don't see immediate
value from side projects that I'm doing. I think that's why I
struggle with art and music since those skills require lots of time
and dedication before you can achieve meaningful results. With
programming, on the other hand, you can do amazing things with just a
few lines of code copied from Stack Overflow.
I don't like
playing video games or watching Netflix if I'm by myself since I feel
that it's a waste of time. I do think that these events are good if
they are done with friends or in a social environment since they help
build relationships, but I feel so lazy if I do them alone. I used to
do these activities much more as a child, and I feel like it had a
negative impact on me going forward since I would skip social and
educational opportunities to play video games or watch TV.
I'm pretty much the
opposite of most Notre Dame students. I'm non-religious, I don't care
about watching football, and I don't really have any school spirit or
pride. Notre Dame wasn't my ideal school, and I see it more of a
means to an end. While I think the majority of the CS professors I've
had so far have been exceptional, I have many problems with the way
that the school is run and question my choice of attending ND.
As for my
privileges, I've grown up with a supportive immediate and extended
family. While my family is not wealthy, my parents have worked hard
to make me not worry about tuition and living expenses. I have also
had opportunities to attend schools with good academic records and to
study abroad in Japan. Also, thanks to access to computers in high
school, I was able to start learning about Computer Science before
college.
However, I also
have some disadvantages. Since I'm rather short and thin, people
assumed that I can't play sports and just spent all day doing
academic activities. This stereotype has come up time and time again
throughout my life, despite the fact that I would throw the football
with my brother each week and would climb the giant magnolia tree in
front of my house for fun everyday. In fact, due to my excessive tree
climbing, I would always win the rock climbing competitions at my
middle school's relay races. Despite all this, I would always be
picked last in PE and would never get the football passed to me
during games.
I also feel like
I've been stereotyped as "that smart kid." Even though I
would always work hard and stay up late every night to maintain my
grades, people would always assume that I got good grades because I
was just innately smart. Even at Notre Dame, people will say that the
only reason why I could code a certain thing or pass a certain
interview was because I was just naturally smart. Very rarely would
people acknowledge the hard work that I've put in over the years.
Additionally, people would assume that I had everything "under
control" and never had to worry about anything. Thus, when I
actually did struggle, I had no one to turn to for help and just had
to act like everything was okay.
I have a pretty
cynical view of the world. I think most success and failure can be
attributed to your appearance, rather than the hard work you put in.
Of course, if you have good grades and skills, you might be able to
find a good job and make a lot of money. However, I don't consider
that by itself successful. For me, your friendships and relationships
are the most important elements of a well-lived life. For this
reason, I don't really care whether I become a millionaire or change
the world.
Request:
@pbui - please don't bring this up in class as I feel like some parts
are a bit too personal
Saturday, August 31, 2019
Writing 00: What does it mean to be ethically responsible?
For me, it is rather difficult to define an ethically responsible person. I think the most important quality of being ethically responsible person is considering the effect of our actions upon others. However, in my opinion, there is an important caveat to this that one must not ruin one's livelihood in order to promote the common good. In this sense, I believe my primary ethical framework would be a mix between Utilitarianism and Egoism.
In the context of Computer Science, this framework entails that it is morally permissible for a ethically ambiguous employer such as Facebook or the NSA provided that you work within your capacity to do the right thing. For Facebook and the NSA, that would mean speaking out against abusing user data for company gain in as many opportunities as you can without overdoing it and losing your job because of it. Of course, an act such as whistleblowing would certainly be ethically supererogatory in my eyes. However, I don't think it is write to claim that whistleblowing is ethically required if you know of wrongdoing within your company. As mentioned in class, I believe that we should do what good we can within our means. In other words, we shouldn't necessarily sacrifice our livelihoods and careers in order to do the right thing.
One of the reasons I stress acting ethically within our means is my experiences abroad in Japan. In Japan, there is this idea that one must always put the general community over oneself. While in theory this mindset is intended to encourage people to act with kindness and proper manners, I found that in reality this thinking encouraged the brutal cycle of overwork and lack of self-care. This idea also encouraged a culture of shaming in which people would be criticized for not giving back enough to their community. For example, there is a notorious problem in Japan in which elderly people are neglected by their families since they are seen as dead weight and a burden to society. For these reasons, I strongly believe that some sense of self-care and self-interest is a necessary component of a good ethical framework.
How can we do the right thing "within our means?" I believe as programmers acting ethically within our means entails being responsible for the code we write and the code we review as much as possible. When we create programs, we have to take ownership over the user experience and the effects that our programs have over others. For example, if you write a program that accesses and stores user data, then you should strive to the best of your ability to protect that data and limit access only to the most critical systems that require it. In the case of code review, you should push back against malicious or incompetent use of the data. In this way, you can still achieve good in your everyday life without having to destroy your life in the process.
Another way in which we can achieve good within our means as computer scientists is by giving back to the community through open source. Open source software is a great avenue for spreading our talents far and wide to the global community. It is also an opportunity to do volunteer work while achieving personal growth and satisfaction. For me, I have found a lot of value in sharing my work through open source and receiving help in return from the community. It really is a great positive feedback loop that benefits everyone.
In conclusion, I think that you should strive to be an ethically responsible person. As humans, we are nothing without community. In order to maintain and improve our community, ethical responsibility is a requirement. However, I don't believe that we should sacrifice our livelihoods in order to achieve the greatest amount of good possible. Thus, like with many things, we should strive to find a balance between ethical responsibility and our personal obligations.
Subscribe to:
Posts (Atom)