Hiring(DRAFT)

I like to think about hiring as a fundamental thing when building a team. Decision to hire or not to hire is most probably one of the most important decision with long term consequences the manager can make. It's like an investment. You invest time and money to get positive ROI for a company if you do it wrong this will usually lead to wasted company resources and you having a lot of troubles.

Additionally it's worth considering that if you hire right people your job becomes easy. With wrong people it might quickly get complicated.

"Leaders spend 10% of their time recruiting and 90% of their time making up for the recruitment mistakes." - Mads Faurholt-Jorgensen

That's why you should never stop interviewing and keep the bar high. The worst what can happen is this very urgent project and you hiring the person because you are in the rush.

When I think about my best hires I always had this gut feeling that it was the right person.

Exercise

List down all your hires and sort them from best to worst.

Remind yourself the interviews and try to find what was in common for your best hires and do the same for your worst hires.

List down common things in both categories and look for it going forward.

Answer questions

  • what is % of good hires? Aim to reduce pass rate to this percentage.

How do you select right people for your team?

It's very important to understand who your team needs to be more successful. Who are you looking for? You shouldn't look for same type of people. You should look for a skills which would enrich your team. In order to do that you need to know your team very well and discover the gaps your team has. Think about it like about soccer team. Soccer team needs goalkeeper, defenders, midfielders and forwards. You won't create a good team from strikers only.

It's important to define these requirements before you interview. If you do that you are capable of consciously identifying if the person matches the criteria.

How do you understand your team gaps?

  1. Assess current strengths and weaknesses of the team

  2. Asses future initiatives in the teams and which skills will be required

  3. ...

Criteria:

  • outstanding communicators

  • warm and positive personality

  • matching technical experience

    • languages

    • frameworks

    • domain

Interview process

Based on my experience following process works well for both individual contributors and managers:

  1. Pre-screening

  2. Screening

  3. Coding

  4. Platform

  5. System Design

  6. Culture fit

Each round is driven by different team member and takes up to 1 hour.

After each round interviewer submits scorecard according to predefined templates.

Each interviewer votes in few categories:

  • Definitely No

  • No

  • No decision

  • Yes

  • Strong Yes

Pre-screening

Screening

Checklist:

  • has person been promoted in any of previous companies?

  • how long person was working for each company?

  • does technical expertise matches with your team?

Be careful with disqualifying candidates solely based on their resume. Mads Faurholt-Jorgensen in his TEDx speech highlights the difference between shouting talents and whispering talents. Shouting talents are people with extremely good resume, with great track records, big companies, promoted within them. Whispering talents can be equally good but are harder to find. Their resume might not contain best companies. It's important to be conscious about that.

Based on my experience from my top 20% of hires, half of them were whispering talents.

Coding

Platform

System Design

Culture Fit

Dos and Don'ts

  • keep candidate posted if it comes to next stages and timeline

  • always share feedback after each stage

  • try to shorten the process as much as possible, keep in mind that you can do a few stages at the same day

  • be aware of unconscious bias

  • read candidate resume and scorecards before an interview

Interviewing

System Design

You can follow below template

  1. Before interview

  2. During interview

    1. Introduce yourself

    2. Ask the person to introduce

    3. Ask system design question - it should be loosely defined one which can allow you to understand how candidate thinks and refines the initial requirement.

    4. Inform candidate when you will deliver feedback

    5. Spend few minutes at the end for candidates questions

Soft skills

  1. Tell me about the last application you have been working on and the architecture choices behind it.

  2. Are there things which you would do differently?

  3. In what direction would you like to develop your carrer?

  4. Which soft and technical skills are you currently working on to improve?

  5. What's your notice period

  6. Why are you leaving current company?

  7. What is most important to you if it comes to cooperation with other developers?

  8. How do you explain technical challenges to stakeholders who do not have technical knowledge or backgrounds?

  9. MacBook or Windows?

  10. Do you have any questions to us?

Last updated

Was this helpful?