rzsun blog about photography

On Recruiting

We are heading into recruiting season and I know many junior/seniors are stressed out right now. I was in the same situation two years ago (as well as one year ago) and remember how stressed I felt. I wanted to share my experience to provide a personal account of how I found an entry-level job despite some initial hardships and to hopefully motivate those who are in the same boat.

Intro

Two years ago around this time, I was starting my junior year at UCLA. However that was all I had going for me. I had never held an internship and did not take any of my courses seriously - resulting in a low GPA and a very shaky foundation of CS knowledge. Attending the fall career fair was a big wake up call. Many of the companies asked some basic weeder questions on the spot and I stumbled on many of them. Needless to say, after handing out 25~30 copies of my resume, I did not get a single interview or callback.

Studying and Getting a First Internship (Fall 2014)

At this point, I knew that I had to step it up. I began reviewing the textbooks and curriculum of core CS classes I never mastered (Data Structures, Algorithms, OS) and self-learning web dev (REST, AJAX) to make projects and build a portfolio. During this time, I was also furiously applying to internships online (now looking back probably not the best approach). Eventually a local small business interviewed me for a part-time internship during the year to work on their e-commerce portal. Luckily I had been studying and was able to pass the interview. The internship was unpaid. I am opposed to unpaid labor on principle but at this point I was desperate to add an entry to the blank “professional experience” section on my resume so I took the offer. The duration of this internship was 3 months.

Getting a Summer Internship (Winter 2014 - Spring 2015)

This next period was difficult because I had to balance school + internship + self-studying & making projects. It cut into my sleep and social life and I was pretty miserable. What kept me going was that as I was learning more about programming & web dev, I was able to see tangible personal progress through working on my projects and this was pretty exciting. At this point, since I had a better grasp of CS fundamentals, I added Cracking the Coding Interview (CtCI) and Programming Interviews Exposed (PIE) to my study list (highly recommend these books, both can be found on Amazon for under $30). I attended the winter career fair with my resume which was now updated with my part-time internship and projects. I handed out about 40 copies of my resume as well as applied to 350+ internship openings all over the country on Indeed, LinkedIn, etc. (extremely tedious, I know). Out of all of these applications, I received 8 interviews. 3 were from handing out my physical resume and 5 where from online (7.5% vs 1.4% response, probably because you can never be too sure where your online application ends up, I just received a few automated rejections recently, 1.5 years after my application).

Eventually I received a few offers from this batch of interviews and I narrowed my top choices down to two. One was from a small but established company and one was from a large enterprise software company. I enjoyed the culture and interview experience of the small company, however, I chose the larger company because I felt that having a well-known employer on my resume would open more doors down the line, especially since my resume was pretty mediocre otherwise.

Summer Internship (Summer 2015)

I mostly worked on implementing internal business applications during my summer internship. However, since I had been self-learning web dev all this time, I was more comfortable working across the full stack and worked on a more ambitious side project with a friend (BusLA, shoutout Byron Pang). During this time, I was also reviewing CtCI and PIE and doing mock interviews occasionally over the weekend. Not the most exciting summer but probably the most productive.

Signing a Full Time Offer (Fall 2015)

Eventually I returned to school and attended the fall career fair. I felt more prepared this time around. I now had two internships, a few small projects, and one large project on my resume (my GPA was better but still not up to par for some of the more competitve openings. However, I omitted GPA from my resume of course). I was able to breeze through all of the basic weeder questions which tripped me up a year prior. I talked to about 25 companies including a few that are known to be more selective and got ~15 interviews. I received some first round rejections early on. However, instead of getting demotivated, I used every interview, pass or fail, as a learning experience. I was able to make it some onsite interviews which were very fun since most companies provided/reimbursed transportation, hotels, and food. However they were also very physically taxing due to flying cross country and interviewing for the entire day. At the end of fall recruiting, my studying proved to be useful as I received multiple offers, including an offer for a certain Redmond-based software company where I’m working now.

Closing Remarks

My experience doesn’t deviate too much from common knowledge known by most CS students (do projects, study for interviews), but I hope it shows that many entry-level job can be within reach to all CS students (including those with a less-than-stellar academic track record like myself). I also want to note that although I took a job with a larger company, there are many companies out there that may not be as well known but can also provide a great experience. I enjoyed the work and culture of many of the smaller companies I interviewed with and their offers were very competitive as well. For the current junior/seniors - hopefully you found my experience to be helpful and I wish you the best of luck in your own job search!