Hi! My name is Vincent. I have recently experienced the agonizing journey of finding a job as a new graduate. After 7 months of interviewing with 42 companies for 45 positions, I have finally landed a job at Apple as a Software Engineer! Since data-driven everything is so hyped right now, I thought it would be cool to share the data I have collected and subsequently, talk through my experience.

Happy reading! :)

1) Results

Let's start off with the results just to get some perspective. I applied to 270 positions. Most of the applications did not receive any response, while 62 of them were outright rejected and not selected for interview. I constantly got hit with "Unfortunately, we have decided not to proceed with your candidacy".

With the 45 interviews I had, I declined 12 of them because I did not see fits in either culture or job duty. In the end, I received 3 offers out of the 33 interviews I pursued to the end. The math turns out to be:

16.7% probability of an application turning into an interview.

of an application turning into an interview. 9.09% probability of an interview turning into an offer.

of an interview turning into an offer. 1.11% probability of an application turning into an offer.

These odds are horrible. There aren't really good gauges of whether or not you will get a job. I would come out of an interview feeling like I just had the picture perfect conversation:

Answered all questions correctly A lot of laughs with the interviewer Interview went overtime because we were so into the conversation Interviewer said "I look forward to working with you!"

Then I would get rejected in a few days. Sometimes it's because the interviewers vibe better with other candidates, and sometimes it's due to budget reasons. It is very likely you please an interviewer the same way you can annoy another. Something such as seriousness can be taken both positively and negatively. It is truly a luck game.

2) Preparations

During this time, I heavily limited many of my non-job search activities such as sports, gaming, socials, and sometimes academics; I put my life on hold to dedicate myself to finding a job. I really resonated with the quote "If you want to be successful, you have to be willing to disappear for a while."

In the beginning of the search, I was given many coding challenges from companies. Honestly, I failed most of them. I either did not complete them in time or could not find the optimal solution. To improve, I studied for interviews on average three hours per day. The studying started with practicing coding questions on LeetCode, HackerRank, and CareerCup. I then bashed out questions on a white board with friends, and opted for Glassdoor to research the company I was interviewing with.

As time progressed, I became more satisfied with my technical performance and started to pass coding challenges. However, I still couldn't even get one offer. Most of the time, I would leave the interview knowing I did well technically, but I felt no connection with the interviewer. It became prevalent that the problem stemmed from my lack of communication skills. I began to practice public speaking, and it slowly began to pay off: I finally received on-site invitations and ultimately, offers.

3) Applications

I applied to anywhere and everywhere that I saw fit. As a new grad who was also new to LinkedIn, my network was very limited. I initially reached out to people I previously interviewed with and the few connections I had through mutual friends. Besides these connections, almost all of my applications were done through the company's website. To find out which company is hiring, I used LinkedIn Jobs, Indeed, Glassdoor, and this listing for Bay Area companies.

Few clarifications:

LinkedIn Recruiter = recruiter reached out through LinkedIn.

LinkedIn InMail = messaged a recruiter or hiring manager on LinkedIn.

Aggie Job Link = University career website.

Email In = emailed a recruiter or hiring manager after finding their information online.

LinkedIn = applied for a job through the easy apply button on LinkedIn.

After applying to dozens of companies for what seemed like forever, I started reading articles on how to cold message people. The results were astonishing. Out of the nine cold messages I sent, I received five replies for interviews. That's 55.5% chance!

If you have read any guides on job hunting, you have probably heard the phrase "talk to a real person". From my experience, reaching out to a real person, even if you don't know them, has a higher probability of turning an application into an interview versus simply applying through their websites. Cold messaging (hachoo!) is also extremely easy with the help of LinkedIn. I just typed "[Company Name] hiring [position]", and I found results instantly. Fun fact: Apple was a cold email :)

4) Interviews

I started my search near the end of September 2016 and accepted an offer on April 14th, 2017. Throughout the interviewing process, I tried to line up as many interviews together as possible with 15 being the peak for concurrent interviews. The process spanned over 203 days. Interestingly, Winter had the least number of concurrent interviews, probably because companies were budgeting for the new year.

For software engineer positions, most interview agenda consists of 3 rounds: a coding challenge or recruiter call, a phone-interview, and an on-site interview. However, that heavily varies from company to company.

I had 33 applications where I interviewed until I got an offer or rejection. There are a total of 10 times where I reached the last round of interviews, highlighted by the numbers.

Interviews usually took about one week to get a reply. I spent a total of 6,240 minutes, equivalent to 104 hours interviewing.

Applicant screening methods such as behavioral surveys and coding challenges take the longest time for reply, while hiring managers can reply with a decision within one day.

Questions I like to ask during an interview:

What is the technology stack?

What on my resume stood out to you?

How would you describe the general culture of the company and the workplace?

Can you talk about a real life example of something a software engineer worked on?

In the case I am hired, what would be some projects I will work on?

Can you walk me through an average day for you?

Where do you see this company heading in upcoming years?

What is the next step of the interview process?

5) Lessons

Learn-by-doing. The more you do something, the better you get at it. I sucked at interviewing in the beginning, but now I'm better ;) It may take a while until you get your first offer, but once you get that offer, everything speeds up. Supply (you) is almost gone, and demand sky rockets! Give more than 1 answer. At some point, just answering the question is not enough. Interviewers want to hear that I can think on the spot and not just recite something out of a book. Say something along the lines of "if it was [case 1], I would do [solution 1], but if it was [case 2], I would do [solution 2] ..." It IS personal. Each interviewer comes into the interview with some kind of bias. Whether it is bias towards ways of answering questions, or idea of a perfect candidate. It is impossible to guess what your interviewer will want, but you can LinkedIn search your interviewers, study their experiences, and steer the conversations toward topics that they are interested in. This method really helps, and was my go-to way of having a good conversation. Get Streak for Gmail. Streak enables you to see if your email has been read. No longer do you have to stress over whether your recruiter is "seen zoning" you or just hasn't gotten to the email yet. It was a real stress reliever. Do not stop applying. In November 2016, I stopped applying since I had 10 concurrent interviews and thought I would at least get one. However, I dropped all the way down to 3 outstanding applications, which made me panic. Obviously, I didn't get anything :( After that, I kept applying even when I had 15 concurrent interviews and received offers. It's a good way of keeping the ball rolling until signing.

6) Thank you for reading!

I know job hunting is hard and stressful. I was definitely privileged enough to be in the most wanted field at the moment with 270 job postings. There has been a lot of times where I questioned whether Software Engineering was really for me because I constantly got rejections. But this quote from Parks & Recreation really helped.

"How we deal with tragedy defines who we are. I used to be terrible at it. Beyond terrible. You are not going to let this deflate you. You are going to pick yourself up, dust yourself off, and we will figure out what the next step is." - Chris Traeger

You have probably heard this before, but you really have to keep pushing through all the rejections. It will all be worth it in the end!

Please feel free to message me if you have any questions or just want someone to talk to. If you like what you read, hit that Like button below. Thanks! :)