Team expansion time has come around again and we need some decent "VP" level experienced Java devs to join us.
Once the CVs had been sifted through and a rough interview plan agreed, we set to work interviewing.
I paired up with another experienced developer to interview someone who's CV made them a good fit. They had all the relevant technologies that we needed, and some relevant domain knowledge. The only slight negative was that they had moved around a little bit more frequently than our organisation would like - sometimes staying in a role for less than 1 year.
What's more, another colleague had given them a coding interview and had reported that the candidate "wrote beautiful code". I was pretty excited about meeting them after hearing that.
The interview was going to be mostly competence and experience focused - we were going to ask for examples of relevant problems solved and move on to discuss architecture. I also wanted to find out if the good coding ability was complemented by common sense and conscientiousness.
However, almost immediately I felt that something was "off".
The answers to questions about Java were textbook, but it was hard to draw any personal experience from the candidate.
A question about how they ensure code is easily covered by unit tests was answered with a generic point about how important it is to write unit tests.
When I asked them to tell me about a recent piece of code they had implemented that presented them with a tricky problem to solve, in the context of a discussion about the system they were working on currently, the response was broadly about how to implement REST APIs.
I typed to my colleague: "I dont know if he has any genuine experience at all."
I found myself asking "Yes, but what about the bit YOU wrote? Can you give me some details about that?"
The pattern seemed to be - any questions we asked that were knowledge based, the candidate gave a text book response.
Any questions that were experience based, the candidate asked for clarifications, stalled and then gave an answer I could not really use.
Why was that?
As an interviewer, I don't want to know the perfect answer to a question. I do not expect the candidate to be a flawless vessel of wisdom.
What I want to know is, can you do the job, will you make my software better, will we deliver improvements to the business together, can we work together? How can you demonstrate these things to me?
Using AI tools to copilot your interview, as a candidate, is a very unwise move. If the interviewer says "Use copilot in your IDE and code this thing for me", fine.
If the interviewer wants to know about your last commit, you are going to have to draw on your experience and use your brain to have a rational human conversation.