Live data from Hacker News

How to conduct a good programming interview

lihaoyi.com

121–130 of 188 posts

Re: How to conduct a good programming interview

#121
post #60

Earlier quoted context omitted.

Almost. Instead of doing this, take an old set of bugfixes from the tree, 1-3 of them, give the same bugfixes to every candidate, and come up with a standard rubric for judging the fixes. (If it's an open source project, synthesize 1-3 bugs, using the history of bugs on the project as a guidepost). This is a "work sample test", and it's the gold standard for judging technical qualification. Firms should rely on them…

Yeah, I'm a big fan of your approach. Unfortunately it seems quite difficult to get anyone to do it. Most companies have interview pipelines that are well-established and immutable, so only new companies are inclined to try it. And even Triplebyte unfortunately fell back on a combination of abstract coding tests and amorphous "cultural fit" criteria. It was a neat hack as a candidate to propose to the interviewing co…

> And even Triplebyte unfortunately fell back on a combination of abstract coding tests and amorphous "cultural fit" criteria.

I'm not sure when you went through Triplebyte's process, but I did recently and it definitely included a substantial practical programming section which involved writing an actual program and some debugging.

They do have the difficulty of not controlling the downstream on-site interview process, so there's a limit to how much they can innovate. Ultimately their goal is to find candidates who can pass company interviews, some of which are still heavy on algorithms.

Re: How to conduct a good programming interview

#122
post #67

It's good to think carefully about how you interview candidates. Most of the ideas in this post are good. You should definitely let candidates type answers on computers. You should definitely work to put them at ease, in an environment that approximates their actual working environment. But really, this is window dressing. The problem is that technical interviews just don't work reliably. We have better ways to quali…

Is there a case study somewhere for such an interview? Like a description or a video or such?

Also how do you deal with the standardized interview being published? As in 'company X' uses a live coding exercise and they ask you to do X in a succession of changes. It would quickly come out for most larger companies.

Re: How to conduct a good programming interview

#123

So reading over some of the questions posted on technical programming interviews I must say that I would definitely fail such an interview without studying for it for a month first. Having recently discussed job interviews of ex-colleagues that went to EBay, Facebook, Google, etc.. I wouldn't even pass the whiteboard test. However I'm shipping scaleable API's used by web and native apps, using Continuous Integration…

> No code was being shipped but hours of meetings and Slack conversations and discussions on PR's for no good reason about 0.01% improvement gains. That may be where it makes sense to do a custom clock showing on the wall counting not minutes but the cumulative cost of the meeting. For simplicity assume everyone is making $1/minute, so a 5 person half hour meeting costs $150 just for the people in the meeting without…

Unfortunately, ironically, that sounds like a clock that would take a long time to make.

Re: How to conduct a good programming interview

#124
post #36

Interviews suck for both parties, a world without interviews would be a better world. Why can't we just hire someone based on his experience and projects he previously worked on? You can have a first month as a "trial" where both parties can cancel the contract. Why interviews suck is because they are very, very biased and subjective and also not a good way to estimate the actual performance of a candidate. Say no to…

> Interviews suck for both parties, a world without interviews would be a better world.

Actually, I rather like interviews. They typically pose some fun programming problems and I have a chance to talk about a lot of the cool work I've done over the years.

Honestly, I do think the interviewing process is very risky from a company perspective (it's insane to me that companies will invest tens of thousands of dollars into someone based on essentially an afternoon of conversations), but it's perfectly great for some candidates.

Re: How to conduct a good programming interview

#125
post #48

Earlier quoted context omitted.

I think that if somebody with 10 years of actual and relevant experience fails the interview process, the interview process has a problem.

All that's required to get 10 years of experience is the ability to get your foot in the door and not do so badly that they actually fire you. It is absolutely not a guarantee of any real competence. At my last job I did a bunch of interviewing, and the very worst candidates we had were engineers with years of experience working at badly run companies. If management is bad enough, a company can't hold on to good engi…

Your opinion is based on the assumption that your interview process yielded an accurate assessment of competence.

Re: How to conduct a good programming interview

#126
post #125

Earlier quoted context omitted.

All that's required to get 10 years of experience is the ability to get your foot in the door and not do so badly that they actually fire you. It is absolutely not a guarantee of any real competence. At my last job I did a bunch of interviewing, and the very worst candidates we had were engineers with years of experience working at badly run companies. If management is bad enough, a company can't hold on to good engi…

Your opinion is based on the assumption that your interview process yielded an accurate assessment of competence.

Well, sure.

We're not talking sophisticated things here though. The exercises that I've formed this opinion from were closer to fizz-buzz than to data structures or algorithms questions.

If it takes you 20 minutes to code something about as hard as fizz-buzz (on a computer, with internet access), and the code you have at the end is terrible, I feel pretty confident saying you're not an effective engineer.

Re: How to conduct a good programming interview

#127
post #72

Earlier quoted context omitted.

> I completely understand the need for these technical interviews and weed out obvious bad programmers and get experts on board but sometimes from a business point of view it just doesn't make sense. The thing is that the main goal of the technical interview is not to hire all good candidates. The main goal is to avoid hiring bad candidates. A large high paying company like Facebook has plenty of candidates to choose…

> Someone who is capable of learning what's needed to do well on a technical interview has demonstrated a fairly high level of competence, and is (relatively) unlikely to be a really bad hire. Sure, as long as their only role is repetitive coding tasks that require limited amounts of broadening their experience beyond the DS&A trivia places like Facebook require. However then Facebook ends up with stuff like their iO…

A friend just went through the hire process at FB for iOS.

It actually was very practical. According to him it was more or less stuff we do every day, with one generic, programming puzzle of sorts.

Re: How to conduct a good programming interview

#128

Earlier quoted context omitted.

> No code was being shipped but hours of meetings and Slack conversations and discussions on PR's for no good reason about 0.01% improvement gains. That may be where it makes sense to do a custom clock showing on the wall counting not minutes but the cumulative cost of the meeting. For simplicity assume everyone is making $1/minute, so a 5 person half hour meeting costs $150 just for the people in the meeting without…

Unfortunately, ironically, that sounds like a clock that would take a long time to make.

I'm willing to cheat.

A search on Google Play Store for "meeting cost clock" comes up with several, though the best looking from the screenshots appears to be the $1.99 Meeting Cents with almost no downloads and no updates since 2014. Several others are ad supported or low cost. Frankly it'd cost more in (billable?) time to test and select one than to buy all of them.

A very simple browser based implementation is at https://www.mcgurrin.info/clock.htm and another is at https://tobytripp.github.io/meeting-ticker/

Re: How to conduct a good programming interview

#129

So reading over some of the questions posted on technical programming interviews I must say that I would definitely fail such an interview without studying for it for a month first. Having recently discussed job interviews of ex-colleagues that went to EBay, Facebook, Google, etc.. I wouldn't even pass the whiteboard test. However I'm shipping scaleable API's used by web and native apps, using Continuous Integration…

[deleted]

Re: How to conduct a good programming interview

#130

Earlier quoted context omitted.

> No code was being shipped but hours of meetings and Slack conversations and discussions on PR's for no good reason about 0.01% improvement gains. That may be where it makes sense to do a custom clock showing on the wall counting not minutes but the cumulative cost of the meeting. For simplicity assume everyone is making $1/minute, so a 5 person half hour meeting costs $150 just for the people in the meeting without…

Unfortunately, ironically, that sounds like a clock that would take a long time to make.

mins = 0; while(true) { wait(60); clear; print numPeople*(mins++);}. Run on a terminal hooked up to a big screen. Not exact, but it will get the point across.
Post reply on HN