Yes, you read that right! Google has a secret way of hiring its developers. This is such a well-hidden secret that I had a tough time finding credible sources on the internet. So, what is this Foobar challenge? I first heard about the challenge when I was invited to compete. It was my early days as a Data Science student. No one knows when it started, but it has been inviting suitable candidates for a potential career at Google.
Even their invitation was sketchy. Let me describe how it went. I was searching for 'List Comprehensions', which is a well-known topic of Python, in google chrome. The search results showed up, but what was peculiar about the page was that it showed me a bizarre animation. The page split in half from the middle and the lower half tilted backward revealing a dark and black void within.
At first, I thought it was some bug, so I took my cursor to the void, and it revealed a text. The text read as follows:
I am curious by nature, so I clicked on the 'I want to play' button.
The link took me to a new page. It looked like a Linux console where you get to solve new problems one by one by requesting new challenges.
I know finding out about this secret has made you enthusiastic and you want an invitation for yourself, but here’s the catch, not everyone gets invited sadly. Even though the Foobar challenges are not that well known, quite a few people have been invited to it and some handful has even been hired by Google!
I know it’s the dream of many people in tech, to work for the big names in FAANG, and all of us are quite familiar with the success stories from LinkedIn that you need to have an extraordinarily impressive resume to even secure an interview with these companies. So having somewhat of a shortcut by solving just 5 coding problems for that dream job, well sounds too good to be true.
Being so obscure, no one exactly knows how to get invited, but from the testimonials of several such invitees and my personal experience I’ve tried to help you at least have higher chances of getting invited. So let’s get started.
There is no known or straightforward way of getting the invite. Strangers on the internet have speculated many such ways and the thing common in all these speculations is that you have to search for certain keywords repeatedly and for a long time to trigger google’s secret algorithm to send out the invite.
No one knows the exact set of keywords but the consensus is that they should be related to programming and coding in Java or Python. In my case, the triggering keyword was “List comprehensions” as I’ve said before.
If you are a developer and searching for topics that most people won’t on google, they see you as a potential invitee and start keeping track of your search history. Such repeated searches prove that you are taking your work seriously and google might be interested in that.
Some have even reported that they have received the invitation while they were changing and experimenting with the HTML code of a website on google.
If you want an invitation for yourself, then my only suggestion to you is to be curious and actively search programming-related topics on Google since this appears to be the most popular advice of all the ones already invited.
Another thing to note is that Google will only hire you after you’ve cleared their interview. Just answering the questions and clearing the challenges won’t guarantee a job, being a good fit for the company and acing the interview is the main trial.
So you accept the invitation, what now?
You'll be redirected to the "foobar.withgoogle" page, which has a Linux-like console and looks something like the image below.
The context is that you are an undercover spy bunny, working as a henchman of Commander Lambda, working your way up the chain of commands to destroy the evil organization from within. I know it sounds like a Bond movie plot, Google can start writing screenplays now by the looks of it.
Every challenge you solve, you move your way up the organization, getting closer and closer to the leader and your goal to sabotage the organization. All the questions are designed in a way to keep up with the lore. Kudos to Google for taking such a playful and non-complex way to help us understand the challenges.
You can start a new challenge by typing in the command ‘request’ in the console. This creates a new folder with the new challenges. You must change your directory to the new folder using ’cd’, and now you can access your question. You can use Python or Java to solve the given challenge question.
You get two new files, "solution.py" and "solution.java". You must edit any one of the two depending on the language you are more familiar with. Another thing to note is that you can use either language to solve any of the questions. Solving the first question in Python doesn’t mean that you have to use Python for the rest of your challenges. Feel free to give the JAVA option a try too if you’re willing.
The challenge consists of 5 levels- with each level more difficult than the previous one. I have completed the first two levels and am preparing for the third level.
All the questions are time-bound. Some questions are allocated more time and some less, depending on the difficulty of the questions.
My first question was simple. It was called "Braille Translation". You can view the question here.
After you have completed the editing, and you are confident that the solution you wrote will satisfy all the given test cases, you can verify it with the “verify filename” command and it shows you the test case result of your solutions. To submit your solution, type “submit filename”. It will check if the solution is correct or not. If all submitted solutions are correct, then it flashes a success message on the screen.
The first level presents you with a simple problem. Anyone with the basic idea of coding can solve this challenge. After completing the first level, the screen flashes a little bunny hopping on the screen.
The second level presents a more complex problem. It is divided into two parts. You complete the two questions, and you pass the level. Please remember that the questions are time-bound. You'll be provided 1 week to solve the questions of Level 2.
After you complete the 3rd level, you'll be asked to fill out your correspondence details. In the meanwhile, your code will be shown to a Google Developer. Based on the same, you might be contacted by a recruiter for a possible interview. Not everyone is contacted, I think it depends on the quality of your codes, and whether you can impress the recruiter or not.
The questions might seem tricky at first because it's Google we are talking about here. And like I said before, not everyone can get an invite. So, I suggest that one should take the challenge as a fun experience. Foobar is not the only way to get into Google. If you get an invite, then take it slow, try to learn as much as possible on the way, and make the most out of it. Also, this might be an opportunity for you to evaluate yourself and your knowledge & caliber.
In the end, I just want to say, keep an eye out for weird animations when you're googling, be more curious, and never stop learning. Cheers!
Tell us the skills you need and we'll find the best developer for you in days, not weeks.