Skip to content

Instantly share code, notes, and snippets.

@tfpk
Last active July 18, 2023 03:19
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tfpk/78bac6bc26cf06cab1bc1c772db2e493 to your computer and use it in GitHub Desktop.
Save tfpk/78bac6bc26cf06cab1bc1c772db2e493 to your computer and use it in GitHub Desktop.

Preparing for Behavioural Interviews at Tech Companies

So, you're applying for a tech company internship/grad role? Made it past the hackerrank, and now they want to ... talk to you? Exciting! Scary! But don't be alarmed, you'll do OK.

This short Gist contains all my best advice for how to prepare to do well in a behavioural interview. It's focussed at junior roles, but I suspect much of the advice is equally applicable for more senior roles too.

What is the interview looking for?

Before you actually start preparing, it's very important to understand what the point of this interview is. The first point is simple: to determine if you would be a good person to hire for the role. Captain Obvious himself would be proud if that's what you guessed. The second point is harder: the interview is there for you to judge if you want to work for this company.

What the company is looking for

I tend to think about what a company is looking for in terms of three questions. These questions are ordered in terms of importance, 1 being most important, 3 being least. Let's look at the list:

  1. Are you a good person? (a.k.a "Are you an asshole?")
  2. Do you have some capacity for growth?
  3. Do you have some skills they're looking for?

I'm going to briefly explain what I mean by each of these, and then justify why they're in the order they are in.

Question 1: Are you a good person?

This question is (to me) the most important one, but some people will de-emphasize it. The most fundamental question when somebody is deciding whether to hire you is going to be "will you work well in my team". Good people work well in teams. The equivalent of this question I usually think about is "are you an asshole"? Now, of course, every team is different: to one team "working well" might mean "is not loud or obnoxious", whereas to another team, "working well" might mean "joins us for drinks on friday night, and doesn't mind our harassing them".

The person doing the interview will be trying to determine whether you meet the criteria of "working well in their team". Sometimes not passing those criteria is a good thing. When you want to meet the criteria though, I suggest that the best list of things to aim for if you want to pass those criteria are:

  1. Be a good human. From the moment you wake up on interview day, try and be your best self: open the door for other people (the endorphins will make you feel better). Arrive early so you aren't taking up people's time. Be polite to everyone you meet.
  2. Don't be mean about other people. Often, when doing a behavioural interview, the red flag an interviewer will be looking out for is people dismissing the work of others, or judging their employer rudely. If you're willing to insult or demean your coworkers or boss in an interview, why should they believe you wouldn't do it to them too? This sounds really obvious, but it happens so often. You'll be asked a question about a former boss, you'll say "yeah they weren't very good at their job" and BAM! asshole.
  3. Actively listen to people: when you're in an interview, make sure you're listening to the question that's being asked, and answering that question. Don't ignore what they're saying.

This test is first because, at the end of the day, even if you're a god-like programmer with magical powers, nobody in the team will benefit from your skills if they hate working with you. Therefore, no company wants to hire an asshole. The myth of the "lone programmer", who sits in their basement converting Moutain Dew and Doritos into world-changing code is stupid. No large, successful company writes their code that way.

Question 2: Do you have some capacity for growth?

If you are a good person, the next thing an interviewer is looking for is a capacity for you to grow. This is so important because an employer isn't just hiring you to complete a specific task right now: they're hiring you for the future. Their highest value employees are learning new skills, and in 5 years might have a role with much more scope than the one they are applying for. Curious minds and an appetite to succeed are so much more important than any particular skill.

Acquiring this skill is hard, and there's not an instant on-off switch: developing a capacity for growth requires gradual changes (a growth mindset, changing your priorities, self reflection, empathy, etc.).

To demonstrate your skills though, consider these tips:

  • Make sure that you demonstrate a growth mindset in your stories: explain that there were situations where you were weak, or not fully prepared, or things didn't entirely go right. As long as the story ends up OK, and you can show you've learned, that's good enough!
  • Definitely try and show self-reflection in your answers: talk about things you did well, and things you didn't. Evaluate others's skillsets honestly: what they have that you didn't, and vice versa.

If you can show you have a capacity for growth, as long as you have a minimum skillset, you'll be able to grow into the job. More importantly, you'll be a valuable employee even if you change roles or are promoted.

Question 3: Do you have some skills they're looking for?

This one is the lowest on the list, but it's the most obvious.

Some behavioural interviews will ask questions about technology. While the hackerrank's job is to check you've got technical skills, sometimes bringing them up can be helpful in a behavioural. The one thing to be careful about is this: think about your audience. If you're talking to a technical person, going into some detail on a technical problem might be sensible. If you're talking to an HR person, they won't know anything about programming: don't try and overload them with jargon (or you'll seem like a unintelligible and bad person).

The focus of these interviews will be on human skills. You want to demonstrate that you are a well rounded human who can work in a team and exercise good judgement. So, if you can, talk about the topics they ask you about, and demonstrate your knowledge of how to handle those topics.

Note that research suggests there are significant gender disparities between how qualified women want to be when applying for a job, compared to men. One source suggests that men on average feel they only need to meet 60% of a job's requirements to apply. If you're part of a gender minority, try to find support that works well for you, but remember that you don't need to know everything to apply: if you've got a growth mindset, not every skill is needed.

This is last because if you have a growth mindset, and you're a good person, the skills can (to some extent) be taught. Of course, if you've never programmed before, you're not going to get offered a programming job. But if you're lacking a particular skill or set of skills, showing you're interested and motivated might just be the reason you get hired over somebody else. Consider skills the tie-breaker after steps one and two.

What should you be looking for?

Going back to what I said in the introduction: interviews are about you scoping out the company too. The best interviews are two-sided, with both people being active participants: steering the conversation, and coming in with an objective for what they're trying to do, then cooperating to meet those objectives.

Some important things you should be looking out for in an interview, though, are:

  • Is this person someone you'd like to work with?
  • Does this person convince me I'll feel supported in the workplace?
  • Does this person convince me I'll have the chance to grow in the workplace?
  • Do I think I could be useful here: what skills do I have, and what do I need?

Even though it might seem like if you're interviewing at a big company, they have all the
power, you have some power too. Often, waiting to find the right company is better than just taking a terrible job that you'll hate.

The offer at the end of an interview for you to ask questions is a serious one: you should be figuring out if this is a place you'd be OK to work. Of course, if the market is tight, you can't be entirely demanding; but there are some jobs that are so terrible that it's better not to be working there.

How To Prepare

Once you know why the interview system is setup the way it is, how should you prepare?

Step 1: Collect Stories

Sit down, and write down 5 or 6 different difficult situations you've been in. You're going to keep these in your mind for when you're trying to answer questions. Try and make sure you know the following:

  • What were you doing in this situation?
  • What was your role?
  • What was the issue that made the situation difficult?
  • Who were the other people, and what were they doing, and what was their role?
  • What actions did you (specifically) take?
  • What result came out?

Some examples might be of times you were a leader in a project or group; times you worked in a team; or times you were affected by the leadership of others.

When coming up with these stories, there are three useful points to keep in mind:

  1. Don't lie: interviewers can tell when you lie, or when you're inconsistent.
  2. Don't exaggerate: interviewers can tell when something you say is overblown.
  3. Don't necessarily make everything perfect: you don't need to wrap the whole story up in a neat bow. The story might not end well! The important thing is to show that you considered different actions, and took one that ended up OK. And then, you can talk about what you would have done differently, or what you learned.

Since the company almost certainly asked for your resume, make sure to have prepared situations that relate to your resume. This is because interviewers might ask about experiences in a particular job or activity; and you'll want to have a story ready to go.

Step 2: Questions

Once you've got those stories, practice using those stories to answer questions. You'll find a list of good questions below, but go on the internet and find your own. Then practice (out loud!) how you'd answer them.

  • Tell us about a time you had a difficult to work with team. What made it difficult, and what did you do about it?
  • Tell about a boss you admire: what did they do well?
  • Tell us about your experiences in [X activity], what did you learn from that?
  • What inspires you to do good work?
  • What do you want to do in 5 years time?
  • https://arc.dev/developer-blog/behavioral-interview-questions-tech/

In answering these questions, you want to strike a balance: use your experiences to have a good story and a reasonable answer; but also don't stray too far from the question. If it sounds like you didn't listen, you'll sound like a bad person.

Consider, if you're not sure what to do with a question, saying that you're not sure. IF similar (but not identical situatoins) have occured, ask if you can talk about them. Practice taking a sip from a glass of water to be good at answering questions after a few seconds of thought-time.

Step 3: Research The Company

Before you go into the interview, make sure you know what the company is looking for. Google their company page. Make sure you've found:

  • What they do.
  • What locations they're based in.
  • If they have any company values.
  • If there's any work they do that you're particularly interested in.
  • The job listing you're applying for.

Since you're applying, make sure that you have read the job application in full. Know what they're looking for, so you can make sure to tick off those things in your answers.

Step 4: Read what the company sends you

Almost all companies will send you information about what the interview is, and possibly who is conducting it. Make sure you read this thoroughly, and if you can, learn a little about your interviewers. Knowledge is power.

Step 5: Try your best!

After all that prep, things might still not go well. That's OK! Just remember, it's all practice, and there will always be more jobs for you to do. Try to avoid too much stress about it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment