Files
sagivo-blog/_posts/2022-02-09-there-must-be-a-better-way.md
Sagiv Ofek aeda5356d1 a
2022-02-09 12:53:05 -06:00

5.0 KiB
Raw Permalink Blame History

layout, title, description, categories, keywords
layout title description categories keywords
post A confession of a FAANG hiring manager There must be a better way to hire software engineers
hiring
engineers
FAANG
interviews
startups
work
career
life advice

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.”

Its American Idol, after all, its too big of an opportunity to give up now. After all, you love singing.
Luckily theres 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, youre finally ready for the real audition. You go on stage in front of a few judges, but the stage looks strange to you. Theres 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 wont 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 Im 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 Ive come to the conclusion that theres 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, Ive decided that in my new company the hiring process will be different.

How do we hire in LibLab?

  • Therere no LeetCode questions. Unless we will need a specific algorithm re-invention, we encourage engineers to use existing, well-tested tools.
  • Theres no whiteboard. Its good if we want to brainstorm, but we dont code on them.
  • Theres no time pressure to submit an answer. We give candidates a take-home task to do in their own time.
  • Theres 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. Its a manual process that requires a lot of time and effort.
Test for the skills youre actually looking for.

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