Month: September 2019

Writing 03

In the computing and technology industry, many see diversity as an issue in the computing and technology community. But what does diversity mean, what does perfect diversity look like? After giving it some thought, diversity, in my opinion, is the equal representation of all groups in a community such that there is no majority or minority. Obviously, achieving such a state of diversity is almost an impossible task, but we can still make efforts to pursue it. While striving for diversity is good for helping out the underrepresented groups in a community, we shouldn’t mindlessly follow it without first understanding its purpose. The point of diversity is to make minority groups feel more comfortable with other members in the community. It isn’t that we need more diversity, but we need to better pursue the goal of diversity, which is to make everyone feel welcome. In order to make everyone feel truly welcomed in a community, it requires effort from everyone, even from those in underrepresented groups. If everyone looks beyond the race, ethnicity, and gender of each individual in the community and see these individuals as just fellow programmers, then perhaps the situation would change. Minorities wouldn’t be so dependent on needing more members of their own kind to feel welcome, and maybe the lack of diversity wouldn’t be such a big deal.

Everyone knows that the computing and technology community is dominated by males. In my opinion, the reason that women are lacking in number is not because men are better than women but rather due to the strong inclusive image of the computing and technology community. When a Facebook recruiter visited Notre Dame, one comment that I remember him saying is that even if Facebook accepted all the female candidates who applied, there still wouldn’t be enough female employees to balance out the gender ratio in the company. His comment suggested to me that the problem lies with the male stereotype that defines the engineering community, which, in turn, dissuades women to want to participate in such a community. In order to build a more welcoming and diverse community, the first step is to break down the male dominant image that currently reflects the people in computing and technology. One such idea would be to introduce programming or technology in general to children early in school, emphasizing that it’s for anyone and not just geniuses or even guys. My sister, who was not interested in engineering before, joined Girls Who Code last year and was able to find her passion for coding after joining the club. Clubs like these may be small steps towards diversity, but they are slowly breaking down the stereotypical, male image that has discouraged women and even minorities to pursue a career in computing and technology.

Ultimately, the lack of diversity still remains a problem, but perhaps diversity is not the primary barrier to building a good community. Rather than solely focusing on improving underrepresentation according to demographics, everyone should strive to adopt a good mind and treat others not by their race, ethnicity, or gender but as another programmer like ourselves. Furthermore, with the help of early coding exposure to school students, we can gradually erase the exclusive image of computing and technology communities and welcome anyone who’s interested in joining a one big, happy coding family.

 

Writing 02

In the tech industry, the hiring process that most companies use to assess potential candidates is not the most efficient approach in selecting new hires or interns. Nowadays, the hiring process adopted by most tech companies generally involves solving coding problems, which I believe is not the best way to assess someone for a software engineering position. Although I disagree with the current approach for hiring, I am forced to yield to what companies are looking for and get better at solving coding challenges. In order to prepare for such a hiring process, my primary source of preparation has been LeetCode. It has the best collection of coding problems that accurately reflect the type of questions that applicants would normally encounter in an assessment or interview. Solving problems in LeetCode during my spare time has tremendously helped me in my preparation for software engineering interviews, especially for the technical sections. During my spare time, I also worked on a personal project, which allowed me to showcase some of my skills and passion to my interviewers. Because I was into video games outside of programming, I decided to create a social media platform for League of Legends. With only a year of experience in programming, building such an application was a great challenge, but I was able to learn so much from it. In my journey, I got to learn about new technologies, like React.js, Node.js, and MongoDB, building a web application from scratch, and deploying my own application on the cloud. Whenever I am asked to share a project that I’ve worked on, I always like to talk about this one because it best reflects my passion for programming. Notre Dame has also played an instrumental role in helping me prepare for the hiring process. Beyond the required courses in the Computer Science curriculum, one class that helped me in particular is Bui’s Programming Challenges class. That class gave me early exposure to technical interview questions by challenging me to apply the concepts that I’ve learned, like data structures and algorithms, to solve problems with code. I don’t think I would have passed some of my interviews if I didn’t take this course.

Despite all this preparation for the hiring process, the work life is completely different than what the interviews assess. Based on my summer internship, my experience had nothing to do with solving coding problems. Instead, I had to participate in several meetings for standup and sprint planning, cooperate with my teammates, and quickly adapt and expand on the already implemented infrastructure. In other words, the key qualities that I found were crucial in thriving in a tech environment were communication, teamwork, and adaptability. If I were running the hiring process, I would relieve the focus on solving coding problems and place more emphasis in personal projects and interaction with other people. Ultimately, I view the overall hiring process of the tech industry to be ethical, but I can’t help to question whether it is an efficient, effective way to measure a candidate’s fit for the position when the actual work entails doing more than just solving coding problems.