The Journey

February 25, 2017 • ☕️ 3 min read

InterviewCoding

I did it. I am done searching for my internship this Summer. Before I talk about the job, I will tell you about the long and tiring journey I went through to gain this amazing opportunity.

During Fall quarter of sophomore year, I was taking my first Informatics course on databases and was pumped to look for jobs as a Database Administrator intern afterwards. I created a lacking resume which was copied from the resume template from the iSchool career resources. Now that I think back, I was pretty optimistic about getting a job with all the skills I had. However, the search was not easy. I did manage to get a few interviews, but I failed horribly without understanding why. What I was lacking the most was skill. In a way, I was the naive undergraduate who thought he could get any job he wants because he learned some SQL.

Later, during Spring quarter of the same academic year, I took a class which shook my world, server-side web development. This course is considered one of the most tech-heavy courses in the Informatics program where you are presented with challenging assignment. You spend most nights with reduced sleep to get the assignments done. The final project for that class is the one I always mention to recruiters during my elevator pitches and interviews. There are so many aspects to talk about from that class which highlight the technical difficulty and the amount of knowledge I have gained from taking that course.

By the time I completed the server-side web development course, it was too late to find an internship. I applied to around 10 companies, hoping to get at least one. I got rejected by every single company I applied for. Eventually, with the small amount of luck I still had, I managed to get an internship as a back-end software developer for a startup. I did an in-person interview, followed by a coding project before getting the offer. I was told to come and start working the following week. This occurred one week before my flight to Korea, which I was planning for in the case that I failed to get an internship for the Summer.

The following academic year, I knew I would be able to land a better opportunity job with additional benefits, however, this wasn’t the case. I was certain that I would get an offer before February 2017. And I had set a higher expectation for myself to get a job from a well-known company. As ,C.K., my server-side web development instructor said, applying to companies is a numbers game, you just have to apply to more and more places. And I did. I took advantage of every career fair I came across and applied to any company I could possible think of. I maintained a list of all the companies that I applied to and the interview process of where I got up to. The list grew to 40 companies in no time. Out of the 40 companies, I got online coding challenges from 2 companies, and 4 rejections right away. The other 34 didn’t even bother to reply. After some time, realizing that I am not getting any more responses, I got a bit nervous and looked for more companies to apply to.

I applied to about 30 more after, out of that I got 9 more online coding challenges and phone interviews. It seems that applying online got me a few chances, but in-person conversations from career fairs have given me a much higher chance of actually landing the interview. What I hate about online coding challenges is that really challenging questions are given with a short time limit so I never finish any of them. On the other hand, in-person interviews are much easier. Even if your code doesn’t work when compiled, the interviewer can evaluate your thought process. Memorizing syntax is really not important, it’s more about understanding and coming up with a approach to solving the question. Also, you can get instant feedback. When I interview, I can roughly tell how I did based on the reaction of the interviewer.

Studying coding problems in preparation for the interviews was another frustration I experienced. Interview questions, in general, has no relevance to an individual’s coding ability. The system itself is not great, but yet I cannot propose a better alternative. Every Saturday, I would attend a coding challenge study group with my friends. I’ve studied with the group for about 2 to 3 months now. For interviews, I would usually prepare for well-known data structure and algorithms questions. However, design questions were what I did not deem important until I was told that I would be given one for one of my interviews with the company I will be working for.

I hate the facebook posts of people announcing that they’ve secured a job. People who are not yet in the process of getting a job can get the wrong impression that getting into a major will easily lead to a internship or job opportunity. The part of the process that contains the rigorous practice and time spent learning material to secure an offer is swept under the rug and hidden. A reward never comes without great effort. With that said, I am happy to announce that after my long journey, I will be joining the Hudson’s Bay Company Software team for an internship opportunity during the Summer in New York.