An intern's views - How I got here
AKA, how I got an internship in Google. In case you were wondering why the actual title is so obscure, it is because I want this article to be mostly linked by the rest of the (monthly) articles in this series (I'll update the links as I write them)
- An intern's views - How I got here
- An intern's views - A month's end at Google
- An intern's views - How far have I come?
- An intern's views - End of diary
So, for those who know me, you'd know that getting into Google had been my "dream" for a long time. And by long, I mean like when I was in class 8th/9th, and I barely knew what programming meant. I used to look at tech companies and read an article about how good the Google offices are, and the thought of me working there just stuck. Let's go through the things I think are important.
A Fair Resume
I originally wrote "A good Resume", but frankly, I have seen people with not a lot of experience get into Google, so I'm revising it to say "Fair".
I don't think this needs to be explained much. If you are from a good college, have a fair CPI, it should be enough to get you an interview. If you don't, you'd need some good projects up your sleeve, or good performance in programming competitions. They don't expect you to be great, because contrary to our belief, undergrads aren't expected to know everything in the whole universe.
One thing I would like to stress though is not to pile up your resume with weak points just to make it longer. If you are a B.Tech. student, a good resume would be around 1 page, unless you have done tons of projects. Truthfully, most resumes that I've seen students make, are pretty long, and while its nice that you are proud of a lot of things you did, do you really think that a Google recruiter would give any weightage to the fact that you won the blindfold Rubik's cube national competition?
Your Resume needs to be made differently for every company to apply to, and I would suggest that you keep only the most important points on your Resume if you apply to a Tech company like Google.
For reference, here is a snapshot of the Resume I submitted to Google - Short, Sleek and to the point. You can compare it with a recent copy of my resume here.
With fear of stating the obvious, to get into Google, you need to apply to Google. I mean really?
Take my college for example. We have a placement cell in which students register for campus placements. Now, if you sit for campus placements, accepting an outside offer causes you to be labelled a "defaulter". What this means for you is that you are allowed to sit for only 2 companies in campus placements in the first week of next year.
This is one of the only things I don't like about my college. Look at this from a game theoretic perspective. Let's follow a person's thought process:
- If I get the placement penalty, I'll get to sit for only two companies in my final year.
- If those two companies don't select me, I'll be jobless.
- I don't want to be jobless.
- I can't take penalty.
- I have two choices, either only apply for campus placements, or only apply outside.
- There's a higher chance to get a job via campus placements.
- I can't sit for outside placements.
- I won't apply to Google.
Unfortunately, I saw tens of people follow this thought process. None of them even tried to apply to Google or Facebook or Amazon or any of the amazing companies that didn't visit our college.
There's nothing wrong with the above thought process, but if you would allow me, I'd want you to ask yourself a couple of questions.
- If you get selected by Google, do you really think those 2 companies would reject you?
- If you can get selected in Google, can't you similarly apply off-campus next year as well?
- If you get selected in Google, would you really not go just because of a penalty?
- If (3) was yes, you'd actually get to reject Google! Wouldn't that boost your morale?
The truth is, people don't apply because they are lazy. Campus placements are easy, they are less scary and completely inside our comfort zone. Nobody likes getting rejected, and to apply to a company that they think is beyond them, when they already have an acceptance, is useless effort. Sigh
They are somewhat right. Getting rejected is no fun. Hell, I got rejected by Facebook after some pretty good interviews, and the only suggestion I got from my recruiter was "definitely encourage you to communicate more effectively during an interview". It will take me some time to work on that...
Now that I've completely lost your attention, let's get to how you can actually apply to Google. There are primarily two ways.
The first is to apply online through Google's portal. If you are a first or
second year undergrad, you can apply for an Engineering Practicum Intern
which I didn't know existed as pointed out by Bhavishya in comments,
apparently only for students from North America :/ ), and if you are third year
or above, you can apply for a Software Engineering Intern. You can view the
exact details on https://careers.google.com.
The second is to apply through a referral.
The catch is, when you apply through the online portal, there is some chance that your resume would not pass the automated screening. While Google does a good job of selecting good resumes, there still remains a possibility that your resume will never be seen by a real person. If your resume is not machine readable for example, this would dump any chance of your getting selected (or even getting shortlisted).
Applying through a referral ensures that your resume will be seen by a real person. Sounds like partiality? Well, yeah, sort of. The fact is, successful referral incentives mean that the Googler referring you would actually ensure that you are a good candidate before forwarding your resume. This is like a spam protection, and will prevent resumes filled with singing and table tennis achievements from reaching a recruiter.
Now, for my friends at IIT Kanpur, I would like to tell you that you have absolutely brilliant Alumnus with a lot of them working at Google, Facebook and all the other top companies and it would be very easy for you to take the second procedure above. Consider yourself very lucky.
In my case, I didn't take a referral from an Alumni, but rather from Google Summer of Code. I have blogged about GSoC before and so feel free to read about it more. Basically, on successful completion of a project, GSoC provides you with a one time Google Referral that you can "redeem" any time in the future for any position you wish. Since I was interested in the internship, I took the referral and applied.
So you apply, and wait.
Until someone from Google either mails you, or calls you.
Oh shit, oh shit, oh shit!! I got a call! Now what?
Dance. I mean it. You have crossed the most difficult part. Now the rest of the process is easy to follow, because its pretty straightforward. You schedule the interviews with your recruiter, and the person calls you for the interview at the exact schedule time. You try to answer the questions and code the problems the best you can, and wait for the next call/email. If you get through all interviews, Congrats!
This is also the point when any favoritism ends. It doesn't matter how you applied, who you are, where you are from, how your resume was. After this point, you will be judged solely on your performance in the interviews.
So you can get articles like these anywhere. Why read mine? Because I like to include personal experience, and I wish more people did. It helps a lot to know what to expect at each step of the process. So let's go through the timeline - or rather how much I was made to wait for every step of the road.
|23rd Sep||I mailed GSoC support asking for a referral|
|26th Sep||GSoC support confirmed that they had received my request|
|11th Oct||I got a mail from Google recruiter about scheduling my interviews|
|17th Oct||They confirmed the date of 26th October for two, one hour, interviews|
Two interviews, each lasting for about 40 minutes + 10 minutes random talk.
The interviews were over the phone, with laptop for coding online.
Learnt never to ask for interview over phone.
The voice was choppy, and combined with the interviewer's accent, I couldn't understand anything. Went OK, not too good.
|2nd Nov||They asked to schedule one more interview - I requested an interview over Hangouts instead|
|7th Nov||Next interview was scheduled for 17th November|
|17th Nov||Interview on Hangouts. Voice was clear, and interview went much better.|
|6th Dec||They confirmed that they are moving forward to the project matching (I had 6 weeks to get selected for a project)|
|7th Dec||Recruiter called and explained the next steps|
|8th Dec||I had to fill a form on my interests and strengths to be matched to a team with similar work and interests|
|13th Dec||I receive rejection mail from Facebook. I cry.|
|14th Dec||Back to Google: Recruiter informs me of a potential project
host who wants to interview me!
Interview scheduled for 15th December (EST) or 16th Dec (IST)!
12:15 AM - Interview for about 30 min. I loved the project
and talked enthusiastically
4:04 AM - Recruiter mails me to tell that the host would love to work with me 😲
4:08 AM - I confirm that I would like to work in the project as well.
4:15 AM - Recruiter replies with steps to complete offer acceptance
Few random points about the interview
I had to give three technical interviews, and one project interview. This would be different for different people. Usually, they start with two technical interviews, and if they are not sure, they take one more. Once the technical interviews are done, one of two things can happen - Either you get an offer first, and then you sit for project interviews (with much less pressure, since it is no longer deciding your fate), or as in my case, you'd be asked to sit for project interviews, and you'd get an offer IF you get selected in a project within 6 weeks.
For me, the project interviews were easier, because I experiment a lot with random tech and software, however, for many people it does take 6 weeks and it is possible for you to not get a project at all. All I can say is that gaining knowledge beyond your college books would help a lot.
Contrary to popular belief, the interviews are NOT tough. The questions asked in my technical interview were the sort of questions you would expect on the mid term exam of Algorithms and Data Structures. They focus on your ability to code the solution you propose, and how efficient and clean your solution is.
During the project matching phase, telling your recruiter about your strengths and interests would help as he/she would be able to match you with relevant teams more quickly AND you would be able to get a team you'd enjoy working in (win-win).
This is all I can remember about my experience for now. I may update this article with more points as I remember them. I know the whole article has been unstructured and jumpy, and its mostly because I waited too long to write this article and now "fragmented" is exactly how I would describe my memory of the experience. If you have any specific questions, ping me on Facebook. You'll find the contact details on the "About Me" page on top.
I'd only leave you with one thought. Do you really think you would regret the experience even if you tried and failed?
Next in the series: An intern's views - A month's end at Google