Вообще отличие менеджера проекта от Team Leader заключается в том, что ОСНОВНАЯ функция менеджера проекта — это управление ресурсами (финансовыми, людскими, техническими — оборудование и т.п.)
Важные функции Team Leader, на мой взгляд, следующие:
— уметь оценить реальный объем работы по проекту;
— уметь правильно распределить работу между программистами (для этого нужно уметь оценивать возможности и способности разработчиков);
— уметь разрабатывать архитектуру системы (хорошо бы для этого знать теоретические основы построения архитектуры системы — различные взгляды на систему и т.п. — кстати, хорошо помогает изучение RUP-овского понятия архитектуры — Software architecture Docunent. При этом совершенно не обязательно работать согласно RUP.);
— уметь следить за реализацией проекта в рамках выбранной архитектуры;
— уметь выбирать оценивать и выбирать технологию (для этого нужно иметь представление о различных технологиях, которые могут быть использованы);
— уметь вести проектную документацию (имеется ввиду Технический проект);
— желательно иметь знания, не меньшие, чем у тех разработчиков, которые работают пол Вашим управлением, либо уметь привлекать доверенное лицо, которое сможет проаудировать отдельные участки разработки);
В некоторых случаях требуется уметь давать техническую, временную и финансовую оценку предстоящей разработке (для этого желательно, чтобы в компании была выведена стоимость человекочаса — внутренняя и внешняя)
Короче говоря, Team Leader, это человек, который умеет управлять ТЕХНИЧЕСКИМИ ресурсами (в его обязанности, например, не входит решение вопроса об отпуске разработчика — этим должен заниматься менеджер).
(с)
PM более широкое понятие. Ещё момент - смотря с кем будет работать Ваш будущий сотрудник (с внутренними или внешними заказчиками).
А вообще, Вам важно как он будет называется или ЧТО он будет делать?
Я бы смотрела людей согласно ТРЕБОВАНИЯМ, которые нужны для решения конкретных задач, а не стандартным названиям