Что должен знать и делать ведущий разработчик?
Могу поделиться своим американским опытом, я тимлид, у нас в компании 5 команд. Каждый тимлид, в том числе и я должны:

Работать с менеджерами по проектам (которые формулируют задачи в целом)
Распределять работу внутри команды
Следить за своевременным исполнением работы
Проверять качество кода младших разработчиков
Нести ответственность за свою команду (спрашивать будут именно с тимлида)
Составлять тонны всяких отчетов
Тимлид отчитывается перед менеджером по разработке.

Кстати, у нас в компании тимлиды программируют не меньше остальных, а спрос с тимлида больше.
Тимлид не обязан знать больше чем члены его команды, однако он как правило спец в своей области.
Тимлид во многом администратор. Однако, он и программист. Тимлид принимает решения по поводу
тех или иных подходов к решению поставленных задач. Я бы сказал что тимлид это самая первая
ступень на менеджерском пути.
Я называюсь «архитектор», по сути — тоже самое.

Знать технологии и следить за технологиями. Регулярно читать профильные сайты и блоги.
Иметь опыт в выборе технологий, архитектуры, в решениях дизайна высокого и низкого уровня.
Быть достаточно доброжелательным, чтобы люди тянулись к нему с вопросами.
Иметь опыт руководства или просто быть додстаточно дальновидным, чтобы смотреть на вещи не только с точки зрения разработчика, но и маркетинга.