Project 2: Interview Process Tips

For Project 2, our group wrote a guide for Notre Dame underclassmen computer science majors to help them through the interview process as they search for internships and jobs. The guide is meant to be a poster that will be blown up (the letters are small in the pdf). A pdf of this poster can be found here:

Project 2 Poster Board

From my experience, one of the biggest pieces of advice we give, one that we try to emphasize over and over again in the document, is to show passion in interviews. Being excited when talking about past projects shows the employer that you can get into your work and do it will. You should be able to show them that the work that they will give you will get you excited to. A student with an average GPA who talks passionately about a project they did will seem more desirable to a company than a stoic student with a great GPA. In every single interview I had for my internships, I talked about my Eagle Project. I talked about why the project I chose was important to me. I talked about how I raised money, how I coordinated labor, how I gathered supplies. And I also pulled out my phone to show pictures of the finished project to show the interviewer. I showed that even a project I did when I was 17 made me passionate to work hard and create a beautiful and high-quality finished product. The advice to speak passionately was given to me by Professor Bowyer during JPW, and it impacted me so much, helping me ace interviews.

College being viewed as a place of learning rather than a place meant for job-training is idealistic, but I think more job-training courses would be extremely helpful. I had never worked in an office before last summer during my internship, and had no idea what office life was like. Just as an example, one part of office life that is so important, but we never talk about as CSE students, is HOW IMPORTANT using Microsoft Excel is. Almost everything in my office was done on Excel. All pieces of data were put into spreadsheets, conference calls always had spreadsheets being screen shared, and in my first week I was asked to make a macro for Excel. I had not used Microsoft Excel since High School, and yet it was something I used every day at work. Why had this never been mentioned at school? Not one single CSE class had us use Excel or even mentioned how prevalent it was in the real world. I definitely think the current CSE curriculum at Notre Dame is good, but just a single class about real-world problems we’ll have to deal with when we’re working would be extremely helpful. I felt like I was caught off guard once I stepped into an office, and I would have been much more comfortable if Notre Dame had taught me what I was up against.

General Codes of Conducts

In this blog, I’ve already wrote about why I think it is important to create a code of conduct, not just for a company, but for any group that works together. We even wrote our own Code of Conduct for Notre Dame CSE students. The Code itself, as well as my opinions about the importance of creating codes of conduct can be found in this post:

https://cclark17.wordpress.com/2016/01/28/notre-dame-cse-code-of-ethics/

I do want to delve into this subject a little more though. After reading some of the other codes of conducts, I was surprised as to how general the rules were. For example, when reading Django’s and Ubuntu’s Codes of Conduct, I was expecting that the rules would be focussed on technology in some way, or at least be presented through some type of technological lens. On the contrary, the rules were extremely general, and it could have been the Code of Conduct for any group or business. It had little to no rules about technology or code, as the ACM Code of Conduct had. Some of the rules looked like they could have been taken out of the Code of Conduct for Target, Goldman Sachs, or even Notre Dame.

I do actually like the generality that Ubuntu and Django uses in their Codes. It illuminates the universal nature of certain values, like “be considerate,” “be respectful,” “take responsibility,” and “highlight the great work of others.” All these values are presented so generally, because they should be practiced in all businesses.

However, I would like to see an additional section of the code that focusses in on more specific ethical dilemmas that the company faces. Our team liked the ACM Code of Conduct so much because we could relate to the Computer Science-related rules. Since every company has its own unique issues, I believe that it is import to create company-specific rules in a Code of Conduct to use when those company-specific issues arise.

Burnout

My everyday life as a college student when I was a Junior was as follows: try to wake up at 10:15 AM to make my 10:30 class. If I pressed the snooze button a few too many times, or if I was feeling especially tired that morning, no big deal. I could miss my first class of the day. With only two or three hours of class each day, I was free to take naps, relax, or watch TV in all my free time. However, I knew that I would have to change my habits to better adjust to my new schedule when I started my internship in the upcoming summer. I had no idea what was in store for me.

Summer began, and so did the internship. I was told to report every day at 7:30 AM. Unfortunately, my office building was in Midtown Manhattan and I was living at home in New Jersey. The commute was an hour and a half each way. That meant that I had to wake up at 5:30 AM every morning, five hours earlier than I would wake up in college. I would drag myself to the train station at 6:10. When I got my usual seat on the train, I would have to use every ounce of energy I had to keep myself awake. God forbid I fall asleep and miss my transfer stop. It was a grueling process every morning. The commute home was even worse. At least only a few people commute to Manhattan so early. Unfortunately, EVERYONE commutes home at 5:30 PM. The commute home was always more crowded, more frustrating, more delayed, and always took longer.

I got home on my first day at 8:00 PM and I was exhausted. I ate dinner at home and fell asleep by 11:00 PM. The cycle began the next day. The early wake-ups mixed with all the time sitting on the train, sitting in the office, and sitting on a train again caused severe burnout. Especially with the lack of free time once I got home, I felt like I was only doing work. I had to find a way to reduce this burnout.

Very much like Andrew Dumont’s “Avoiding Burnout” article, I found that exercise helped. A sedentary lifestyle, sitting on a train and at a desk all day every day, was such a change from college life, where a pickup game of basketball or a game of quad football was just a short walk away. Luckily, my building provided a gym for employees, which I took full advantage of. I used my lunch breaks to lift weights. The workout was also a nice break from any monotonous work I was doing. After the workout, I would grab a quick lunch and bring it back up to my desk to eat. Also a tip from Dumont, I tried to eat healthy for lunch each day. I felt the most energetic during the day when I didn’t eat heavy or fatty meals. The need to work out and eat healthy every day also stemmed from my fear that the new sedentary lifestyle would negatively affect my health.

Since after graduation, I will work full-time at this same job, and I’ll still be living at home in New Jersey, I will have to find more ways to prevent burnout. I already have some ideas. I’ll bring books to read on my commute to help me stay awake and stimulate my mind in subjects unrelated to my work. I’ll try to be involved in groups or clubs outside of work to extend the activities I do and people I see on a weekly basis. Lastly, I’ll try to take a break every once in a while from work to wipe the slate clean and help me recharge my batteries, and come back to work better and more energized. I do not want to be another helpless victim of burnout.

Notre Dame CSE Code of Ethics

CSE_Code_of_Ethics

The Code of Ethics our group wrote was based off of the ACM Code of Ethics and Professional Conduct. We used the weaknesses we found in this document to mould our own code, and create the best set of ethical rules we could to guide the Notre Dame CSE students.

The first highlight of our code that differs from the ACM Code is rule 1.2: “Take action to avoid harm to other.” This is similar to ACM Code 1.2: “Avoid harm to others,” with the distinction that we added “take action” rather than just “avoid.” We believe it is not sufficient to just passively avoid harm. A truly ethical programmer will do everything in his/her ability to avoid harm, by means of taking the proper actions and precautions.

Another highlight of our code is rule 2.1: “Strive for academic success.” This rule is an important addition in our code because it speaks directly to the Notre Dame CSE students. By encouraging academic success in the classroom, this rule will train students to strive for success after their time in school as well. Being at this University is a blessing and an opportunity. To not strive for excellence does a disservice to yourself and everyone who helped you along the way to get you here. The same thing applies to life. Life is a blessing, so it is only right to strive for success in every aspect of your life. Otherwise, you are wasting the life and opportunity God has blessed you with.

Our code is not perfect. Although we strived to be as clear as possible, loopholes exists, and certain rules may be interpreted differently than we expected. The only cure for this is to make the code dynamic. It should be allowed to change as problems are found with it. Also, since technology is such a rapidly evolving field, it is inevitable that code will have to advance and evolve with it.

Creating this code was definitely a useful exercise as a Notre Dame CSE student. Having to actually think about and write down the ethical codes I believe I should follow made me more active in following them moving forward. If I hadn’t had to create a tangible code of ethics, I may have taken my actions for granted, not actively thinking whether or not the decisions I was making were ethical.

The Interview Process

Beginning my Junior year at Notre Dame was a stressful time for me. I knew that you were suppose to get an internship between your Junior and Senior years, so I was on the clock to make that happen. The big problem was that I had absolutely ZERO experience in my field. No prior internships, no big personal projects on my own, and no university research. What would make me standout to employers? What would I be able to talk about during my interviews? What would I even put on my resume?

The internship fair was a scary and unknown frontier. My plan was just to act confident and interested in any company I talked to. Beggars can’t be choosers, so I was just looking for anyone who was interested in giving me a chance. I finally made a connection with a recruiter who was a recent Notre Dame grad, and whose parents lived in the town next to mine. It was through this initial connection that started a conversation about the internship she was promoting. At the end of the friendly and informative conversation, I gave her my resume.

Shortly after, I received an invitation for an on-campus interview. I was excited that they liked me enough from the internship fair to extend the opportunity to interview. The interview was with another friendly Notre Dame grad, and all the questions were behavioral. I talked about the big project I did in Fund Comp 2, and also talked about my Eagle Project. I even showed her pictures of my Eagle Project from my phone. I wanted to convey that I could be passionate about a project, even if it wasn’t a computer science project.

After the on-campus interview, I was invited to a final on-site interview. This one would consist of three 30 minute interviews that would be a mixture of behavioral and technical questions. I had heard horror stories of relentless and almost impossible technical interviews from my fellow classmates, so I was terrified of that part of the interview. To prepare, I emailed the first recruiter I talked to at the internship fair asking for advice, and I also studied every shred of data structures that I had learned at Notre Dame. I still wanted to focus on being passionate and lucid in my interview, to show that even if I did not know a technical question, I had the capacity to learn whatever job that was thrown my way.

I walked into the interviews as confident and friendly as the two recruiters I had already talked with on campus. Surprisingly, I was asked mostly behavioral questions, with maybe two or three purely technical questions. I was never asked to code anything on the spot, like some of the readings alluded to, and I never felt threatened by the interviewers, as the “Interview Humiliation” article talked about. The only unfavorable part of the entire interview process was how long it took after the final set of interviews to find out if I had been offered an internship. Other than that, I have no complaints. In my opinion, the entire process was efficient, effective, and ethical. By being so friendly and welcoming throughout the process, the company ensured that recruits felt comfortable enough to share more and present the best possible versions of themselves.

 

Hacking

A hacker is anyone who uses his knowledge of computers to gain access, deny service, steal data, etc. from a system without the permission of the computer system’s owner. The spectrum of hacking has two polar ends: white-hat hackers and black-hat hackers. White-hat hackers try to penetrate system, with the computer system owner’s permission, as to find weak spots in a system and improve security. Black-hat hackers hack maliciously for their own personal gain. This spectrum has a lot of grey area in between, though.

Hacker groups like Anonymous have illustrated the ethical ambiguity that makes up the middle of the hacker spectrum. Most of the hacking that Anonymous does would be considered “Hacktivism,” hacking for some ethically or socially motivated purpose. However, unlike the definition of white-hat hackers I already presented, Anonymous still hacks without the computer system’s owner’s permission. For example, they hacked the KKK to release the names of previously anonymous Klan members. It is rather difficult to determine the ethicality of an act like this, and it further blurs the line of the ethicality of hacking in general.

Although hacking has many motives and characteristics that define in, I believe most hacking starts with curiosity, as the Phrack article explained. Most of the hackers presented in the many case studies in Kevin Mitnick’s book, “The Art of Intrusion,” are drawn to their act of hacking by curiosity at first. It is only later that motives such as money, cyber-terrorism, free services, and self-gain present themselves. I admit, I do get curious sometimes when exploring a computer system, but I wouldn’t say that I am so curious that I would ever hack into a system. Like I said in my introductory blog post, I was only introduced into the world of computer science in my sophomore year of college. I see so many of my classmates with years of coding experience, and a burning desire to code and explore technology. I see them learning new languages and writing code for fun during their free time. Because I do not have this background in technology, I also do not have the same desire. Whatever amount of curiosity I have, it would not encourage me to hack into a computer system in any free time I have. I simply do not have the desire. Unfortunately, many hackers do have the desire, and more importantly the skills to hack for malicious purposes.

Of course, if I had a job that required me to do penetration testing, where it was not only curiosity that fueled effort, but also career incentives, I would love to do some white-hat hacking. Another characteristic of hacking is trying to think creatively and do detective work. How can I access this system? How would a hacker try to access my system? It seems like a fun line of work. And there’s the key word: work. Without a desire to hack in my free time, I would require an actual job where hacking was the work, and the goal would be to improve security, not lessen it.

The Parable of Talents

My interpretation of the parable of talents is this: God gives us many gifts, and we must use those gifts proactively to serve some higher purpose. If we hide a gift, or do not let it flourish and grow, then that gift dies, and God’s work cannot be done. For example, if God blesses you with the gift of music, use it to sing His glory and inspire others to do the same. By doing so, the gift God has given you is used not only for yourself, but for others. A gift that is hidden cannot positively affect others, which gets in the way of God’s plan, and the gift goes to waste.

I have seen this proven so with my father. He has been blessed with the gift of music. He has volunteered for many years as my parish’s music minister. Not only did he use his musical talents every weekend during mass to lead the congregation in songs, but he also used it, along with his gifts of leadership and charisma, to lead a children’s choir and orchestra in our yearly Festival of Lights, a christmas celebration filled with liturgical Christmas songs sung by the older children, as well as a reenactment of the nativity and birth of Christ by the younger children. Every year, this concert inspires not only the hundreds of audience members in attendance, but all the kids who get to learn more about God by singing about Him and reenacting Jesus’ birth.

If my father had hid his talent, the Festival of Lights would never have happened, and God’s gift to him would have rotted away. Instead, he used his talent and multiplied it a hundred-fold by sharing and teaching it, inspiring so many and creating joy for an entire congregation.

I feel this parable can also apply to computing skills and talents. God had blessed me with the ability to learn computing skills and the desire to continue learning about it. Computing is a truly powerful thing when the gift is flourished in someone. Technology has the ability to help people and improve lives. Medical equipment, transportation, and even a slightly convenient iPhone app can improve the life of someone. I have the seed of computing ability within me, but to truly do God’s will, I will have to be proactive in my use and development of it, and use it to create applications and technologies to better people’s lives and let God’s will be done.

Introduction

Hi! My name is Christian Clark and I am a senior Computer Science major at the University of Notre Dame. I came to Notre Dame with the intention of being a Mechanical Engineer, but after my first year, I learned that I loved coding and hated differential equations, so I decided to switch into Computer Science.

After graduation, I will be working as a Technology Analyst at Credit Suisse in Manhattan. I will be working within the bank’s IT division in a global team that manages network and system operations for the Low-Latency Electronic Trading infrastructure.

I hope this class will give me a solid foundation of the ethical issues I will encounter throughout my career in technology. By preparing for possible ethical dilemmas, I will be able to make more thoughtful and informed decisions that ensure I am being ethical.

I took Computer Networking and Security last semester, looking at many different case studies of companies having security breaches. I am very aware of the precautions computer scientists have to take to ensure they are being ethical in keeping client data private. I believe one of the most pressing ethical issues facing computer scientists today is balancing the need to keep people’s personal data private with the desire to collect people’s personal data for things such as targeted advertisement, record keeping, statistical analysis, etc.