Powiedzmy tutaj jedno: Team Leader to bardzo szerokie pojęcie.
Czasami TL to taka osoba, która oprócz kodowania pilnuje jeszcze, żeby ludzie składali timesheety na czas. Wtedy jakichś większych umiejętności nie trzeba.
Czasami TL to taka osoba, która oprócz ganiania ludzi za timesheetami jest jeszcze odpowiedzialna za cały zespół - czyli jeśli któryś z programistów zawalił, to TL musi być i łagodzić sytuację. Wtedy TL jednocześnie musi pilnować zespołu i w miarę możliwości być osobą techniczną.
Czasami TL to taka osoba, która oprócz pilnowania zespołu jest odpowiedzialna za cały proces zespołu. Wtedy TL musi mieć wiedzę z zakresu procesów powstawania oprogramowania (tj. musi wiedzieć co chce monitorować, jak powinien wyglądać proces wdrożeniowy, pilnuje żeby zadania dobrze były opisane itp.) bo jest odpowiedzialny za cały proces powstawania i utrzymywania oprogramowania.
Czasami TL to taka osoba, która oprócz pilnowania procesu wytwarzania i utrzymywania oprogramowania musi się orientować w całej architekturze wokół swojego kawałka. Wtedy taki TL musi mieć jeszcze wiedzę o architekturze systemów.
Pytanie - o którym tutaj mówimy?