Google SWE Internship — The Why and The How
“I GOT IT. I GOT IT. Ok now slap me into reality, I got the offer for a SWE internship at Google. Yes, THAT Google.” — me when an offer e-mail came to my inbox 4 months ago. To my friends who found out about it, yes I was just as surprised as you all were. I mean, who would’ve thought that a dust like me would dare to even try? A human once dropped me a random question, “What’s your long-term goal?” — to which I answered “IDK man, probably work at Google, haha. Or perhaps sell handmade choipan in front of my garage.”
// The Why
Everyone has their own definition and measurement of success. To me, it was being able to go to the Apple Store and approach an attendant saying “Hi can I get a Mac, the big one, no pickles no onions, and some fries with that please.” without asking about the price at all. I could achieve this in many ways. I heard a story of an a-yi sending her two kids to study in the U.S. by selling choipan alone, but to me, one of the other ways to be successful was probably by being a decent software engineer. I’m still far away from my definition of “decent”, but I’m slowly drifting towards it.
Being born in a full-fledged entrepreneur family, I can say that I was all set to swing that way. Selling goods was and is one of my favourite daydream jobs. But the stress that comes with it? The level of uncertainty you have to face every single day? The financial risk that you have to mitigate? That might be a thrill to some, but that isn’t truly my cup of tea.
I’m not sure why I feel like I have to justify my reasons for wanting to join Google. But yeah, you know, I like Computer Science and stuffs. I like making things work, knowing how it works, and understanding why it works how it works — even if it takes my soul to understand the complex concepts like how the Raft Consensus Algorithm works (forgive me for being slow lol). So here goes my Why and my How of getting an internship at Google.
// The Serious Why
As Simon Sinek always says, Start with Why. I ain’t the number one fan of the Golden Circle but this is how I perceive the concept.
“Why is not about making money — that’s a result. Why is a purpose, cause, or belief.” — Mr. Sinek, describing the innermost circle.
Why did I try to get an internship? Simple answer, I want to get a full-time position at Google, and internships are one of the best ways to get it. But why? I want to work for products that have huge impact on people. But why? I want to make a dent in this world, so that when I cease to exist, I’ll believe that I helped make the universe shift to a better way. To be part of a product that is useful to a wide range of audience. That is my “target” for my career. Mentioning target usually needs a quantifiable metric though. But to this day, I still don’t have any.
Being a student who can barely afford a new pair of running shoes, buying software was not really a habit, unless I really need it. I have the tendency to use free services or open-source technologies, even if it means that I need to give my data in exchange (because why not, I love personalised contents). I am constantly exposed to a variety of products to survive my daily life: Google Calendar, YouTube, Spotify, WhatsApp, Visual Studio, IntelliJ, Google Drive, you name it. And so far, I am attached — if not, addicted — to Google products. Without Google Maps, I wouldn’t be able to drive more than 10km outside my house. I would be wasting much more time getting lost to find that local coffee shop I found on Instagram. Without Google Calendar, hell, my life would be scattered all around. I probably wouldn’t remember the date of my graduation or the time of that meeting with my project clients. These products are simple and accessible. Which is why it’s so easy to get attached to.
This kind of experience is what makes me super intrigued by Google’s impact on the world. When I was an intern in a startup, there was once a minor outage on one of Google’s products, and I experienced first-hand the chaos that follows. The impact — in this case, probably not a positive one — is vivid. My coworkers started looking for news. My friends started whining. Hundreds of rants from around the world on Twitter. It was instantly the talk of the town. This is the scale that Google operates at. This is the level of concerns that Google has at stake. And this, is also what inspired me to start my journey. I wanted to be a part of it. I wanted to know how they handle traffic, how they maintain their large codebase, how they standardise their processes among the ocean of engineers they have. So then I started looking for the How.
// The How
This is probably the number one question on everyone’s list when they heard about the offer.
“Congrats Wenny! How did you get it?”
One day I found a $10 note and bought a chocolate bar at a news shop and found the fifth Golden Ticket in the wrapper that says “Congrats mate, you’re in!” — wish I could say this, but I don’t live in the world of Charlie and the Chocolate Factory.
There is a huge collection of detailed experience on how people get a Google Internship on the Internet, and as far as I know, we rode the same wagon tunnel.
Like Sean Lee elaborated here on his somewhat accurate two-simple-steps:
Step 1: Get an interview… Somehow.
Step 2: Do well on the interview.
Despite being a 42-minute long episode, I watched it twice — before applying and after signing the offer. He made a fairly realistic guide on how to get the interview and do well on it. A spoiler for you: there is no magic in it.
Step 1: Get an Interview… Somehow.
To the extent of my knowledge, there are 3 ways to get an interview: competition, referral, and most commonly: résumé.
Competition. Rumour has it that joining certain competitions like Code Jam might get you an interview. I never really looked for information on this because I’m not really a fan of competitive programming, so if you want to give an attempt, find out more about Google competitions at https://codingcompetitions.withgoogle.com.
Referral. Previously, I didn’t know that there were referral programs for internships, but there is. So go find friends who can (or can potentially) refer you. To my knowledge, Google FTEs and interns can usually refer their friends whom they have previously worked with.
Résumé. This is how I got the interview. There are a lot of good résumé samples out there. There’s no one-size-fits-all set of rules for your résumé so go ahead and google “how to rock my résumé”, enhance your résumé, send them to a bunch of friends for reviews, and you’re good to go. The harder part is, how to get good content to write? My way was to go through relevant internships, real-life projects, and a few competitions. Once you got your résumé wrapped up, hit https://careers.google.com and start searching for a role. Summer internship applications usually start on October before the internship year. The faster you apply, the better. At first, I didn’t even consider to apply because I thought it was out of my league. But then one day, I got this inner voice that says, “Try it out Wenny. The worst you can get is no, right?”
Step 2: Do well on the Interview.
It was at the beginning of February 2019 that I handed in my résumé. I got contacted on March 13, and that day was the turning point of my life. Shoutout to Elena, my angel recruiter. She arranged a phone interview with me as a screening round. It covered a few questions on the foundations of CS, data structures, and algorithms. This step is a short 15-minute call done via Hangouts or phone. There are a few points that I like to keep in mind prior to the interview:
- Unless you’re a genius who can come up with a O(1) solution in the first 6 minutes, you need to sit down on your favourite café and start hitting on Leetcode, Hackerrank or the likes.
- If you’re more into auditory learning style, watch CS Dojo’s or other coding interview prep videos. I find these vids extra helpful, especially after a long day of work and all you can afford to do was lie on your bed. Thanks YouTube.
- Know thy complexities. You need to have a tight grip on data structure and algorithm complexity. Here’s a big-O cheatsheet that might help you. Go through it one by one. Get yourself familiar with every operation you can do on each data structure: accessing, searching, inserting, deleting, etc. A pro tip would be: don’t memorise them. Find out what cases make the complexity as such. Know the behaviour of searching and sorting algorithms, as much as you can cram your head with.
- Read the mighty bible (CtCI). To squeeze out the maximum result, try solving the questions while explaining your thought processes. And somehow also try to hear yourself talking (because we are multitasking ninjas aren’t we).
- Arrange mock interviews with.. anyone who were willing. I arranged mocks at least twice a week with my friends, my seniors, strangers, my turtles, my cactus, my Grizz plushie. You can try to have mocks with Pramp, if you can’t find people who are available.
There will be 2 coding interviews if you pass the screening round. You will only get the 2nd interview if you pass the 1st one. In my case, I applied to Google Singapore, my first interviewer was based in Google Tokyo and the second was based in Google Zurich. This has no relation whatsoever with the interview though, Google’s interviews are pretty much standardised. I needed this info because I wanted to ask questions about the teams and products in that certain region.
During the actual interview, there’s only one thing that you can do: nail it. Don’t overthink the night before. Relax and do whatever you can do to make yourself confident. By this time, just hope that your luck is amplified by the effort you have exerted.
If you pass the 2nd coding interview, your recruiter will submit your packet to the Hiring Committee (HC). You go on with your life and hope for the best. Eventually, you’ll receive an e-mail, saying either you passed the HC review or...
But no, your journey does not end here. You either prepare for the host matching interview with an engineer from Google, or you prepare for your next interview elsewhere.
If you passed the HC review step, your profile will be shared for “adoption”. You might or might not get a potential host. If you do get an invitation for the host matching interview(s), prepare by reading your résumé. Get ready to be asked more behavioural and preferential questions. My tip is: be honest and humble. It’s a bidirectional dip-your-toe session, to check whether your potential host feels comfortable working with you, and vice versa. If both of you agree, then it’s a match! Congrats. Wait for the offer letter and instructions on the administrative settlements. You can now rest.
Or at least until the start of your internship.
Disclaimer: all views, thoughts, and opinions expressed in the text belong solely to me, and do not represent the opinions of my employer, organization, committee or any other group or individual.