Ask HN: What's your hiring process like?
Hiring people can be a risky thing. You're bringing someone in the family and hoping they can deliver. What are some things you do to minimize that risk? Do you contract first? Coding challenge? I'm curious what others do to minimize the risk when you haven't worked with someone before.
7 comments
[ 3.4 ms ] story [ 25.4 ms ] threadIf you have doubt over a certain low threshold about the candidate, don't hire. A bad hire, especially in a startup, is terribly expensive.
Testing coding is mandatory. Back in the '90s when C/C++ were the game, we used two tests, write code to create a doubly linked list, and look at a small function we'd put up on the white board and find problems with it. Both were graded generously, it was pretty clear if the candidate had a clue or not.
Then general problem solving, i.e. some design problems, perhaps including a big/relatively difficult one, and have the candidate describe some design solutions they were proud of.
Code samples were very welcome if available, of course.
In all of this, you'd get a pretty good sense of whether you'd like to work with this person. You'd also use the whole process to sell the company/project to the candidate, and see how they responded to that, they had to show either some interest in it, or for the more professionally oriented, something like an attitude that it would be no problem in due course and they would like the work.
Ah, especially for startups, get across the concept that "you can't be too proud to not sweep floors" if needed, but that each engineer would be allocated both some of the less interesting work that just has to be done, and the interesting work.
"I have a female friend. She asks every guy she meets at a bar two questions:
1. Do you have a passport?
2. Do you have a Kindle/Nook/library card?
Why does she ask these questions? If the answer to 1 is no then he doesn't like to travel abroad and if the answer to 2 is no then he doesn't like to read."
In essence, she determined two quick filters that were the most important to her.
I had a manager who had a similar test for candidates. He would give them a 5 question tech test where the first question had a "trick" item. Specifically, sort multiple 5GB+ files on a box with 1GB of RAM but 100GB of disk space. If the candidate got the first question wrong, that was the end of the line for the candidate. Why? It showed that they:
a. Didn't have attention to detail
b. Didn't fully understand basic technical constraints e.g. in this case RAM is limited but disk is not.
One other point I always like to make is to screen candidates in parallel. For example, if your process is to bring someone in to the office and then give them a tech test, that's a serial process.
On the other hand, if you give the tech test to recruiters and say "Have candidates fill this out and then send it in", you just created a parallel process to screen candidates.
I've also heard people say "What if they look up the answers?" to which I reply: if you give someone a test with google-able answers and they still get it wrong, you just filtered out a pretty bad candidate. Win for you.
The take home code test they use is totally googlable, however there are multiple ways to solve the problem and they ask candidates to provide tests for their solutions. If they are happy with the solution and find it distinctive the candidate gets to explain the solution during the onsite interview.
I found the whole process very relaxed and enjoyable.
Also, the duration of 6 month is short enough that, even if I don't like the place, the incentive is there to put the best foot forward to get the best recommendation possible to go somewhere else.