This is part of a series on my experiences and learnings after conducting 750+ interviews and reviewing 10,000+ more over the course of five years and from both the candidate and interviewer sides of the table.


One of the most common questions I get asked at the end of an interview for an intern or new grad position is: “did I pass?” And I’m unable to answer for two reasons, 1. I’m not the one making that decision so I honestly don’t know and 2. you can’t “pass” something that has no concept of passing. Asking that question illustrates the candidate having the wrong mentality with interviewing in general. In these situations, the biggest takeaway I try to instill to them is:

The interview is not a test.

It’s natural for interns and new grads to assume this, of course. If you’re an intern or new grad. up until this point in your life you’ve likely had most of your successes and failures be academic where assessments have a rigid score and a grade assigned. You take the exam and get a score. That score translates into a grade. That grade determines if you’ve passed or failed the course. It’s natural to assume that the interview is another exam so surely you must pass or fail it, right?

In reality, the interview is more of a first date than a school exam.

Let’s look at the parallels. To get to that point of the interview you’re going to send an application, or maybe the company will reach out to you first, Then you’ll schedule an hour to interview. Your goal is to make the best first impression you can during that time. And when it’s all over you’ll hope that you get called back for a second date: the on-site interview. If that series of interviews goes well you’ll have an offer for a more permanent relationship with the company or if it doesn’t you’ll get a generic “unable to proceed with your application at this time” email or, even worse, ghosted by the company. Sound similar to dating?

When things don’t work out quite often I see more junior candidates blame themselves for the rejection from a company and be ashamed of it. After all, we all want the validation of being wanted by a company and after rejection we’re sometimes desperate for it. However, that’s the wrong mindset to have. Like dating, if the interview doesn’t work out, it’s not always your fault. As the saying goes, you could be a farmer that grows the best peaches in the world, but some people won’t like peaches. It’s nothing wrong with you or the company; the two of you were incompatible with each other. It’s far better to figure that out now than to spend a few years in a relationship you don’t want to be in. Or worse, to relocate for a job you find out that you don’t like or aren’t a good fit for.

As a personal example, when I was searching for my first full time job coming out of college I interviewed at a medium sized startup. Their product was directly aligned with my interests, they were located in one of my favorite cities, and everyone I talked with during my interview loop was intelligent, forward thinking, and enjoyable to speak with. I walked out of the office feeling great about how everything went and really excited to work there. Then a few days later I received the dreaded “thanks for coming in to meet the team, but no thanks” email. I felt terrible about it. But then I heard through a backchannel from the person that initially referred me that the reason for the rejection was simply that the team did not feel they had the bandwidth to bring on a junior engineer at that time. The timing was simply not right for them. A year after that the company folded and I would have been without a job if I ended up working there. Looking back on it, I’m now happy they rejected me!

We often focus on our technical shortcomings. For example, getting stuck on a difficult programming question or overlooking a critical requirement of the given problem. Now, that’s certainly true if you don’t know the basics. No amount of soft skills will help you if you don’t know what a hashmap is, but many times that’s not the reason for rejection. At every step of the application process we’re faced with rejection. Sometimes for extremely arbitrary reasons entirely outside of our control. Starting at the top of the funnel, some of these might be:

  • If you submit your resume to a jobs site you’re basically throwing it into a blackhole. Any decently sizable company will have thousands, tens of thousands, or hundreds of thousands of resumes in their applicant tracking system. There’s plenty of highly qualified people in that pool, but they simply don’t have the capacity to interview all of them. In this case, it’s sometimes luck of the draw if you’re offered an interview or not based on if a recruiter happened to catch a glance at your resume.

  • Some large companies are simply not interested in you. If you’re located in a high cost of living area, they may only be interested in developers from other geographical locations where it doesn’t cost as much to hire programmers. It’s nothing against you, it’s a cost-saving mechanism for them.

  • Recruiters may foolishly look at arbitrary requirements for a positions and filter you out that way. You might have 10 years of experience building websites with all sorts of frameworks and a proven track record, but you don’t have X years with framework Y so… rejected.

  • The interview could have gone great, but given the company priorities, your skillset isn’t right at the present time. Maybe they need someone more senior because there’s not enough mentoring bandwidth, for example.

  • An open secret of the industry is that hiring processes are an absolute mess. We like to think that every hiring decision is a well-informed and carefully considered one, but in reality there’s practically no standardization of question difficulty, no peer reviews, and no consistency of results. Two interviews conducted at the same company might have an exceptionally difficult question from an interviewer trying to show off or a simple question by an interviewer that wants to get the interview over with because they have other work to get done.

…you get the idea. The point is that we tend to assume rejection is a result of our own shortcomings. But after spending a little bit of time on the other side of the table you quickly learn that rejection happens for a myriad of reasons, many of which are outside of our control or just bad luck. Try not to beat yourself up over it, or even worse pointlessly, get angry over it.

The most frustrating element of this whole process is the lack of feedback we get from our interviews. If the most common question I get at the end of the interview is “did I pass?” then the second most common is “can you give me feedback on how I did?” Unfortunately, the answer to that question is nearly always “sorry, I can’t.” For all sorts of, what sound like, BS legal reasons, companies will not provide you with feedback on your interview. What you did well, what you could have improved on, or even the reason(s) why you were rejected. How are we supposed to improve though? What can we do when faced with this frustrating lack of feedback?

  • First, mock interviews are great practice opportunities. If you know a senior engineer that has interviewing experience ask for an hour to do a mock interview. Ask her to write up the same level of hiring notes as if it were a real interview and give them to you. If you don’t know anyone like that, ask your peers. If you’re in school, start a mock interview program with your computer science club. It’s also great practice to be the interviewer. You’ll learn what it’s like to be on the other side of the table which means you can tailor your behavior in future interviews to what you then know will be the most effective strategies for communicating with your interviewer.

  • Second, at the end of an application cycle debrief your interviews. Take a step back and ask yourself what you did well, what could have gone better, and how you can improve for next time. Whether you were rejected, declined an offer, or accepted an offer, there’s valuable lessons to be learned from looking at your points of success and points of failure to determine how you can repeat the successes and avoid the failures next time.

So yeah, rejection sucks. There’s no way around it. Having the right mindset makes it easier though. Think of the interview as a date rather than a test: sometimes it doesn’t work out and that’s alright! It means you found out that company wasn’t for you and hopefully learned something new. When the right company comes along you’ll be a seasoned candidate ready to make a great impression in the interview.