How to get to Google in 2020

Karina Kozhina
Verbetcetera Tech
Published in
9 min readDec 21, 2020

INTRODUCTION

While you are reading this, Google is hiring!

It’s November 2020. Alexey just got an L4 offer from Google. That’s remarkable: 2 other Googlers I knew, despite having a decade of experience in the industry, had to start with the lowest L3 position of an ordinary Software Engineer. And then work hard inside the company, often more than for 1 year, to get a promotion to the next level.

Alexey only had one year of Software Engineering experience.

How did he make this happen? And what can you do to get an offer from Google?

Let’s discuss Google’s Hiring Process in 2020 & let Alexey share all his secrets of a successful preparation.

STEP 1: GET NOTICED

You are a Software Engineer and you want to work at Google. How to get noticed?

PASSIVE STRATEGY : WAIT UNTIL GOOGLE’S RECRUITER APPROACHES YOU

Set up your LinkedIn. Grow your connections. Graduate from a respectable university and have remarkable past jobs and internships. Do your PhD. Share your coding projects on Github or contribute to an open-source with a good name. Visit career fairs and professional conferences. And… wait.

+ It could work for you without you even noticing it.
It might not happen when you need it. Worst case: you’re gonna wait forever.

I mention this strategy because apparently a substantial chunk of Googlers got hired this way. Lucky bastards! But if you are reading this you probably want to choose an active approach. And our hero did too. He didn’t have a luxury of waiting time: he suddenly got laid off from his current job due to the company reorg. So, the clock was ticking, and he’d better find his new job soon.

ACTIVE STRATEGY 1: APPLY THROUGH THE WEBSITE

You can submit your resume on careers.google.com and wait for the reply. It should work, right? After all, why did they create this website?

Alexey tried this strategy 3 times and never got a reply.

+ Easy to execute.
Due to the overwhelming amount of applicants, you might not get noticed.

ACTIVE STRATEGY 2: FIND A REFERRAL

A Referral is somebody working at Google right now who knows you and can recommend you to the company.

The best referral is somebody you worked with. Alex found out that one of his former colleagues in Uber worked at Google and knew a few people inside. So he reached out through the referral and was contacted by Google’s recruiter the next day. Fast success after 3 unsuccessful trials on the website!

+ Increases your chances significantly.
Requires active referral search.

How could you find a referral?

  • Check out people you worked with.
  • Check out your school / university connections.
  • Ask your friends if they know somebody working at Google. Right connections might come from unsuspected places.
  • Approach a stranger in a friendly way. Find somebody working at Google on Linkedin or Facebook and write them a friendly message asking to recommend you.

STEP 2: PASS PHONE SCREENS

WHAT IS A PHONE SCREEN?

Phone Screen is a 45 min coding interview. It is possible to have 1, 2 or 3 Phone Screens before you can continue with the next stage of the hiring process: actual onsite interviews.

Phone screens could be the toughest stage: you may have only 1 chance to prove yourself worth considering for the position.

Alexey could set up the date for the phone screen right away, but he wanted to have some time to prepare. So, from all the companies he applied to, he scheduled an interview with Google last, so he had an additional 2 months before the phone screen. He showed up to interviews with other companies and tried to learn from them. Also he created his own process of deliberate preparation for the interviews.

ALEXEY’S PREPARATION PROCESS

Alexey was joking that preparing for the interviews became his full-time job. He solved 5–6 coding interview questions every day for 2 months, and had solved ~300 problems in total: 20% easy, 60% medium and 20% hard.

To maximise his learning process, he took Learning How to Learn on Coursera on the first day. The main getaway was to focus on specific areas, and then reinforce the connections in random order.

So the 1st month he studied questions topic by topic, e.g. dynamic programming or graph algorithms, and tried to finish all the questions from the last topic before moving on. And the 2nd month he shuffled it up, and solved a random set of questions each day.

He accompanied his learning with reading those books:

Alexey kept himself motivated by creating a list of problems he wanted to solve and visualising a progress bar as he went through. He saw this chart step by step turning green as he solved more and more problems.

Alexey also created a diary, where he wrote down the topics he studied and what he had learned. He didn’t try to make it look good or feel complete, just quickly jot the most important takeaways he might use in the future.

PHONE SCREEN STRUCTURE

Phone screen lasts 45mins: you get a call on Google hangouts or cellular phone and are asked to open a shared Google Doc to code.

  • Introduce yourself ~ 5 min
  • Solve coding question in Google Docs ~ 30min
  • Ask your interviewer any questions ~ 5 min

GOOGLE’S SPECIAL FLAVOUR

Instead of giving one hard question from the beginning and watching the interviewee wrestle with it, Google interviewer often will start with an easy question and test your knowledge by following up with constraints.

You are expected not only to solve the question in one particular way, but also to understand if there are more ways to do so, and what are the benefits and tradeoffs in terms of time/space complexity and code simplicity.

“Google cares less about algorithmic skill and you coding, but more about you understanding Software Engineering concepts, being able to answer questions and being responsive to the interviewer. Interviewer would be really engaged with you.” — says Alexey.

WHEN TO EXPECT TO GET YOUR FEEDBACK

Up to 7 days after your interview
Sometimes Google can be somewhat slow to respond.

STEP 3: MASTER ONSITE INTERVIEWS

WHAT IS ONSITE?

  • 5 interviews in one day
  • Due to COVID-19, virtual, not in-person

WHAT INTERVIEWS WOULD I GET?

  • L3 position: 4 coding + 1 Googliness and Leadership (behavioral)
  • L4 and higher positions: 3 coding + 1 System Design + 1 Googliness and Leadership (behavioral)

ALEXEY’S PREPARATION HACKS

THE STRUCTURE

  • Buy leetcode premium
  • Use “mock interview” feature on leetcode: solve questions on restricted time
  • Do 1–2 sets a day

Alexey tells from the experience, that those tagged questions are close to the actual questions asked.

He also did 1–2 pramp interviews per week with coder-friends and colleagues.

“It should be a good friend or complete stranger: somebody not afraid to point out your mistakes and give negative feedback.”- says Alexey.

Alexey learned about common mistakes and life hacks during his preparation, and he was so kind to share them with us.

COMMON MISTAKE 1: NOT KNOWING YOUR LANGUAGE IN-DEPTH

You could get questions about your programming language of choice, especially memory management. E.g. if you are coding in python, be ready to answer: “When exactly does a copy happen?”

Prepare to know your language really in-depth. It’s easy to screw-up here and get “NO HIRE”.

Resources for Python: Memory Management in Python, Understanding GIL, Python List Implementation

COMMON MISTAKE 2: PSEUDOCODE

Writing too much pseudocode in the coding interview before jumping to the implementation is a mistake. It could really slow you down.

COMMON MISTAKE 3: UNSTRUCTURED GOOGLE DOC

Not structuring your Google doc is a mistake. Have a couple days when you only code in google docs. It’s not a comfortable coding environment, you’ll need some time to get used to it. Know how to use UI and hotkeys fast so you don’t waste time in a real interview. Structure the doc: question, getting to know restrictions and details, solution, follow-up.

LIFEHACK 1: BE GOOD AT SUBLINEAR ALGORITHMS

Practice sublinear algorithms, e.g binary search (bisection). You should be really comfortable with it, so using it as a building block in your problem-solving would be fast and efficient.

LIFEHACK 2: BE AN INTERVIEWER

Practice being an interviewer (services like pramp can help). Train coming up with hints and asking interesting follow-up questions, e.g. “Can you implement it recursively?” It helps you to explore the problem space from another dimention.

PASSING THE ONSITE

Each of your coding interviews would get the following outcomes: “STRONG HIRE”, “HIRE” or “NO HIRE”. There is a rumour that it’s better to get 2 strong hires and one no hire, than 3 weak “hires”.

Alexey has done really well on his coding interviews, and the hiring committee made a decision to make him an offer. However, his System Design Interview wasn’t sending a strong signal.

Alexey had a choice: accept an L3 offer or improve it, by doing another System Design interview.

STEP 4: IMPROVE YOUR OFFER

SYSTEM DESIGN INTERVIEW

System design interview is probably the most important type of software development interview as it’s used as an indicator of the person’s seniority and largely correlates with the total compensation and the level grade when it comes to making an offer.

PREPARATION PROCESS

Alexey started to prepare just after he passed the Phone Screen. Before his onsite Alexey spent 90% of his time coding and 10% preparing for the System Design. When he got the second chance, he doubled down on prep, especially on professional mock interviews.

WHAT REALLY HELPED

WHAT WAS A WASTE OF TIME

  • Pramp interviews weren’t helpful. Matched interviewers weren’t experienced, so it was as good as solving stuff on your own.
  • Book: Designing Data Intensive Applications — an overkill for the interview: a lot of detail about low-level concepts. Database design.
  • Youtube: Quality of youtube videos is low :(

GETTING PAYED

All the preparation resulted for Alex in a handsome offer at Google Munich: you can look up the distribution at levels.fyi. It’s ~20k higher than the real numbers in the offer, cause it also takes into the account the stock options.

The offer was so good he didn’t try to negotiate. (this is a mistake!)

NEXT STEP

Don’t wait! Start your own preparation soon. The good first step would be to book a free consultation call with Verbetcetera.

Interview with Alexey Györi
Written by Ava, ex-Googler, now Verbetcetera Mentor

--

--