Failed in 9 tech interviews in the last 6 months, I just can't take it anymore, what should I do? originally appeared on Quora: the place to gain and share knowledge, empowering people to learn from others and better understand the world.
Since I started interviewing in 2010, I have been rejected by almost 30 companies. I have been selected by 6.
I have interviewed at everyone's favorite tech company in Mountain View thrice, and failed. I have interviewed at a (the?) major social network thrice, and failed. I have interviewed at two major online retailers, another bygone internet company, a device manufacturer and a wireless modem company. I have failed in all of them.
It has generally been the same story. I would breeze through phone rounds, do well enough in on-site interviews that I would have a lot of hope, and then I'd get a friendly rejection e-mail.
The nice folks at Mountain View told me before the latest round that my performance in the past round was pretty good, and they wanted to reconsider me. Afterwards they told me that my performance was pretty good, but unfortunately they were moving forward with other candidates. But they would reconsider me.
I was at a point where my dream job continued to be a tease, and that was it.
At one point I thought I should just give up engineering and become a singer.
My friends told me that I lacked confidence, and that was true. But how could I gain confidence? What if I know I am not good enough?
After I got married, my wife saw my plight and decided to mock interview me. Her feedback was that she could sense strongly that I didn't know what I was talking about. I protested, saying I knew! I knew exactly how to solve the problem. But she insisted.
That was not the "Aha!" moment, there was no "Aha!" moment. But there were incremental changes from that point on:
- I had to actually write code. I had to stop just reading up algorithms. I had to stop saying I "know" how this works and to think about "why" it works. For every single problem, no matter how simple, or how complicated. I had to solve diverse problems, using various techniques.
- I had to go in assuming I would be rejected, and try to pass. In fact, I treated interviews as exams, with no pass or fail, but with a scorecard. Of course, I was doing the scoring for myself, but that prepared me for the next company, and I could track my progress. I mean, if dozens of interviews are just going to be rejections, I might as well make use of the opportunity to learn.
- I realized that when solving problems in my interviews, I was trying to prove that I knew the answer. I would say whatever I could to impress the interviewer. "I think I will use dynamic programming here", or "I know how to do it, but I am also thinking of a more efficient way". The thing is, that is being dishonest and good interviewers see right through it, they want to see results, not hear what you have to say. What worked was to explain things as I would to someone who didn't know anything. If I explained something to a child, I would build up from the basics. Interviews needed the same thing.
- It is OK to take the time to think about what to say. I used to panic after 10 seconds of hitting a roadblock. But when you are at work, you never get stuck. Getting stuck is not an option! You keep thinking until you have an answer, and that's it. Remember, interview questions are meant to be solved. So in one of the interviews I cracked, I thought about the problem for a full 5 minutes. It felt like ages, but the next 30 minutes breezed by as I actually wrote the code.
- Finally, I had to be honest with myself about why I wanted the job. Was it because of the perks? Lists of companies with cool perks are endless. Was it money? Salaries are pretty much standard, except for a few companies. Was it status? Many, many companies give you status. And high status companies are sometimes not the best to work for. I finally landed at a company whose product I dearly love and use everyday. Somehow, that helped.
There is no shortage of amazing companies. It is quite possible to get into them. So don't lose hope. But no matter who rejects you, walk in to the next one better prepared. If it takes 10, 20 or 40 rejections, so be it. Every interview you lose will teach you something. Take notes after each, improve on those. Rejections are not personal, not in the tech world anyway. And eventually when you get the job you want, these 1-2 years of rejections won't matter. You won't even remember it.
This question originally appeared on Quora - the place to gain and share knowledge, empowering people to learn from others and better understand the world. You can follow Quora on Twitter, Facebook, and Google+. More questions:
- Computer Programming: What happens if a candidate's approach is correct but they are having trouble writing the code?
- Programming Interviews: Am I allowed to use paper and a pen during a technical interview for a top-tier tech company?
- Software Bugs: What is the most interesting bug you have ever solved in a computer program?