I've worked for Microsoft, Google, Stripe, and received offers from many other companies. One thing I learned when I was interviewing myself is that standard interview tips are woefully inadequate.
Why practicing problem solving for weeks if your head is completely blank at the interview? Everyone says you have to watch out for recruiters, but what if you don't? How can you perform at your best if you are too afraid?
I've tested the answers to these questions several times (sometimes by accident). Popular wisdom has been shown to yield average results. But it is possible to pump up your interviewing skills.
For some reason, no one talks about some of the specific aspects of interviewing that have helped me many times.
- Use recruiters to your advantage
- Go on real interviews to practice
- Maintain the skill even when you're not looking for work
Tip #1: Use recruiters to your advantage
On the phone, they are so friendly and accommodating, "We look forward to hearing from you!" Clearly, it's all fake, I used to think. I was sure that after the call, they were secretly discussing my skills behind my back. Like whether or not he was a good fit for the company.
And they do discuss. But not in the way you think.
Recruiters don't assess your professional qualities, at least not after the phone call. Their decision about your professionalism was made long before that call. If you're offered an interview: congratulations, you've already passed that milestone.
Now the recruiter wants to work with you. His job is to get you hired. They know that the average candidate has poor interview preparation skills and are happy to help correct that deficiency. Why discard strong candidates who can't interview well? They want to help everyone perform at their best.
How can you take advantage of that?
Ask them questions! For example, questions like:
"What should I do to prepare for the interview?" "What company values would be good to talk about during the interview?"
And be frank about any problems you encounter.
If you get sick the day before the interview, call the recruiter and ask him to reschedule the interview. He wants to schedule an interview when you're in better shape! A deadline at work leave you no time to prepare? It's still possible to schedule another date. Worst case scenario, they'll say, "Sorry, we can't do that." That won't make your chances any worse.
Your insane technical skills no longer matter to them. Either way, being humble and open to learning will show you in the best light.
Tip #2. Go to real interviews to practice
You need to brush up on your interviewing skills. Programming is great, but it's nowhere near enough in real interviews. Try to do real interviews as often as possible. And don't limit yourself to the companies you're interested in.
Learn to deal with the pressure.
When you get to a real meeting, the world changes: you're locked in a cage with a lion. Your heart is drumming in your chest. Your psyche explodes as your body goes into "hit or run" mode. Sticky hands struggle to write a semi-intelligible code on the board. Even the innocuous "Would you like something to drink?" seems a nefarious test of whether you'll choose a Coke or a coffee...
That's the kind of experience you can only get in a real job interview. And only there will you learn how to deal with it. You'll get your ass kicked at your first interview. And at the second one. But once you get through a few, you'll get used to the adrenaline rush. You might even enjoy it. You'll become a bullfighter who confidently confronts an attacking bull. That's how you overcome fear.
You may think these training interviews are much easier than the real thing! When the stakes are low, the lion looks less ferocious. I've found that I do best when I don't care about the outcome. I become much calmer and more at ease. I think faster, my brain considers more possibilities. Now even in important interviews, I try to convince myself that I don't care, as if it were a practice interview.
Learn to answer ambiguous questions.
After each interview, write down all the questions you were asked. Review them the same evening while they are still fresh in your mind. Focus especially on the behavioral and architectural ones that don't have a specific right answer. Think about how to answer them better. Are there stories from your life that you can refer to? Wait a few days and look again at these questions. Then you'll find a better answer.
Each answer you prepare is one stroke in the picture of your preparation. There's a good chance you'll run into similar questions again. Over time, you'll be able to mix up your palette of prepared sketches-and paint a terrific picture of how your abilities make you a valuable asset to the company.
During practice interviews, you may find that the company is actually interesting. Recruiters count on this option. They offer to try for an interview even if you say the company isn't interesting. And I've had that happen more than once.
Tip #3. Maintain the skill even when you're not looking for a job
It's better to practice an interview every year, just to confirm that you can pass.
You can check 3800+ dev interview question here 👉 Devinterview.io
It's an uplifting feeling to know that if you lose your job, you can find another one quickly. It takes a huge weight off your shoulders.
I myself occasionally accept an invitation from a recruiter (it helps to have a LinkedIn account for that). I don't bother to prepare, at least not at first. These interviews allow me to see where I need to refresh my knowledge and where industry practices are changing.
For example, in a technical interview last summer, I didn't immediately understand that they wanted to see actual working code. Instead of the usual pseudocode in Google Docs, the interviewer asked me to choose the right language in online IDE. And I don't have any particular language preferences. I use a lot of tools at work, and I change languages about every five months. So even simple things like "creating an array" usually have to be googled. So what to choose? Well, I chose C#.
But I didn't think that Visual Studio's very verbose syntax automates just fine, and this online IDE doesn't. Even for a simple task like creating an array, I had to spend precious minutes searching for the right package to import and the exact syntax. Needless to say, I ran out of time. So I got burned... but it opened my eyes to how job interviews change and what to prepare for in the future.
Four months later I was approached by a company called Stripe. They were also expecting a working code and even let me use their IDE. This time I was ready. And now I work there.
These four strategies have helped me over and over again: using recruiters, practicing on real interviews, gaining new knowledge there, and maintaining the skill.
What do all of these tactics have in common? They take out the fear. The fear that prevents you from maximizing your performance. Practice more often, and the interview rooms will turn into a playground for you.
Thanks 🙌 for reading and good luck on your next tech interview!