Job interviews are stressful, there is no way to deny that. There is a way of thinking about them that makes them easier to deal with and succeed at. An individual interview is the culmination of lots of training and practice, similar to a sporting event. Also similar to a sporting event the outcome of an individual interview is not always the most important thing.
Certainly the stakes are high. Nailing that big interview can really change your life. Moving your career forward and getting you a big raise that you were looking for. However it is important to recognize that the outcome does not define your potential. Interviews can be lost for a multitude of reasons, most of which are outside your control.
- You got stumped on that one question you hadn't prepared for.
- You stumbled on something you knew but couldn't describe clearly.
- You gave an answer in a way that the interviewer wasn't expecting or didn't understand.
- The interviewer didn't click with you.
- The position was filled internally.
- The position was canceled.
Some of these things can be dealt with by practicing more, but some of it is just a fluke which can be summed up as having a "bad day".
Unfortunately many interviews are a black box and you don't get feedback that would help you know what to focus on. Given this, it is left to you to analyze the interview and figure out what went wrong. This is a dangerous proposition, and can lead down a rabbit hole of despair that is hard to get out from and be ready for the next interview. This is where caution is needed, resist that urge and just focus on the next interview.
We are in a fantastic time for being able to build confidence for technical interviews. There are so many resources that let you exercise your skills with any language you can imagine and give direct feedback on how you are doing. Platforms like Hacker Rank contain many interview type problems and let you write solutions in a variety of languages. These platforms run your solution through tests that exercise the correctness both of the results and the complexity. Doing as many of these as possible and passing all of the tests is incredibly valuable for being prepared and for building confidence.
You can do practice interviews with experienced interviewers at places like Code Mentor. This will help with delivery and to get honest feedback about how you did and why the interviewer would or would not choose you based on the interview.
It is essential to remember that losing and interview does not mean that you are unable to do the job. Interviewers must make a decision based on what you demonstrate in the interview. They cannot infer or guess that you know that thing that you stumbled on. Interviewers want to hire you, they are rooting for you and want to help. They do still have a responsibility to their company to hire only people in whom they have full confidence. This is why interviewers are trained to be very cautious. This is also why most companies welcome and encourage repeat applications. They know that an individual interview is a roll of the dice and that on a different day they would see that you are the perfect candidate.
So don't be discouraged if you don't make it on the first try. Pull yourself up again and get back out there and show them what you can do. If you don't get one interview it is likely not because you can't do the job, but because it just wasn't the right time. Train hard, practice, and believe in yourself and you will get the interview that really counts.