5 ms·
We've spent a lot of time honing our interview process, and I think we're at the very least on the right track. Our Java phone screen is really short: 1. Expl
by thomascgalvin 9y ago
We've spent a lot of time honing our interview process, and I think we're at the very least on the right track.
Our Java phone screen is really short:
1. Explain the difference between `public`, `private`, and `protected`
2. What does `static` mean?
3. What's the difference between a `List`, `Set`, and `Map`?
This takes about ten minutes. Anyone that can answer these three questions and doesn't present as a raging asshole gets an in-person (or skype) interview.
The in-person is a live coding session. The candidate can use their own laptop, or we will provide them one. The test is contained in a github repo, and consists of a couple dozen unit-tested challenges. We pick and chose which challenges to give them based on their experience.
The challenges range from "Write `Hello, World!` to the console" all the way to "Implement the QuickSort algorithm". The candidate is encouraged to use Google, and we link them to the Wikipedia page for any algorithm we're asking them to implement. This part of the interview takes one to two hours.
This process has essentially eliminated bad hires; nobody that we've hired using this process has turned out to be a dud or a jerk. I still wonder if we're passing on candidates that would be good if tested in another manner, but right now I have no idea how to correct for that, or even what I would be correcting for.
- tootie 9y agoThis is almost exactly how I like to do it. If you say your have X years of Java development (or whatever language) I will give 10 or so trivia questions like this. I don't expect 10/10 correct, but you should probably get 6-8 and you should be able to answer those in 2 seconds. I also give that instruction up front so they don't hem and haw on the 2 or 3 things they've never seen before.
- klenwell 9y agoThis is great. I especially like these parts: > The candidate can use their own laptop, or we will provide them one. The test is contained in a github repo, and consists of a couple dozen unit-tested challenges. > The candidate is encouraged to use Google, and we link them to the Wikipedia page for any algorithm we're asking them to implement. The only other thing I'd be looking for as a candidate (and that I make sure to do when I'm hiring) is to provide reasonable estimates as to when the candidate can expect to receive a response or decision. And then meet them.
- noitsnot 9y agoThis helps you when everyone and their mother is asking those same three question in their interview?
- Silhouette 9y agoThose three questions aren't to pick out good candidates, they're to pick out hopeless candidates. I used to be almost offended when I would interview for a position as a senior developer and get asked entry-level questions about my programming language of choice. Then I started sitting the other side of the table and realised that someone applying with "5 years of experience using C++" actually might still not know when to use public, protected and private. It's shocking how often something like that happens, and if you don't pick it up until an in-person interview, you're just wasting a lot of everyone's time.
- kevan 9y ago>Then I started sitting the other side of the table... I think everyone should get a chance to participate in their company's interview process, even if it's just shadowing while others conduct the interviews. It's one thing to hear stories about people with 10 years experience not being able to write basic code. Seeing it in person really drives the point home.
- Silhouette 9y agoSeeing it in person really drives the point home. It does. The only thing I've seen that drives it home more is being part of the process to fire someone who was a bad hire, particularly if you were also part of the hiring process that gave the wrong answer. If that individual is basically a decent person and just doesn't turn out to be very good at the job then it's never pleasant to know that you're taking their source of income away and especially to be the one breaking that news to them, however much it may be necessary objectively and professionally to do those things.