The fundamental problem is that job interviews are traditionally structured in such a way that the candidate is trying out for the position. It has a built in assumption that the candidate wants the job and is trying to convince the company that they are the right person. Thus, interview processes are usually about evaluating the candidate.
Candidate evaluation and filtering is necessary. There are a lot of people out there trying to get hired who are lying and faking their skills. See the people who can't do fizzbuzz. However, the overall situation is that demand for these technical skills far exceeds the supply. That means that when someone passes through your filters, you need to severely limit your evaluation of them. Instead, you need to sell them. The talent has the upper hand. They probably already have a job, and can get one anywhere. If you want them to work for you, you need to be in sales mode, not interview mode.
I can't help but feel so spoiled by the fact that I'm learning python which makes everything so darned easy. I suppose being able to do something in python isn't equivalent to being able to do it in other languages! Confidence eroded again!
I agree with you that demand for talent far exceeds supply. That's why I think making the process professional and enjoyable is important.
In terms of being completely in "sell mode" once basic filtering has been done, I don't think that's the right approach. In my experience, great developers actually value teams that are selective. They like good dialog. They like debate. If after a basic phone screen, the company goes straight into "sell mode", I think it's a red flag for some people.
And, in terms of the term "Candidate Experience", it was less about inventing a new term, and more about piggy-backing on a concept most people already understand (user experience or customer experience).
What I mean by sell mode is that the discussion needs to be focused on what the company can do for the developer to convince them they want to work there. Lots of people call me up and the conversation is all about what I can do for them. You called me! I have a job and didn't ask for a new one. The first thing you must do is convince me that your offer is so good it is worth changing my whole life for it.
I wonder which would one be less biased. My leaning now is towards asking the question after the decision. Perhaps even discard the feedback from folks that were offered a position -- that way, the focus is on making sure even those that weren't offered a position still had a positive experience.
I went through an interview process for one program that was using their platform and it was straightforward and took me only about 15 minutes to record video answers to the interview questions from my kitchen table.
If they were to add some timed applied programming questions it could become interesting for hiring devs. Video questions (interpersonal skills) + timed coding questions (tech skills) might give a good pre-screen, at least.
Thanks for the candid feedback.