Ведущий, если это не формальность, должен быть существенно лучше как девелопер — лучше и качественнее писать код, разбираться и править код своей команды — на него, как правило сваливают ответственность за управлением кодом в VCS в рамках работы своей команды, фичи или продукта. То есть знания и опыт работы с VCS необходимы.
Также ведущий часто выступает как эксперт в сфере своей компетенции. Пишет/создает дизайн, опеределяет свою часть архитектуры и так далее — смотреть в сторону архитекторов, евангелистов и фоллоувед
Дополнительно ведущий как правило
— определяет/подтверждает сроки и обьемы работ своей команды, участвует в планировании, управлении техническими рисками
— контролирует обьем и качество работы
— занимается рутиной в части управления обьемом работ, качеством, планами — эскалирует, подтверждает, рутит баги, пишет отчеты и так далее — смотреть в сторону работы ПМа, который делегирует часть ответственности на ведущего в рамках порученной его команде части проекта. То есть ведущий — это немного ПМ, совсем немного, но это другое направление нежели кодинг как таковой. По хорошему этому должны учить — курсы как минимум.
Сваливать на ведущего работу линейного менеджера для команды неправильно, но часто ему такое сваливается.
В развитых компаниях ведущий — это единственная позиция в которой совмещаются менеджерские и технические роли. Одни вырастают в дальнейшем в ПМ-ов, другие — в технических экспертов.