Хто такий Engineering Manager та як його готують
Дуже часто ми бачимо в компаніях, що розробляють програмне забезпечення, посаду Engineering Manager чи Senior Engineering Manager. При цьому в деяких компаніях (особливо з маленькими командами) такої посади немає, і при цьому вони виконують поставлені перед ними завдання. То хто ж такий Engineering Manager, чим він займається і чи потрібен він команді?
Перш за все треба розуміти, що Manager це посада, а окрім цього існує таке поняття як роль. Ролей в девелоперських компаніях багато і залежно від навантаження структура компанії може бути такою, що кожній ролі відповідає окрема посада, а може бути що одна посада поєднує в собі кілька ролей. При цьому немає жорсткої прив’язки яка роль якій посаді відповідає, це дуже залежить від організації компанії.
Отже, які ролі притаманні Engineering Manager та що має на увазі кожна з них.
Перша, і мабуть найголовніша роль для менеджера — People Manager (керівник команди).
В рамках цієї ролі менеджер:
- Керує процесом найму: визначає потреби команди, приймає участь у співбесідах (або технічних або на Soft-скіли, які не менш важливі), приймає фінальне рішення щодо найму;
- Очолює процес онбордінгу: забезпечую найшвидшу адаптацію новачків, призначає менторів, контролює щоб ньюкамер ефективно просувався в навчанні;
- Виконує Perfomance management: проводить регулярні 1:1, виконує постановку персональних цілей для співробітників команди, переглядає продуктивність, підтримує постійний ріст та розвиток кожного члена команди;
- Займається Коучінгом та розвитком членів команди: допомагає побудувати план розвитку, прокачувати soft & hard скіли, сприяє кар’єрному росту;
- Розв’язує конфлікти: функція менеджера підтримувати здорову атмосферу в команді, що вимагає вміння помічати та вирішувати проблеми раніше, ніж вони загостряться;
- Утримує та мотивує команду: це включає боротьбу із вигоранням, контроль справедливого розподілу завдань, забезпечення залученості.
Звісно, з багатьма з цих функцій менеджеру допомагають інші відділи та спеціалісти (HR, People Partner, Tech Lead команди), але в кінцевому результаті всі вони бачать лише якусь конкретну сторону, а менеджер має зібрати і бачити всю картину вцілому.
Друга за важливістю роль — Delivery Manager або Team Lead (знов таки залежно від ситуації в компанії). Це власне відповідальність за доставку результату. Тобто Engineering Manager відповідаю за те, щоб команда стабільно виконувала зобов’язання, які на неї покладає бізнес.
Функції менеджера в рамках цієї ролі:
- Планування роботи: участь у плануванні спринтів, планування релізів, визначення пріоритетів команди;
- Побудова/контроль процесів роботи команди: запровадження та побудова ефективного циклу розробки (Scrum, Kanban або якісь інші чи змішані процеси, оптимальні для команди), усунення вузьких місць у процесах та їх постійна оптимізація;
- Контроль виконання: відстеження статусу задач, розуміння ризиків і вчасне реагування на них (що, зазвичай, потребує якихось змін або додаткових комунікацій);
- Delivery assurance: забезпечення якості результату та вкладання в дедлайни;
- Прозорість та комунікація: синхронізація з продакт-менеджерами, дизайнерами та іншими командами. Забезпечення прозорості ситуації для бізнесу в будь який момент часу;
Engineering Excellence Driver або Technical Leader.
Роль Technical Leader є опціональною для Engineering Manager, і частіше назначається на менеджера в невеликих командах (точніше це TechLeads фактично назначаються менеджерами). Частіше за все Engineering Manager не пише код та не приймає прямої участі в технічній реалізації, але він повинен мати достатні технічні компетенції щоб відповідати за технічний напрям команди, розуміти команду та її проблеми, вміти правильно прокомунікувати по вертикаль вниз або вгору.
Функції в цій ролі:
- Технічний вектор: визначення технічної стратегії, архітектурних підходів, стандартів та інших технічних деталей;
- Code quality & prectices: контроль за інженерною дисципліною, CI/CD, тестуванням та інколи якістю коду;
- Technical ownership: відповідальність за загальне здоров’я продукту (доступність, стабільність, масштабованість, технічний борг та інше);
- Технічні рішення: участь в дизайн-ревью, перегляд інженерних пропозицій (RFC, ADR);
- Менторінг техліда: якщо в команді є техлід — Engineering Manager допомагає йому розвивати команду та процеси;
Process Architect (будівельник ефективних процесів)
Це обов’язкова постійна роль Engineering manager — покращувати всю операційну діяльність команди і її процеси. Тут як в студентські часи: перші три роки ви працюєте на залікову книжку (на свої оцінки) а далі вона працює на вас. Якщо ви відпочатку витратили багато своєї уваги та свого часу на побудову якісних та ефективних процесів роботи команди, то надалі у вас буде набагато менше роботи і ви зможете переключити свій фокус уваги більше на продукт (розуміючи, що команда працює як надійних механізм). Інакше Ваш час постійно з’їдатиме рутина ручного керування командою.
Отже, функції в рамках цієї ролі:
- Оцінка всіх процесів: пошук bottleneck’ів, оптимізація комунікацій і робочих потоків;
- Впровадження кращих практик: Code Review, CI/CD, DevOps, Quality gates;
- Автоматизація: усунення рутинних або ручних операцій;
- Ретроспективи: забезпечення безпечного простору, де команда може чесно висловитися і покращити роботу;
Culture & Community Builder
Engineering Manager формує культуру команди та допомагає створити умови, де інженери працюють із задоволенням.
Функції:
- Формування інженерної культури: відкритість, відповідальність, ініціативність, прагнення для якості;
- Формування командної згуртованість: командні активності, ритуали, внутрішні технічні доповіді, sharing індивідуальних та командних досягнень, святкування маленьких і великих перемог;
- Запровадження стандартів поведінки: реакція на токсичність, підтримка психологічної безпеки;
- Участь і ширшій техспільноті: формування внутрішніх гільдій, організація та приймання участі у tech talks, knowledge sharing та інше.
Інколи Engineering Managerа можуть наділяти ще додатковими ролями, які є не притаманними цій позиції, тому зазвичай не рекомендується це робити. Наприклад роль Product Owner.
Справа в тому, що ролі Engineering Manager та Product Owner важко поєднувати, тож це може привести до падіння якості процесів.
- Product Owner (та Product Manager) відповідають за те «що робимо» — потреби користувача, цінність фіч, пріоритизація фіч та функціональності.
- Engineering Manager відповідая за те «як доставляємо» — команда, технічна якість продукту/фіч, процеси, delivery.
Завдання Product Owner, які зазвичай не входять в обов’язки Engineering Manager:
- Аналіз ринку та користувачів;
- Формування Backlog фіч;
- Пріоритизація фіч;
- Формулювання acceptance criteria;
- Планування графіку релізів;
- Управління безнес-цілями компанії/продукту.
У невеликих компаніях, де немає окремої позиції Product Owner, Engineering Manager може писати user stories, визначати пріоритети, вести backlog та бути «proxy PO». У технічних командах без прямого продукту (наприклад внутрішні платформи, інфраструктурні команди, команди developer productivity, системні API) часто немає класичного Product Owner, тому Engineering Manager виконує роль Technical Product Owner.
Також інколи в компаніях зустрічаються гібридні позиції «EM/PM hybrid», але це поодинокі випадки.
Отже підсумуємо, Engineering Manager — це керівник, який одночасно відповідає за людей, техніку та результат. Він забезпечує найм та розвиток команди, якість інженерної роботи та своєчасну доставку продукту. А також є ключовим партнером продакта й архітектурним драйвером якісного та масштабованого технологічного продукту.

8 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів