JavaRush /Java блог /Random UA /Капітан кодерської команди та головний вирішувач. Хто так...

Капітан кодерської команди та головний вирішувач. Хто такий Team Lead та що він робить?

Стаття з групи Random UA
Продовжуємо робити огляди різних професій та спеціалізацій у сфері ІТ, які мають те чи інше відношення до розробки програмного забезпечення. Капітан кодерської команди та головний вирішувач.  Хто такий Team Lead та що він робить?  - 1

https://www.spokesman.com/stories/2009/sep/05/laboata-only-way-cruise-spokane/

Нещодавно ми вже оглядали позицію Tech Lead-а і розбиралися, чим вона відрізняється від, наприклад, Team Lead-а або проджект менеджера. Тому ми вирішабо, що буде логічним докладніше подивитися на те, чим займається у сфері розробки програмного забезпечення типовий Team Lead, які навички потрібні для цієї позиції і чим хороший тимлід відрізняється від поганого. Капітан кодерської команди та головний вирішувач.  Хто такий Team Lead та що він робить?  - 2

Хто такий Team Lead у команді розробників?

Як правило, у команді розробників Team Lead — це один із досвідчених програмістів (хоча тимліди не завжди є кодерами), в обов'язки якого входить не тільки написання коду та інша технічна робота, а й координація діяльності всієї команди. Найчастіше на роль тимліда призначаються розробники або QA-тестувальники, які мають гарні знання як технологічної частини, так і компетенцій та особливостей кожного члена команди.

Чим Team Lead відрізняється від Tech Lead?

Так як ці дві позиції багато в чому схожі, а обов'язки фахівців, що їх займають, багато в чому перетинаються, прояснимо, чим вони відрізняються один від одного.
  • На відміну від Tech Lead, тимлід не обов'язково повинен мати технічний бекграунд. Це може бути як менеджер, так і колишній програміст, котрий давно відійшов від безпосереднього написання коду.
  • Team Lead може керувати командою та віддалено.
  • Team Lead більше сфокусований на бюджеті, планах та інших нетехнічних аспектах роботи команди.
  • Більше залучений до HR-роботи, включаючи планування відпусток, перегляд зарплат тощо.

Чим Team Lead відрізняється від Project manager-а?

Ще одна позиція, яка перетинається з Team Lead і цим вносить деяку плутанину, є позиція проджект-менеджера. Якщо коротко, різниця в тому, що тимлід має бути сфокусований насамперед на людях, тобто команді, тоді як менеджер менеджер фокусується безпосередньо на проекті. Це виявляється у тому, що тимлід займається вирішенням завдань, пов'язаних з технічною реалізацією проекту командою розробників, тоді як проджект менеджер вирішує питання щодо проекту, на кшталт забезпечення фінансування, короткострокової та довгострокової стратегії, юридичних аспектів тощо. Капітан кодерської команди та головний вирішувач.  Хто такий Team Lead та що він робить?  - 3

Обов'язки Team Lead-а

А тепер давайте пройдемося по основним обов'язкам Team Lead команди розробників.
  • Слідкує за дотриманням стандартів якості при розробці.

    Саме завданням тимлід є стежити за тим, щоб команда писала код, що відповідає стандартам компанії, і видавала якісний продукт.

  • Слідкує за дотриманням пріоритетів.

    Також тимлід повинен стежити за тим, щоб команда дотримувалась пріоритетів при роботі і взагалі знала про те, що є найважливішим на кожному конкретному етапі виробництва програмного продукту.

  • Займається організацією команди.

    Як зазначають багато досвідчених тимлідів, їхнє завдання в першу чергу — зробити так, щоб команда була самоорганізованою, і кожен учасник зробив свій внесок у спільну справу.

  • Несе відповідальність за всі проблеми чи складності у колективі.

    Саме тимлід несе відповідальність за всі проблеми в колективі розробників, які можуть вплинути на якість фінального продукту.

  • Подає приклад професіоналізму та дотримання найкращих практик у кодингу.

    Ще однією досить важливою роллю тимлід є подавати іншим членам команди приклад дотримання встановлених принципів і кращих правил в кодингу.

  • Розуміє і може впроваджувати різні процеси та методології у кодингу.

    Також Team Lead повинен мати уявлення та вміти впроваджувати з користю для проекту різні методології у команді програмістів, такі, наприклад, як Scrum, Kanban, XP, Lean тощо.

  • розподіляє відповідальність.

    Завданням тимлід є організація навантаження таким чином, щоб ніхто з членів команди не був єдиним здатним реалізувати ту чи іншу частину проекту. Щоб команда була ефективною та продовжувала працювати, навіть якщо когось із фахівців немає на місці.

  • Підтримувати комунікацію з клієнтами та/або керівництвом.

    Ще одним важливим завданням тимлід є підтримка постійної комунікації з клієнтами або керівництвом, щоб переконатися в тому, що команда розробників чітко розуміє завдання та проблеми проекту з точки зору бізнесу.

    Відповідає за роботу над проектом.

    Але одна з найважливіших і визначальних функцій тимліду — забезпечувати стабільну та постійну роботу над проектом так, щоб прогрес був чуйно видно та зрозумілий як самими членам команди, так і керівництву/клієнтам.

  • Стежить за дисципліною у команді.

    Ну і звичайно, тимлід повинен стежити за дисципліною: тим, як члени команди взаємодіють один з одним, відвідують зустрічі, ставляться до роботи і т.д.

Капітан кодерської команди та головний вирішувач.  Хто такий Team Lead та що він робить?  - 4

Як бути хорошим Team Lead? Поради

А тепер перейдемо до порад про те, як бути дійсно хорошим Team Lead-ом, від експертів індустрії та досвідчених розробників.
  • Фокусуйтеся на людях, а не лише на програмуванні.

    “Дуже часто позицію тимліду займає найстарший та найдосвідченіший розробник. Це може бути помилкою. Якщо людина володіє сильними навичками та технічними знаннями, це ще не означає, що вона також вміє керувати людьми», — ділиться своїм досвідом на сайті питань та відповідей Quora Майл Ханікатт (Mike Honeycutt), фахівець із техпідтримки в Університеті Північної Кароліни.

    Хоча технічний аспект роботи над проектом для тимлід також має велику важливість, найголовнішу роль у цій позиції все-таки відіграє лідерство, тобто управління людьми та організація роботи команди програмістів та інших спеців. Тому важливо розвивати у собі в тому числі навички комунікації та менеджменту.

  • Контролюйте своє его.

    Не варто сприймати цю позицію як місце великого боса. Насправді вона залишає дуже мало місця для контролю. “Для мене було великим сюрпризом, що тимлід насправді має дуже мало влади над проектом загалом. Тим, хто отримує задоволення від влади, це можна складно зрозуміти. Позиція тимлід залишає дуже мало простору для его,” – зазначив Чак Каріш (Chuck Karish), реліз-інженер компанії Google.

  • Вчіться виступати посередником і домовлятися.

    “Для мене найбільшою складністю завжди була необхідність бути посередником між командою розробників та рештою. Кожне, навіть найпростіше рішення, може мати далекосяжні наслідки, тому дуже важливо обговорювати його з усіма зацікавленими сторонами,” – говорить Лінда Бренаган (Linda Branagan), у минулому досвідчений тимлід компанії Construct Internet Design.

  • Обговорюйте деталі та домовляйтесь про все заздалегідь.

    Оскільки комунікації - це важлива частина функціональності тимліду, намагайтеся по-максимум обговорювати всі аспекти роботи над проектом і домовлятися про все заздалегідь, радить Майк Скенлін (Mike Scanlin), СЕО американської компанії Born to Sell і колишній тимлід в низці ІТ-компаній, серед яких T/Maker та General Magic.

    “Немає нічого гіршого, ніж працювати протягом року над проектом, і, продемонструвавши результати своєї роботи на черговій спринті, почути від членів команди щось на кшталт “А як щодо цих функцій?” або “Ми забули, що нам треба буде реалізувати це”. Постарайтеся переконатися, що все відомо і чітко сплановано ще до початку роботи над проектом», - рекомендує він.

  • Не провокуйте конфлікти, але будьте готові до них.

    Також важливо пам'ятати про те, що, будучи на позиції тимліду, дуже складно догодити всім сторонам, а тому конфлікти в тій чи іншій формі практично неминучі. “Робота на позиції тимліду означає, що на якомусь етапі вам доведеться приймати рішення щодо членів команди, і ці рішення неминуче викликатимуть конфронтацію. Цей аспект роботи часто виявляється несподіваним для багатьох тимлідів, тому що далеко не всі вміють і здатні вирішувати конфлікти», - сказав Стів Морс (Steve Morse), розробник підтримки компанії Tealeaf Technology.

Капітан кодерської команди та головний вирішувач.  Хто такий Team Lead та що він робить?  - 5

Зарплата та кар'єрні перспективи

Ну і насамкінець традиційно подивимося на зарплати тимлідів та їх кар'єрні перспективи. За даними авторитетного ресурсу PayScale, у США середня зарплата тимліда команди програмістів становить $105 тис. на рік. Портал Glassdoor дає для США середню цифру $87 тис. на рік, з діапазоном від $53 тис. на рік (мінімум) до $130 тис. на рік. За даними сайту ZipRecruiter, середня зарплата тимлідів у США ще скромніша, і становить $53 тис. на рік. Щодо нашого регіону. За інформацією ресурсу DOU.ua, середня зарплата Team Lead-а в Україні становить близько $3100 на місяць. У Росії, згідно з цими даними, зарплати тимлідів варіюються в середньому від 150 тис. руб. (близько $2000) до 250 тис. руб. (близько $3600). У Білорусі повідомляє ресурс dev.by. Team Lead-и заробляють у середньому навіть трохи більше, ніж в Україні, а саме близько $3550 на місяць. Що стосується кар'єрних перспектив, вони у тимлідів дуже непогані: успішний тимлід може зрости до менеджера вищого рівня, як CTO або навіть CEO. Ще однією істотною перевагою даної роботи є той факт, що вона знаходиться на стику менеджерських та технічних позицій, а значить, крім розвитку у бік менеджменту, хороший тимлід за бажанням зможе розвиватися і в технічній сфері, наприклад, до програмного архітектора.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ