How to weed out the competent programmers from the bad in the interview process
I am getting ready to add another developer to my team and I want to try and fix the mistakes I made in my last hiring cycle.

I like to think of myself as a competent programmer (I can be given a project, I can deliver on that project and the deliverable work with very few if any bugs) and so I ask questions that I would ask myself in an interview. I've come to the conclusion that my interviewing skills are completely lacking because the last two people I've hired interviewed incredibly well but have been less than ideal at the tasks that they've been given. My CTO (who was completely useless in giving any guidance as to how) suggested I improve on my interviewing skills.

The question is this - <b>How does one programmer interview another programmer and get an understanding of the other programmer's abilities?</b>
How to weed out the competent programmers from the bad in the interview process
===

I am getting ready to add another developer to my team and I want to try and fix the mistakes I made in my last hiring cycle.

I like to think of myself as a competent programmer (I can be given a project, I can deliver on that project and the deliverable work with very few if any bugs) and so I ask questions that I would ask myself in an interview. I've come to the conclusion that my interviewing skills are completely lacking because the last two people I've hired interviewed incredibly well but have been less than ideal at the tasks that they've been given. My CTO (who was completely useless in giving any guidance as to how) suggested I improve on my interviewing skills.

The question is this - <b>How does one programmer interview another programmer and get an understanding of the other programmer's abilities?</b>