Some parts of interviewing are positive. Letting people recount their experiences and skills that they already possess; letting them tell you about their hopes for the future. Then, there is the negative side; trying to find the fraudsters and the pretenders. These pretenders can have legitimate reasons for not knowing stuff; they might be a raw graduate; they might be smart but only getting started in programming; they might have good, transferable experience from another technology but you just aren’t asking the right questions; they might be nervous or undermotivated or a host of other problems.
Sometimes finding these people comes down, for me, for just a few words. They say something and it just sets off alarm bells: a programmer would never say that. Not having the right skills is fine; not knowing the right word is fine as long as they have the right model in their heads. Sometimes it is even a single word used incorrectly; a shibboleth. My wife, who is a clever woman and an able user of technology but really, really not a technical person, often uses the word “database” to mean “a store of information” whether that is a list of things in a spreadsheet, a collection of files in a folder, a collection of documents in a content management system or anything else. All true, but a developer would never say that without some serious explanation about how it wasn’t a real database. The one that really gets me irritated is referring to “codes” rather than code.
Of course, the risk is that I’m recruiting someone just like me. That might work for some things but I suspect tends to build a rather dangerous monoculture of People Like Us. Some common frame of reference is necessary to build respect; assuming the other person is good until proved otherwise is fine for teenagers, but I’m too old to waste time on that. And yet, only trusting people that are like you is one step up from a secret handshake. Attach the rock of triumph!