Imagine an audition for American idol. You believe you have what it takes to be the next rock star.

Then you read the application requirements:

  • “Do you know how the microphone works? Who invented hip-hop? - We want to see you have academic background.”
  • “How fast can you sing a melody? - We want to see how fast you can execute.”
  • “Can you sing in native Arabic? - What about Mandarin? - We want to see how you can adapt to popular languages.”

It’s American Idol, after all, it’s too big of an opportunity to give up now. After all, you love singing.
Luckily there’s an entire industry now that can teach you to sing really fast under pressure. There are businesses that help up-and-coming rock stars learn Arabic and there are online courses that teach how microphones work.

After months of preparation, you’re finally ready for the real audition. You go on stage in front of a few judges, but the stage looks strange to you. There’s a large water container on stage.
“We want you to sing Changes by Tupac Shakur in Arabic, under 60 seconds all inside this giant water container. Basically, we want to see how well you can sing underwater,” says one of the judges.
“But…,” you say “I won’t be able to breathe there…”.
“Exactly!” the judge says. “We have a high singing bar. We want a candidate who can sing with no air, the bests can sing for 200 seconds!”
“So how would you know how good of a singer I am?” you ask.
“It doesn’t matter, we will make you a singer if you can do all of that.”.

I think by now you understand where I’m going with this. Our industry has gone off rails when it comes to hiring engineers.
I was a hiring manager at Facebook and Amazon and interviewed hundreds of engineers for big tech companies.
I hated the way interviews were conducted there because the interview process did not assess real experience.
There is a status signaling between FAANG companies - who conducts the “hardest” interviews, who asks the hardest questions and for which company you need to prepare the most. Kinda weird prestige tag.

Engineers are most comfortable with their laptops, but in interviews are asked to write on a whiteboard.
Engineers Google stuff and research, but in interviews, they are asked to solve a problem on the spot.
Engineers need to focus, but in interviews, they are pressured to solve a problem in an hour while being watched.
Engineers write code to get sh*t done, but in interviews, they are asked to re-invent merge search.
Engineers use tools to build products, but in interviews, they are asked to come up with tools for no product.

After years working for these companies I’ve come to the conclusion that there’s no correlation between how people perform in leetcode-whiteboard coding sessions to how they actually write code in real life.

It was not rare to find candidates who memorized answers to algorithm questions that can easily be found online.
I was not testing their knowledge, I was testing their preparation to the interview. Companies deduce that if a candidate worked hard to prepare to the interview, they have what it takes to be an excellent engineer.

The problem is that people can optimize for an interview and pass without actually being good engineers (false positive). Companies can also fail an amazing engineer that will simply not prepare for this type of interview style (false negative).

Because of these reasons, I’ve decided that in my new company the hiring process will be different.

How do we hire in LibLab?

  • There’re no LeetCode questions. Unless we will need a specific algorithm re-invention, we encourage engineers to use existing, well-tested tools.
  • There’s no whiteboard. It’s good if we want to brainstorm, but we don’t code on them.
  • There’s no time pressure to submit an answer. We give candidates a take-home task to do in their own time.
  • There’s no on-site day. Candidates used to fly for an “on-ste” interview and spend a day of back-to-back sessions. With flights, it will be 3-4 days away from home. We want candidates to spend no more than 5 hours total with us. Covid also helps a lot with that. Companies realize that flying candidates around is not really needed anymore.
  • Only practical questions. Our interviews will be as practical as possible. Most of the questions will be real problems we deal with at work. This tells us how candidates can solve real problems and also give candidates the option to evaluate if these are the problems they want to solve.

Hiring and interviewing engineers is not easy. It’s a manual process that requires a lot of time and effort.
Test for the skills you’re actually looking for.

If you want to see how we hire in Liblab, check out our careers page!