How did I go from a chain of rejections to getting a job offer from both Google and Facebook

Josep Carner
Don't Panic, Just Hire
5 min readJan 2, 2018

One year ago, in my senior year as a Computer Science student, I started the so-called apply-to-every-good-place routine. It probably sounds familiar to you: writing cover letters, starting to do your Cracking the coding interview stuff, and basically applying to the same places everyone else is applying to: Google, Facebook, Apple, Amazon… Then you wait for your dream interview to come… and it never does. How is this possible? I have the best GPA in my year and they didn’t even consider me! This is what globalization and capitalism is all about: reinforcement gravity. The big ones get all the applications, the rest get nothing: you suddenly realize how much the rest of your life will only consist in competing against the best, in a world where average profiles have no longer an opportunity.

Something similar happened to me, but surrendering easily has never been among my best qualities. I was convinced I was at least worth an opportunity, so took a decision: I promised myself that I would get a job offer from Google, Apple, Facebook or Amazon in one year. Timer was on: I had twelve months left to prepare. I started reading, googling, coding, networking, and basically doing anything I could think of -and beyond- to prepare for my interviews. I basically spent twelve months getting ready for the interviews to come. One year later, here I am, with an offer from -among others- both the consistently ranked top-2 best companies to work for, trying to share my experience and learnings in an article that I hope will help CS students better prepare for a graduate/internship tech interview.

Here there go my takeaways.

1. Don’t apply online. This is, by far, the most important learning I got from this last year. Never, ever, under any circumstance, submit an online application. Recruiters spend an average of 7 seconds on each candidate, chances your CV will be swiped right are pretty high. Unless you graduated from MIT, doing what everyone else is doing will just put you in the average stack. Then, how? Directly reach someone inside the company: a referee, the recruiter, a manager. If you don’t know anyone, do some Linkedin. Send messages. Go to events. Try friends of friends. Network! Anything you can think of. Force yourself to engage with someone who is already working there. Any excuse is valid: “I spotted we went to the same school”, “I was wondering if we could grab a quick coffee some day, I am really interested in what you are doing at Yelp”. Anything you can think of. Carefully plan your moves, carefully pick your words. There is not a winning recipe here, just a very simple advice: do not to do what everyone else is doing, unless you want to get an average rejection. Trust me, it really works: among all the companies to which I submitted an online application, no one called me back, even for a screening round. Among the ones that I didn’t… every single one of them except for one made me an offer.

2. Code as if there was no tomorrow. In fact, there might be no tomorrow: you can try retry maybe once or twice, but companies will probably not give you a forth or fifth opportunity. This point might sound kind of obvious, but what I am trying to emphasize in here is that buying your Cracking the Coding Interview three months in advance is not enough. Or at least, doesn’t increase your chances of getting hired that much. I literally spent one whole year coding in my spare time. And I clearly saw the improvement, specially during the interviews. Here is the catch: how well you do in an interview depends 80% on how relaxed you are, and practising really helps with that. After all, problems you get asked are (normally) not that hard, even at Facebook or Google, so coding in an interview becomes a bit like speaking a foreign language: mastering at it becomes a matter of how many hours you have spent on it. Also, from a more practical point of view, there aren’t that many possible problems one could think of, so seeing as many as possible in advance (and solving them, of course) really helps. Don’t get fooled by people who say that only coded for two months and got a full-time offer: this is only works some times. It is better not to take the risk of trusting your luck.

3. Do prepare for each interview. Not every company asks for non-tech questions, but some do, so be ready to handle them. I am still surprised to see how many people go to an interview without any kind of preparation for non-tech questions. Trusting yourself is good, but hoping your improvisation skills will beat any preparation is just naive. The recipe here is simple: just prepare some typical questions in advance. It is really easy to make a good impression if you master the art of a well articulated sentence. Communication is 99% of what we are, or at least what others think we are, so mastering the art of selling yourself can make the difference.

4. Know the typical ones. Know the company. Know their values. Know what they are looking for. Make sure to show you are the right fit for them. Know your CV (this one is SO important). Ask questions. Get interested in what they are doing. Have a clear idea of why you want to work with them. Be polite. Watch your manners. Be flexible and show you are willing to learn. Communicate well. Build a strong relationship with your recruiter. Write a short thank note to your interviewer after the interview. This is just a bunch of typical and well known advices, but they can still really make the difference. When you read them for the first time, they just feel kind of obvious, a trivial list of advices anyone could come up with -among many others-. I mean, of course I need to know the company. Do they really pay people to write this kind of stuff? And then you fail the interview because you didn’t know how to answer to how you would improve Facebook Marketplace. The more you get to interview, the more you get to put this little things in practice, the more you discover how much they make a difference. The less obvious and trivial they become. As an example, I got rejected two times because “I did a great job in the tech part, but I just put to much emphasis on how passionate I was with Machine Learning. And you know, they were seeking more open minds”. Details really matter, so be sure to pay attention to them.

And that’s all folks. Hope you enjoyed it, and please, don’t forget to share your feedback!

--

--