I spent 12 weeks interning at Google in Mountain View in the summer of 2016, a dream job for me. I worked on the Android development team that shipped software to millions of Android phones. It was awesome being surrounded by other Android enthusiasts and working at Google HQ.
How I got an internship @ Google?
When I applied for an internship at Google I was a Junior studying Computer Science at a state school.
There’s generally 3 ways of getting into any company.
- Referral from someone who works there
- Meet at career fair or other recruiting event
- Online application (also known as the black hole)
These are ranked in order of the best way to get your resume in front of a recruiter. Referrals carry a lot of weight and are likely to get you a response. Career fairs give you the chance to talk to someone from the company and hopefully make an impression. Then, there is the cold online application process. Often times you won’t hear back from companies after you apply and it sometimes feels like you’re basically throwing your resume in the trash. Online applications are the least preferred way of getting introduced to a company. But if you have a good resume, there’s a chance a recruiter will pass you on to the next step.
I submitted my online application in the Fall of 2015 but did not hear back for 2 months. Luckily, Google happened to have some representatives at my campus to let students know about job opportunities. I told them about my online application and that I had not heard back. They told me to email them directly and they would get back with me. After my email, lo and behold I was contacted to do an interview!
The Online Application Process and Resume
As I mentioned above, the online application is the least preferred way of trying to get a job at a company. But for most people it is the only option.
Fortunately, I had a fairly solid resume with a few internships and projects under my belt. I’d advise any student to build out as much experience and projects as possible to build up your resume.
There’s tons of resources online about how to create a good resume, but here’s a link to a template I used https://www.careercup.com/resume.
Here are 2 tips that I think are important.
- Organization – Your resume should be very easy to read and well-organized. Recruiters read tons of resumes and you want to make it as easy as possible for them to read your information. Some people try having fancy designs, but in general I don’t recommend it.
- Experience – This is probably the most important section of your resume and for students it generally falls into a few categories such as internship experience, project experience, or class experience. You really want to stand out here. Ideally, you want good, interesting projects that you can talk about in detail and as well as internship experience with quantifiable results.
Interviewing at Google
Interviewing for software engineer positions is downright terrifying, at least it is for me. You’re given questions that test your knowledge on data structures and algorithms. Google’s bar for it’s interns is lower than for new graduates but it’s still not easy. When I interviewed, it consisted of two back-to-back 45 minute technical interviews with an engineer.
There’s a lot of good resources out there with information on how to prepare for technical interviews. One well recommended resource is Cracking the Coding Interview. Although, no matter how much you prepare, there’s still an element of luck involved. Sometimes you have a bad day and get some really difficult problems that you can’t solve. Other times, you get problems that you’ve seen variations of or have a pretty good idea how to tackle and things just work themselves out.
For me, the Google internship interviews were fairly straightforward and I did not feel like I had much difficulty with any of the questions. The interviewers were helpful and gave good tips when I needed them. I’d say I definitely got a little lucky with those interviews.
After I passed the technical interviews I thought would get the job. Although, Google has a process called host matching where you speak to different potential hosts for your internship. I ended up having to go through the host matching process without knowing for sure if I had a job yet. A host matching interview is really more of a casual chat between you and an engineer who will tell you about their team and their project. They basically get a list of all the interns that have passed the technical interviews and re-interview them for their project. Afterwards, they choose their top candidate and if that potential intern is happy with the host then an offer will follow. When I went through the process, they told me it could be anywhere from 6-8 weeks. I interviewed with 4 different hosts. The first three rejected me and I don’t entirely know why. Fortunately, I matched with my 4th host.
My first project was not well-defined. While I welcomed the challenge and liked the problem, unfortunately, it ended up being a dead end. I spent the first half of my internship talking to various teams about solutions and how to approach the problem. I wrote docs on what I had found and after 6 weeks I found out that another team had already started working on a very similar feature. After that, I was given sort of a dummy project that only involved a little bit of work.
Overall, I found my internship experience to be lackluster. In hindsight to my current job, I did very little during my internship.
I think when you have a company with tens of thousands of engineers, plus managing interns, then things can get misguided.
One of the unique things about an internship at Google is that at the end of the summer if you want to get a full-time offer you actually have to re-interview. You have to do 2 in person whiteboard interviews. That and your internship performance is factored into whether or not you get a full-time offer. For me, I did not do well enough on the interviews and unfortunately I did not get a FT offer. Getting rejected was devastating but I loved working at Google.
My final piece of advice is that there are tons of good companies out there and it’s important to find one that suits your preferences and goals.
Cracking the Coding Interview by Gayle McDowell – Highly recommended interview preparation book with lots of example questions and how to approach them.
Leetcode – Website with tons of example problems.
Pramp – Practice interviews with others.
Interviewing.io – Similar to Pramp,but you interview with real engineers and can do anonymous interviews with real companies.