From what I've seen in other industries, with friends and such going through the process, you rarely have interviews that truly "give information about how the candidate will perform on the job." Instead, things seem to be "what the candidate has done in the past" or, especially if less directly relevant experience, "who the candidate knows"/"do I get along with them?"
"What the candidate has done in the past" is always a good one, and I prefer to start there when interviewing engineering candidates too, but it's very limited! If you aren't already in a job where you're working on interesting, difficult things, you're gonna be more limited in your ability to talk about that!
The knowledge/coding-based interview is something of a potential equalizer there... though in terms of everybody's free time, "nobody studies for them" would be a better equilibrium than "everybody studies for them" ;).
> "What the candidate has done in the past" is always a good one
A candidate answering this question well is a necessary but not sufficient condition to being a good hire. Some people can deftly spout bullshit about their prior experience, coming across as a high-level expert but completely lacking in any low-level ability. I once interviewed a candidate who initially impressed the whole interviewing panel with a presentation on a complex machine learning model they supposedly developed, yet subsequently couldn’t answer extremely basic questions in probability and statistics.
This is exactly the phenomenon described in Jeff Atwood’s famous FizzBuzz article, “Why Can’t Programmers.. Program?” [0] The reason senior programmers can’t solve FizzBuzz is because they’ve only ever been hired based on their ability to bullshit about their past projects, without any assessment of their ability to actually code.
"What the candidate has done in the past" is always a good one, and I prefer to start there when interviewing engineering candidates too, but it's very limited! If you aren't already in a job where you're working on interesting, difficult things, you're gonna be more limited in your ability to talk about that!
The knowledge/coding-based interview is something of a potential equalizer there... though in terms of everybody's free time, "nobody studies for them" would be a better equilibrium than "everybody studies for them" ;).