ARE YOU PREPARED FOR YOUR NEXT JOB INTERVIEW?
Published: 2019-11-11 20:53:08

Have you ever failed in a technical interview? I bet 100% of the readers will say yes unless you never did one.
This article is not to teach you to succeed in a technical interview but to explain why they exist and how interviewers evaluate candidates.

> *Disclaimer*: All information here is based on my experience and does not reflect the truth as each company or person can have different opinions.

What I'm going to cover here is:

- Why do companies do technical interviews
- The interviewer
- Candidates
- Hiring processes

## Why do companies do technical interviews
There's no regulation on the IT industry like on other as Medicine where professionals need to pass a test and prove they'll not kill someone.
Unless you're making a medical app or coding an aeroplane computer, you're probably not putting anyone's life in danger. You'll most likely write code for a website or similar experience.

Even if there was a regulatory entity, the IT industry is so broad and fast-evolving that professionals will need to update their tests regularly.  Also, by the time the test is ready, the technology is already outdated.
To make sure a candidate know what their CV's states, the best option for companies is to do their own tests.

To access the candidates' skills the companies need someone to run those tests, that is when the interviewer comes into play.

## The interviewer
Just thinking about interviewer most of the people will think about someone smart and want to make you fail.

When the interview is with more than one interviewer, there's always the good cop and the bad cop.

But this image needs to be changed. The interviewer is there to be your friend and wants you to succeed.

If a candidate is called to an interview is because the company already identified potential and it is possible to hire you. So failing candidates for the sake of having fun doesn't make sense as is expensive to keep doing interviews while the interviewer could be working on something else.

As a candidate, you are also doing an interview, you're evaluating how the interviewer behaves. That behaviour is probably how the company culture is, so if you don't identify yourself with the interviewer, you'll possibly not adapt to the company's culture.

People are different and have different likings, to don't feel bad if you don't identify yourself with the interviewer or company. This simply wasn't your best option, so it is better to move on. Take the opportunity to learn from the experience and apply to your next interview.

## Candidates
This topic is in plural on purpose, because I'm going to mention how I identify a good candidate, but more important than that is how to identify a great candidate.

I can enumerate a few skills to help me find good candidates.

- **Knowledge** - the candidate will show excellent expertise on technologies
- **Communication** - even people thinking that IT professionals work on their computers all the time, communication is vital for them to work with stakeholders and colleagues. No one works alone.
- **Experience** - it is essential to have experience on the tech stack they work with.
- **Problem solver** - humans are problem solvers by nature, and IT professionals take this to the next level by scaling the solutions.

Any candidate who can present those skills is considered a good candidate, but we can find better candidates if we evaluate a different set of skills.

- **Learner** - a candidate who presents learning skills can improve their knowledge with time.
- **Curious** - a curious person will never agree to repeat the same work over the years, they'll always try to investigate and experiment new things.
- **Teacher** - there's no point in learning new things if you can't share your knowledge. So sharing is an excellent way to learn and upskill other people.
- **Passionate** - when someone has a passion for what they do, they'll never say TGIF because they love to work. There are no impossible challenges for passionate people.

Now that we know what to identify on the right candidate, let's see how we can do that.

## Hiring processes
Usually, companies are very creative in their hiring processes, the problem with that is that they start to be complicated.

When a process is too complicated, it takes time, leading the candidate to withdraw. With the competitive market, we live nowadays, we need to be quick to hire the best candidates. Unless you are one of the major IT brands in the world.

So far, I worked for two companies as an interviewer. Perhaps I am biased, but their hiring processes are straightforward.

The first one is composed of 5 steps.

- **Technical puzzle** - this is an in-house fully automated puzzle where the candidate generates a token, write their code and submit to the system. There's no human interaction, hence there are no costs to filter candidates who do not have the minimum experience.
- **Live coding challenge** - remote 30-minute code exercise where the candidate will use their own computer and IDE with the opportunity to show their coding skills. Usually, the task is to debug a broken app.
- **Technical interview** - remote or in-person chat about the candidate's technical knowledge. This chat will most likely be driven by the candidate, depending on how they answer the questions.
- **Management interview** - this stage is non-technical with a manager and a people & culture person. They'll make sure the candidate is aligned with the company values.
- **Offer!**

That process is pleasant, straightforward, but it lacks a formal way to identify great candidates, relying only on interviewers feeling.

The second process has a significant step to try to identify the great candidate skills.

- **Phone screening** - as the name says, this is a phone call where the interviewer will try to filter out the candidates who don't have minimal experience.
- **Technical interview** - this step can take up to 1.5 hours and is composed of a code challenge and technical discussion.
- **Behavioural interview** - that's when the interviewer is focused on identifying great candidate skills with non-technical questions.
- **Cultural interview** - interviewers from a different department will access the candidate based on the company's values to make sure they are a good fit.
- **Offer!**

As you can see, both processes are simple and straightforward, they also have their flaws.

Now you're probably asking yourself if I know those processes have flaws and know which part is better on each one. Why not change and make a better one?

Changing a hiring process is not easy, there's a lot of people involved, and you need to justify why it should be changed and how to improve. Later you'll need to evaluate if the results are valid or not and continue adapting.