Можно ли стать эффективным менеджером проектов без знания программирования?
Я думаю можно. Главное в управлении проектами знание техник управления, методологий.  Умение программировать позволит быстрее наладить связь с командой, они будут считать тебя "своим". Без этого умения ты - "чужой". Просто дополнительная сложность с которой можно справиться.
1. Попроси знакомого программиста с опытом помочь тебе на собеседовании. А сам задавай больше вопросов по мотивации, выясняй амбиции разработчика. От этого будет зависеть его вовлеченность в процесс.
2. Оценивать производительность нужно по методике. Возьми хотя бы Agile. Там после нескольких итераций становится ясно у кого какая скорость. И с какой скоростью может двигаться команда. Причем, если строго следовать методологии, то становятся даже заметны обманы с оценками со стороны разработчиков. 
3. Оценивать трудоемкость выполнения задач должны разработчики, так как им их делать. Твоя задача следить за тем правильно ли они сделали оценку и корректировать ее. Как правило разработчикам свойственен излишний оптимизм. И ты чаще будешь им говорить: "В прошлой итерации ты оценил задачу #1234 в 12 идеальных часов, а потратил 3 дня (18 часов). Не ошибаешься ли ты в этот раз?"
И еще несколько советов от себя:
1. Выбери методологию разработки, изучи ее и строго следуй ей. Это очень помогает.
2. Почитай про различия менеджерского цикла и цикла разработчика. Уважай способ работы разработчиков и не отвлекай их по пустякам. Методологии и об этом заботятся, в них всегда есть ритм, разработчики к нему привыкают и перестают замечать затраты на следование методологии.
3. Закрывай собой разработчиков от вышестоящего начальства, не давай ему вмешиваться в рабочий процесс в обход методологии. Это отличный способ заслужить уважение команды.
Удачи!
Конечно можно, возможно так даже лучше, не будете лезть с глупыми советами. Отвечая на частные вопросы: 
1.  Давать тестовые задание, плюс смотреть на его опыт работы с конкретными  нужными Вам в проекте технологиями. Человеческие же качества кандидата вы просто обязаны уметь определять как руководитель.
2. Есть формальные метрики, есть мнение команды, есть Ваше мнение. Если они сильно расходятся, повод задуматься. Конечно стоит подбирать команду и мотивировать ее так, чтобы Вы были лидером и управляющим, а не надсмотрщиком и погонщиком.
3. Умение программировать никак на это не влияет, потому что  писать код будете не вы. К тому же по этому вопросу столько везде дискуссий, что давать какие либо советы, воздержусь.