About a year ago I started to have discussions with candidates. There are many topics that are controversial in the industry and which do not have only one correct answer. Answers to questions about these topics usually start with "It depends…" – for example:
- What framework is the best?
- What database do you prefer and why?
- Is a certain design pattern actually useful?
- Focus on new features or fix bugs first?
First I ask the candidates about their opinion. Once they got their point across I simply pick the opposite and argue against it. Or I give an example in which their choice would not be a good fit answer and ask them if and how they want to change their answer with this new example/requirement? The following discussion will tell me a lot.
- Did they only memorize some facts for the interview or do they actually have experience with this area and good examples to prove their point? Actually, I was very surprised by how often their argument is: because I always did it that way
- How well are they able to bring their arguments and the complex technical details across? Are they good in teaching?
- How do they handle resistance? Do they try to convince, do they try to please or do they start to be aggressive or arrogant? Are they open to learning?
I am aware that this might be very stressful for the candidate. Therefore the has to be done very carefully.