Live data from Hacker News

Ask HN: What should an ideal developer interview process look like?

news.ycombinator.com

251–260 of 289 posts

Re: Ask HN: What should an ideal developer interview process look like?

#251

1) A test that tries to mimic what the developer would be doing in the actual job as closely as possible. This is what most interviewers fail at - they seek out stupid proxies like whiteboarding rather than simply trying to mimic real life. 2) > 45 min 3) Minimal setting up development environments, frameworks or test environments. No boilerplate should be required during the test. 4) The test is improved iteratively…

> Exercises that try to mimic what the developer would be doing in the actual job as closely as possible. This one is critical. (the following is just inspired by your bullet) The job of a developer consists of problem solving something they have never encountered before (under some pressure), communicating to other developers, and demonstrating knowledge in various combinations and amounts over time. Startup develop…

>Talking through a few whiteboard problems and talking about tools they have used (why and how) are sufficient.

I've done interviews with a whiteboarding "tell me about stuff you've worked on" component followed by a test.

It thought it gave a weak signal about the skills of the candidate. I canned it eventually because the test gave a very strong signal and it wasn't telling me anything the test didn't.

>Interviews with higher management is just a redundant filter and another reason for the management to justify their existence.

I agree. I had suspicions in a previous company that this upper management "team fit" interview was adding a race/nationality filter that ended up with good candidates getting dropped.

Re: Ask HN: What should an ideal developer interview process look like?

#252

Earlier quoted context omitted.

If the project only takes an hour for a junior it shouldn't be a problem. I would be worried that their senior position problems might not be as quick to solve (which is similar to the real world), but then this interview technique might just be best for junior positions and they do something different for senior positions given the different in skill sets and what problems they are expected to solve.

this comment misses the point and is why we don't give take-home work to senior developer candidates. they are in high demand and will not spend their free time on homework, when many other companies will gladly hire them without making them jump through hoops.

And yet 5 interviews per company still occurs commonly

Re: Ask HN: What should an ideal developer interview process look like?

#253

Respectful of my time. Think of dating - if after 3 dates, you still are not sure if you like somebody, maybe it is better to call it quits. I had companies call me in for more than 4 interviews, distributed over several days. Not respectful. Coding: I actually like coding tests in interviews. Then I know my potential future colleagues will also have had a coding test. The company cares at least a little that my coll…

> Just don't take the coding test too seriously. Don't expect me to write correct syntax on a whiteboard, for example. It should be more about having the right ideas, or even be able to discuss possible approaches if a solution isn't obvious immediately. This is important. I'm nervous. I don't know you people. And modern IDEs/Editors fill in most of the boilerplate for functions/classes, etc as well as help me recall…

I’m fully convinced that 70-80% of my energy and brain function during an interview is spent on listening, formulating responses, breathing and in general trying to interact in a social situation with people I don’t know. That leaves very little to solve problems that I’m not prepared to speak about, usually a riddle or coding puzzle that has no bearing on my day to day.

As developers we are a bit introverted so being in a room with 2-3 people knowing that after this there will be another 2-3 people for round 2, is very difficult. As an interviewer I’ve watched candidates open up talking about what they know and why they enjoy being a developer and completely fall apart (sweat, shake, refuse to get out of their chair) when you hand them a dry erase marker and show them the white board.

Re: Ask HN: What should an ideal developer interview process look like?

#255
In the end, I'm always trying to have a "discussion about code" with the candidate. I ask questions that really are easy, but require a certain amount of listening. This way I understand how the candidate behaves in more abstract discussions.

Some examples are things like:

- Walking the candidate through an outdated API (that the candidate isn't familiar with, but should be able to understand given the nature of the job)

- Walk the candidate through code that converts a database query into objects without an ORM. (Candidates who can't do this are incompetent. Really.)

- Discuss commonly-known details of exceptions / error handling in the language that the job is for

- Discuss commonly-known details of memory management in the language that the job is for

- Discuss API choice tradeoffs in an API that the candidate should be familiar with. (I like to pick serialization APIs built into the library in the language we will use.)

Also:

- I try to emphasize how I would do with my interview at the candidate's level of experience

- I have 2nd chances, and will usually stay on the phone for the scheduled interview out of respect. (There are still certain points where I will cut an interview short.)

- Make a decision to hire quickly.

Usually works well.

Signs to reject someone:

Figuring out how to use the teleconference software is an unofficial part of my interview. (Most of my interviews are conducted via teleconference because I'm on a global team.) There are candidates who take 15 minutes to figure out that they can type their phone number into the teleconference web site and it will call them back.

Candidates who want to answer a different question, or keep asking, "why can't I use XYZ" technique usually aren't hired. Again, the purpose is to have a discussion about code and demonstrate understanding of the discussion. I don't want to hire someone who can't adapt when the correct solution to the problem is some tool / design pattern / API / ect that isn't the candidates first choice.

Re: Ask HN: What should an ideal developer interview process look like?

#256

Earlier quoted context omitted.

This is a great brief summary. Currently, most interviews put very heavy emphasis on 1, slightly touch 2 and often forget 3 altogether.

I think the idea about skipping 3 is that the applicant is choosing to apply to a particular company. That's implicitly saying that they're willing to work on that company's code. I don't know how valid this is nowadays with the common practice of throwing applications at the wall and seeing what sticks.

Well 3 is the job of the applicant to figure out. That's about having the right questions on your end.

Re: Ask HN: What should an ideal developer interview process look like?

#257

Counterintuitively I think the problem with hiring is actually a problem with firing. Hear me out. Everyone is so focused on finding this mythical perfect candidate, instead of giving people a chance. Which is really another way of saying "We're afraid to fire people." Culturally, we should hire and fire more freely. I once got a call from a company that said I was an absolute perfect fit for what they were doing-- w…

So instead of giving you a 6 month trial run followed by employment they should give you a permanently temporary gig? Because a job where they hire and fire freely sounds a lot like how companies treat contractors.

I was, of course, using the story to illustrate the absurdity of the overall situation.

I don't want to leave a secure job for an insecure situation because they're difficult to find. They won't consider a direct hire for a "perfect candidate" -- proving my fears.

My point which perhaps I should have been made more clearly is that they're asking me to leave a direct hire situation for a temp job. They're asking me for a commitment they're unwilling to make themselves.

Power asymmetries suck.

Re: Ask HN: What should an ideal developer interview process look like?

#258
post #238

Earlier quoted context omitted.

I have the exact opposite opinion: a coding test is for a candidate you already want to hire and introduce to your development team, to have a look at their coding style. You don't want to get your developers together for any random loser who'd never want in your team anyway. So the coding is a late stage filter. At least for me it's always been.

But if experienced candidates go "meh" life's to short you might have missed a better candidate. And Martin any professional should adapt to the systems in place - and I wouldn't use terms like "random luser" might have some blowback.

If life's too short to continue with the final stages of an interview process, I don't know what to say. The whole idea, if you do it right, at least, is that you only give this test to developers that you already know you want. That means that for those developers, this is not one of dozens of tests they need to do, it's the one test; or one of a few, if they're that lucky.

And if they're not interested in putting any time or effort into a new job, it seems to me they're probably not that interested in that new job in the first place.

But it seems weird to me that so many people here consider a whole day of interviews to be totally acceptable, while some actual coding is not. Compared to some of the interview horror stories I often read here, this seems vastly preferable. I actually get to show what I can do in a realistic setting, and I get to explain why I do what I do. I get to meet the other developers and talk to them.

And with the best programming tests, I actually get to learn something new. For the best one, I had to learn React (which I had no experience in), build a game board on which you can put obstacles, and write an algorithm to find the shortest part through the resulting maze. (I ended up rejecting that job because it was too far away and not enough pay, but I'm still really happy I did that coding challenge.)

Re: Ask HN: What should an ideal developer interview process look like?

#259
post #195

Earlier quoted context omitted.

The advantage of using something like codility, or making it a take-home thing, is that they can do it in their own time, free from the stressful environment of an interview.

I hate doing take home projects. * It's way too easy to set a project that takes too long. I was given one the other day that would have taken about two to three full days. That simply doesn't happen if you do the test sitting in front of them - the time spent (and potentially wasted) is always capped because the test setter doesn't want to waste too much of their own time. * Take home projects inevitably have issues…

  > It's way too easy to set a project that takes too long. 
They do often take longer than they claim. That's true.

  > Take home projects inevitably have issues ("bugs", if you will). You can't just "resolve" those problems if the person who set it isn't sitting in front of you.
In my experience, you're usually assigned someone you can call or mail with questions. Asking questions is good. Though I usually figure it out on my own.

  > Take home projects take employer skin out of the game. It's way too easy to give out twenty tests and ignore ten of them
Only if they do it wrong. The right way is to give this assignment only to candidates you will definitely want to hire, unless they produce terrible code. The candidate doesn't mail in their code, but presents it to a group of developers who ask questions about it.

This gives the employer skin in the game: they're not going to keep their developers off their work for dozens of candidates who are probably not going to make it; they only bring them out to assess a very likely hire.

I guess some employers use these coding assignments badly. You're totally right to avoid those.

  > I could just have copied someone else's.
But could you have been able to explain the choices of that someone else?

  > You lose a valuable source of feedback which allows you to iteratively improve the test if you're not watching the candidate while they do the test.
Maybe, but to many people, coding on the spot is more stressful than it is at home. Although I've also done some really enjoyable pair programming on what was probably my only long interview day (which had an interview, pair programming, and a game to get to know each other).

  > It's valuable to talk through the solution with the candidate while they do it
But it's also valuable to talk through the solution after they've done it. That's when they have made those trade-offs.

Re: Ask HN: What should an ideal developer interview process look like?

#260
post #214

Earlier quoted context omitted.

The disadvantage of that is that the interviewer no longer knows if the candidate actually solved the problem or if he got his CS roommate to solve it for him.

Isn't that one of the reasons to ask follow-up questions like "why did you decide to use data structure X here instead of Y"? If the candidate didn't write the code, their lack of coherent answers should make that obvious pretty quickly.

Exactly. That's why you let them show their code to the other devs who get to ask questions.

I don't believe someone who can't code can explain someone else's code in a convincing way.

Post reply on HN