Могу поделиться своим американским опытом, я тимлид, у нас в компании 5 команд. Каждый тимлид, в том числе и я должны:
Работать с менеджерами по проектам (которые формулируют задачи в целом)
Распределять работу внутри команды
Следить за своевременным исполнением работы
Проверять качество кода младших разработчиков
Нести ответственность за свою команду (спрашивать будут именно с тимлида)
Составлять тонны всяких отчетов
Тимлид отчитывается перед менеджером по разработке.
Кстати, у нас в компании тимлиды программируют не меньше остальных, а спрос с тимлида больше.
Тимлид не обязан знать больше чем члены его команды, однако он как правило спец в своей области.
Тимлид во многом администратор. Однако, он и программист. Тимлид принимает решения по поводу
тех или иных подходов к решению поставленных задач. Я бы сказал что тимлид это самая первая
ступень на менеджерском пути.