By HyperionDev CEO, Riaz Moola.
1. Overcome your inferiority complex
The university you went to, high school you studied at, or country you come from simply don’t matter when trying to get a job at Google. During my work at Google, I worked alongside people from Cambridge, Harvard, and Stanford but also graduates straight out of the University of KwaZulu-Natal, University of Cape Town, and University of Johannesburg.
Some of the most successful people at Google come from places and universities you haven’t heard off, and it’s a very internationally diverse place.
As a South African you have a great chance of joining Google, regardless of your background. You don’t even need to have worked at similar ‘tech giants’ before such as Amazon or Facebook. Having relevant experience/studies (which can be attained anywhere) will get you an interview, and your performance on these interviews will determine whether you get in – not the ranking of your university!
2. Prepare to fail
I was rejected from Google three times over three to four years before finally securing an internship that successfully converted into a full-time offer.
In fact, the role I secured at Google was after I responded to a rejection email after a failed application to Google’s Software Engineering internship in London. I simply asked if I could apply for another role – they directed me to the website again and I had little hope of a response. Three months later I had been accepted for an Associate Product Manager internship in Zurich.
Another thing to consider is that previous rejections don’t matter at all. I can remember clearly flunking first round interviews twice in a row with Google – being absolutely embarrassed and simply not being able to answer anything at all. This never had any impact on the future internship and full-time job offer I received. Don’t give up.
3. Be open-minded about roles and locations
When I first applied to Google, I was set on their Software Engineer (SWE) role, and only vaguely considered their Site Reliability Engineer (SRE) position. I simply didn’t think of any other positions, even after attending a workshop at their London offices about their Associate Product Manager (APM) position. At first, I dismissed the role as non-technical, ‘design and marketing’ – simply not right for a CS graduate like myself. I was completely wrong. The APM role was much better suited for me, and required a CS degree and a highly technical background. I interviewed much better for the APM role over SWE, and actually enjoyed answering interview questions and preparing.
Identify at the earliest opportunity all the possible roles open to you at Google, and prioritise applications to the roles that fit objectively with your strengths and interests, even if they seem unconventional. For example, it’s not as simple as ‘software engineering’. There are site reliability, security, product management, and testing roles that all fall under technical internships leading to full-time roles.
Don’t shun the opportunity to travel. Google may not have an engineering office in South Africa, but you’ll love to be in Europe or the US – especially for a summer internship. Google’s engineering offices are only in the best cities to live in – I was totally blown away by Zurich. It may be a once in a lifetime opportunity to live in these places.
4. Plan & Prepare
If you’re aiming for an internship, apply every possible holiday period, even if you fail each time. You’ll only be able to do internships while still a full-time student, and the earlier you start preparing for interviews and gaining confidence, the better. Sit down and check when applications open for the next round of internships, put it in your calendar and don’t forget.
Put aside at least 40-80 hours before your first round phone screen to prepare with mock interviews, example questions, and lots of practice. Plan the date of the phone screen (you have a choice) such that it isn’t at a time when you’re busy with exams, tests, or other work – you need to focus fully for this. Understand clearly how many interviews you will have in the whole process (it’s typically one or two phone screens, then 3-4 onsite interviews at one of their offices that they fly you to) and the type of questions that are asked.
5. Practice, Practice, Practice
There really is no easy way around this step. You’ve got to divide up the types of questions you will be asked for your role. There are a plethora of resources online with example questions and answers. For example, the Product Manager role will feature a mix of product questions – “Tell me about your favourite product”, estimation questions – “How many lightbulbs are in in the US?”, technical questions – “What is caching? How would you implement a cache in Python?”, and personality-type questions – “Tell me about a hard problem you solved?”.
Once you’ve identified the main categories of questions, pick your weakest. For me it was the estimation-style questions. At first, I simply couldn’t work out how to go about answering them. After picking up the ‘Cracking the PM interview book’ (far superior to ‘Cracking the coding interview’), and practicing around 30 estimation questions, I’ve found them much easier to do, and sometimes even do them for fun!
If your interviews will mostly be technical, definitely sign up for an advanced Python course with Hyperion. Mention to your tutor that you will be taking the Google interview tests and you’ll be moved to the advanced materials on computational complexity and data structures. It is of key importance that you focus on these aspects, which may only be touched on briefly in a Computer Science degree. You need to know Big O notation, sorting and searching algorithms, and data structures well enough to recite them in your sleep.
Get a job at Google – even an internship – will change your life forever. There simply is very little in the tech world that trumps having worked for Google. It will make securing future interviews easier, build confidence and teach you things that are hard to pick up elsewhere. Also, you will receive an invaluable perspective that can help define your future career, whether at Google or elsewhere.
Related article: 10 Steps to Switching to a Career in Coding