По моему безнадежных нет, просто нужно уметь их грамотно применять.
Кодер — должен кодировать — соответсвенно четкая постановка задачи на входе A на выходе B шаг вправо — попытка к бегству.
Очень нужен в команде человек который умеет быстро и красиво что-нибудь сваять, чтобы закрыть на время вопрос. Не верю, что таких задач у Вас не бывает.
Тот кто умеет лечить — должен лечить, только пусть он лечит не Вас а заказчика, иногда и это полезно.
Некоторые отлично работают дома, некоторым свобода противопоказана, люди настолько разные...
Если у меня проблемы с каким либо сотрудником, я в первую очередь ищу в этом свою вину, как руководителя, знал кого брал на работу, знал что надо будет воспитывать.
А по поводу приема на работу, мне кажеться, Вам нужно самим понять кого Вы хотите найти, попробуйте описать свой рабочий процесс, и выявить требования к участникам этого процесса. Затем останется придумать как эти требования проверить, когда они определены это не так и сложно.
Как ни странно, но в последнее время я все меньше уделяю внимания к профессиональным требованиям, мне гораздо важнее чтобы человек был нормальный, а с остальным разберемся.