Live data from Hacker News

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

news.ycombinator.com

221–230 of 289 posts

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

#221
post #214
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.

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.

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

#222
I wish I'd had "a real plan" in jobs past as an individual interviewer in a series, instead of a vague goal like "talk about his technical chops" or "see if she can work across teams". I turned out not to be very good or consistent at either freestyling questions completely OR reporting reliably whether a candidate was "successful" in my area without planning and consistency.

I'm a former developer, turned hiring manager for a very technical support team and employ several things I feel are fair and useful and I believe would also have been in that past life.

0. repeatable interview process. When comparing candidates, the comparison should be apples:apples. "check for culture fit" isn't; "ask questions 1,2,3 of each candidate, with goals of finding out x,y,z and help to N degree if requested" is. Leave room for the candidate to demonstrate personality and style of course, as well as (short) tangential conversations that come up during the Q&A process. The goal isn't to make it robotic/automatable.

1. There is a take home exercise. It has a clear scope:

- accomplish goal X (create a website)

- with tools like Y (your choice of static site generator)

- in Z fashion (public github repo)

- in less than 4 hours.

Encourage questions before candidates begin the exercise, so that people work on the right problem rather than guessing wrong. Don't force a timeline ("you have until the job closes which won't be sooner than a week from now"), and use an objective grading rubric for each section of the task.

Here's an example of the objective rubric: 1 point for grammar, 1 point for each of two distinct points of content, and 1 point for providing the context as to why those are important points. Few of the questions have only one correct answer and it is not always obvious to candidates what we're looking for in an answer; but it is known in advance to the grading committee what is being sought, e.g. "perspective over plot".

2. interviews are in slack. We're a remote team who communicate 95% via writing, and it doesn't matter if you stutter or what you look like or how you present. Get comfortable in your PJ's with a cup of tea, or use your standing desk if that helps you feel sharper. It only matters how you communicate in writing.

Once again, the interviews are structured - "interviewer 2 will ask these 5 questions" and the criteria for success aren't "this woman was well spoken" but instead "she showed ability to think on the fly about something unexpected, demonstrated empathy in communication, and made a compelling argument for her proposed solution". Not quite as objective as the take home test, but still "gradeable". And, in case of a hard choice between two candidates, other stakeholders in the hiring process can review the transcript of the chat, providing their grade considering the pre-specified criteria, to help decide.

It's not ideal, but it is practical, allows for cooperative interviewing (anyone can help a candidate start the well-documented interview process; anyone can do any stage of the interview and know that we cover all the questions we want asked before the end), and encourages consistent judgment.

It's worked well for us so far and people have appreciated it; it also lets us give concrete answers to "what could I have done better?" to candidates we reject who ask for a follow-up. I feel pretty strongly that you spent your time working with us (particularly on the take home exercise) so I can spend time explaining how you could improve (often it is useful to other applications for other jobs: "your code should have comments to explain confusing things or highlight clever things", "consider using git for revision control rather than only committing your completed project", "you'd benefit from using a grammar checker"). We've had many repeat applicants who answer better with each iteration.

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

#223
Interview them like pretty much any other grown up professional. Ask detailed questions about their work history, education, or other projects they offer to tell you about.

If you cannot distinguish specific degrees of technical skill from a simple conversational interview, that’s on you. Adding coding tests to the mix isn’t going to solve your inability to detect a good-fitting worker on these dimensions, and likely will make it worse because code tests rarely measure a candidate along meaningful or useful axes.

It’s tragic how this industry has bastardized interviewing and hiring. It’s common now to be hired 100% based on code test performance and to not even be asked a single question about your work history.

This deeply arrogant assumption that past work history doesn’t matter compared with test performance is perhaps the most explicit manifestation of tech industry’s deep narcissism complex there is.

Nobody can stand it if you doing good work before might justify paying you a competitive wage, and they must introduce some form of masturbatory hurdle into the process so they can define “goodness” in terms wholly based on some puzzle they themselves can solve, so that candidate goodness can by definition never be better or different than navel gazing self-goodness of the people already inside the machine.

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

#224
post #208

Earlier quoted context omitted.

To clarify, full day means 4 sessions of an hour each bridged by lunch (1 hr). The hope is to give the candidate sufficient information about the team while the team gathers info about the candidate.

That sounds pretty typical. In practice, it's not unusual to do one or more of the interviews by video because of travel schedules but four "in person" interviews is probably the norm.

Yeah, that’s how I understood it, but there’s often opposition on HN to that process.

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

#225
post #13

My most enjoyable interview was for an internship in college. I had a take home coding challenge where I had to write some simple code to fetch information from an API using whatever language I liked. I was given a week to do it, but it only took me an hour or so to meet all of their explicit requirements. I liked that there was no time pressure in that regard. After the week was up I went into the onsite and in the…

I would love to be interviewed like this. Even though the candidate does end up spending time doing work outside of work, they'd end up doing that anyway if prepping for an algorithms interview. At least with an assignment you can be finished instead of doing endless leetcode prep. Plus it gives you a chance to practice relevant software engineering skills in a different environment.

until you have to endure the fifth rejection and realize you have to multiply this effort for every interviews. Whereas you can prep for an algorithms interview once, and any additional prep is incremental and focused by prior interviews.

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

#226
post #195

Earlier quoted context omitted.

When we were looking for a developer for our team, we created a set of small coding challenges testing the candidate's knowledge of the most relevant aspects of the language. We wrote automated tests for these challenges, and the main bulk of our interview was having the candidate solve them. The advantages to that approach, as I see it, are: - the developer is tested for knowledge that is most relevant for their cur…

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 ("bugs", if you will). You can't just "resolve" those problems if the person who set it isn't sitting in front of you.

* 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. I was actually half way through a homework test the other day when I was told that surprise they had an open offer and the candidate had just taken the job. I doubt they'd have wasted their own time testing me IRL knowing what they knew.

From the employer's perspective:

* In the last case I also realized after googling that the answers were online and I could just have copied someone else's.

* 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. I suspect this is partly why the take home tests I've been given are generally of a lower quality than the in person.

* It's valuable to talk through the solution with the candidate while they do it (describing trade offs they made, pitfalls they're cognizant may crop up, potential downsides to their approach).

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

#227

Check out my open source code. Call some of my references. Verify my past employment and make me an offer. It’s really that simple. If 3+ professionals are willing to vouch for me and I have 20 verified years working at major tech companies, do you really think I’m a guy faking I know how to code?

Welcome to the world of a software consultant.

No BS interviews, people actually believe you when you say you can code.

The best fulltime jobs I had had interviews in the same way. Quick meeting to ensure that I am not a psychopath and to talk about salary. That's it. No fizzbuzz, no inverting trees. When can you start and let's get coding.

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

#228
After the initial phone screening for a full stack engineer, we send a take home questionnaire that doesn't require any coding - but rather presents a set of questions that span across different domains (development process, databases, product, infrastructure).

The candidate selects 3 questions to answer from the set of questions. We expect them to take ~15 minutes to answer each question using the English language.

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

#229
post #14

Earlier quoted context omitted.

I've considered this approach, but I worry that it consumes too much of the candidate's time. That it ends up favoring people who have the time and the financial freedom to do a full day of unpaid work.

How is that any different from taking a whole day to do a normal onsite interview? Doesn’t that also favor those with the ability to take a day to jump through hoops?

"Normal" for who? It's normal for fresh graduates interviewing at the biggest tech companies, but that's not normal anywhere else in the world or for other jobs.

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

#230
post #208

Earlier quoted context omitted.

That sounds pretty typical. In practice, it's not unusual to do one or more of the interviews by video because of travel schedules but four "in person" interviews is probably the norm.

Yeah, that’s how I understood it, but there’s often opposition on HN to that process.

I guess if you're hiring junior people to stick in a standardized box, it's mostly just a numbers game. Way back when I got a job offer out of school strictly based on my resume (took another job).

But even when the interview process was mostly a formality because I knew many of the people and they knew my work, I still had some on-site interviews.

I'm pretty sure on-site interviews are the norm for the vast majority of professional jobs. Including, or perhaps especially, for the most senior positions.

Post reply on HN