The perfect candidate doesn't exi...

The perfect candidate doesn't exi...

Last time, I wrote about how to "Hire when it hurts", instead of in anticipation of what might come.

Since then, I have completed the hiring of our new full-stack developer. He's on board and in full swing!

The process was crazy. I received more than 400 applications for the position.

So here's the breakdown of how I went from 400 to one!

It ended up being quite a long post, so grab a cup of coffee before you read on. And if you'd rather hear it than read it, check out the 6th episode of our new SaaSKøbmænd.dk podcast, where we also discuss this.

 

Getting the 400 applications in the first place

It starts with the job ad. It's still live and you can see it here: https://herodesk.io/da/jobs/

I've partnered up with Kenneth from TalentX.dk (shoutout, buddy 🙌). They help do personality/talent tests, but also help create a "success profile": How do we think the best candidate looks? Which talents are more important? Which are not? And based on that, we write the job ad.

I've used them for all hires the past few years and will continue to do so in the future. I haven't had a wrong hire since I started working with them (knock on wood).

A few facts about the position:

  • It's fully remote.
  • You have to be +/- 3 time zones from GMT+2 (Denmark), so we have enough overlap to collaborate daily.
  • It's a senior position (read: I expect you to be better than me at building code).

 

Based on that, we found that we should prioritise talents such as responsible, targeted, problem solver, focused & positive.

The job ad was then designed to attract people who naturally have those talents (by wording things carefully, etc)

I posted it on our website and on LinkedIn (as a job ad).Then things went crazy.

I received more than 400 applications in less than two weeks.Some of the feedback I got from applicants on why they applied was:

  • Good and clear job description.
  • A chance to do real work and have a real impact on the product.
  • A clear direction on what we want to do.
  • Fully remote at a start-up on an exciting journey.

 

No one (as in no one!) mentioned our profit-share program. We still have it... I just think it's interesting that the job and the possibility of doing real work motivated the applicants.

 

Narrowing down the field, part one

Not everyone reads the fine print. It was relatively quick for me to discard about 60% of the applications, because of reasons such as:

  • They were too far away (time zone requirements).
  • They just sent me a CV (I require a cover letter that tells me why you want this job and convinces me to take you through to the next round).
  • No match on skills (this is a senior position - some applicants simply didn't match).

 

It's impossible to judge someone based solely on their resume.You can have 8 years of senior software developer at FANG without ever implementing something meaningful (in the context of what I'm looking for, anyway).So the cover letters are essential!

So, down from 400 to 150.

 

Invites to 1st round interviews

I manually read and carefully evaluated every one of the remaining 150 applications. No AI, no outsourcing. My hire, my job. And I think I owe it to the people who spent time applying with me to read it. 

Again, it's difficult to judge someone based on their resumé and cover letter. So I decided to invite the ones who sparked my interest to a 1st round interview.

I was looking for tech stack, relevant experience and motivation in the cover letter.

I ended up inviting 24 people to 1st round interviews. They consisted of:

  • 30-40 minutes online meeting.
  • The purpose was to get to know each other and feel the energy. I'd much rather hire the 2nd or 3rd best skills-wise, if they're much better personal match.
  • Ask questions about past work, how they address problem solving, motivation for applying and salary expectations

 

I always clarify salary on the 1st interview. It would be a waste of time for everyone to go all the way only to find out that you're miles apart on salary.And I'm happy I did. 3 of the 24 candidates had expectations I couldn't meet, so that was that already.

The ones that were not invited to the 1st round interview received a personal email from me, saying thank you for their time, but unfortunately, they had not moved on to the round of interviews this time.

 

Finding the 4 candidates for 2nd round interview

After talking to the 24 candidates in the 1st round, I decided to invite four candidates to the 2nd round of interviews. Why four? It was the number of talent tests I bought (you pay for each one). Plus, I don't want too many. We need to really start narrowing it down now.

I was looking for:

  • Who do I believe will be the best match in terms of skills?
  • Who did I have the best energy with?
  • Who do I think will be a long-term fit?

 

And so I repeated those questions 3-4 times to narrow it down from 24 to 4. That wasn't easy...Again, a personal email to the candidates that didn't move on to the next round.

 

Testing their skills

Before the 2nd round of interviews, each candidate completes a talent test (FirstMind). During the interviews, we discuss things like the result of the test, how it compares to me (they have to be just as excited to work with me as I am with them), reiterate on their motivation and thoughts since our last talk, and finally, a quick skill test.

Before the interview, I sent them a task to solve.It was a bit tricky. It had to be relevant to the job (I hate it when you ask a developer to "quickly sort this binary tree" ← no one ever does that in real life) and somewhat "cheat-proof" (meaning I don't want you to be able to ask ChatGPT to solve it for you). So, no code examples.Instead, I asked them to conceptually and at a high level think about how they'd address this task:

"You've been tasked with building an AI agent that should be trained on users' data from various sources. The agent's purpose is to reply to incoming customer questions automatically with high-quality and correct answers. How do you think you'll go about building that? I'm interested in your perspectives on system architecture and design."

 

You can ask ChatGPT for help, but I can ask two or three questions and immediately see if you actually know what you're talking about. 

I think it worked really well and gave a great insight into how the candidates' minds work and how they address a task like this.

 

Finding the right candidate

Going from the last four to one was a combination of:

  • Where did I feel great energy?
  • Who had the highest (and right) motivation?
  • How did they address and solve the task?
  • Who was the best fit in the talent test?

All of that combined helped me find the right candidate.

 

Hiring

The last step is actually hiring the candidate. You have to do things in the right order here: 

  1. Offer the job to the candidate.
  2. Verbally agree on terms, write it in the contract (and get one made if you haven't - like I didn't), and send it.
  3. Get the signature back.
  4. Reject the other candidates.

 

In the past, I've tried to have everything in place with a candidate, only for him to regret it last minute. In that case, you want to be able to offer the job to number two. So don't reject the runner-ups until you're all settled.

 


  

If you managed to read this far (well done!), you might be asking yourself: Isn't this overkill? Why not just find a good developer and hire him (or her)?

 

I could probably have found a lot of very skilled developers.However, this is the 2nd full-time position at Herodesk. I cannot afford to get it wrong and hire someone who's not the right fit on either skills or personality.So I'd much rather invest a lot of time in doing my very best at finding the right guy, than not being thorough enough and having to fire him again after 6 months (that would be double expensive: waste of time and money!).

 

It was a luxuary situation with many highly skilled and qualified candidates (thank you again to everyone who applied!). So it was a matter of finding the one I think is the best fit, short-term and long-term.

 

How do I know if I've hired the right guy? I don't - you never know what the future brings.What I do know is this: He started on May 1st. By the time of writing this, he's already completed and pushed three tasks to production, he's well into solving something I haven't been able to, and there's great energy in the team.

 

So I'll say it's looking pretty good...