Досить складно знайти єдину класифікацію для менеджерських посад у сфері розробки програмного забезпечення. Різні ролі в ІТ-компаніях — від Tech Lead або Project Manager до Delivery Manager чи Engineering Manager — іноді можуть охоплювати однакові обов’язки, а іноді й абсолютно різні. 

Анна Глухова, Engineering Manager у компанії Grammarly, у колонці для AIN.UA розповіла про особливості ролі менеджера інженерної команди у продуктовій ІТ-компанії. 

Чим займається Engineering Manager

Я працюю на посаді Engineering-менеджера у Grammarly вже понад 3 роки і керую всіма інтерфейс-командами у київському офісі — вони розробляють редактор Grammarly, наші надбудови для десктопних додатків та iOS-клавіатуру. До того, як приєднатися до Grammarly, у мене був досвід і розробки, й управління інженерними командами у сервісних компаніях.

Коли я спілкуюся з колегами з інших компаній або з кандидатами під час співбесід, мене часто запитують, а яке ж усе-таки коло обов’язків у Engineering-менеджера і чим його завдання відрізняються від завдань, скажімо, Project-менеджера чи Team-ліда.

У цій статті я спробую дати відповіді на ці запитання на прикладі позиції Engineering-менеджера у Grammarly, а також виділити ті аспекти, які загалом є важливими для ефективного управління інженерними командами. 

Основна мета Engineering-менеджера — зробити так, щоб його команда була успішною та максимально ефективно досягала поставлених цілей. На практиці це охоплює широкий спектр різних завдань — і технічних, і управлінських: від комунікації цілей компанії та ведення технічного роудмапа до роботи над планом кар’єрного розвитку для кожного фахівця у команді.  

Девід Айвс у своїй статті для AWS Startups Blog описує обов’язки цієї ролі так:

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

Які основні обов’язки менеджера інженерної команди

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

Активний вплив на продукт

Продуктами, над якими працюють мої команди у Grammarly, користуються мільйони людей щодня. Для мене це водночас і велика відповідальність, і джерело мотивації. Усі наші плани із розробки повинні будуватися з думкою про цінність, яку ми створюватимемо для кінцевого користувача. 

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

Engineering-менеджер також веде технічний роудмап — план технічних засобів і методів, необхідних для побудови продукту. «Веде» — тобто контролює його підготовку разом із Tech-лідом та інженерами, допомагає правильно розставити пріоритети і розподілити ресурси. 

Питання, яке, певно, найчастіше ставлять стосовно ролі Engineering Manager — а чи повинен він писати код самостійно або ж принаймні мати безпосередній досвід у розробці? Зазвичай людина на цій посаді все ж таки не пише код і фокусується на інших завданнях. Але при цьому вона повинна мати відмінну технічну експертизу і добре розумітися на технологіях, які використовують її команди, показниках якості та ефективності. Мені імпонує, як про цей аспект говорить СЕО Plato, менторської платформи для Engineering-менеджерів: 

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

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

Ще одна важлива функція менеджера, яка безпосередньо пов’язана з технічним роудмапом — це планування коротко- та довгострокових цілей команди і контроль їхнього виконання. У Grammarly ми працюємо за системою OKR (objectives and key results). На початку кожного кварталу з інженерними командами плануємо обсяг завдань на три місяці. Потім формуємо підкоманди, кожна з яких незалежно працює над конкретним завданням. Лід підкоманди щодня ділиться новинами про прогрес, і таким чином усі колеги в курсі, як ми рухаємося до спільної мети. 

People-менеджмент

Для мене найважливіший інструмент в індивідуальній роботі з членами команди — регулярні зустрічі у форматі 1:1 (мій колега Дмитро Міндра у своїй колонці вже ділився порадами щодо того, як зробити їх ефективнішими). 

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

Вважаю, що регулярні зустрічі 1:1 — це must-have для менеджерів, адже вони дають розуміння загального самопочуття члена команди (можливо, є фактори, про які менеджер і не здогадувався би без такої бесіди) та простір для обміну зворотним зв’язком. До речі, чудовий ресурс, який допомагає вибудувати структуру та список питань для таких зустрічей — опитувальник Gallup’s Q12, що складається з 12 пунктів. 

Безумовно, для того, щоб відчувати залученість та мотивацію, співробітникам потрібен «оптимальний виклик» — тобто умови, в яких кожен член команди може не лише ефективно працювати над досягненням спільних цілей, але й паралельно розвивати свої навички і таланти й відчувати прогрес. Завдання менеджера — створити такі умови. І ключ до успіху тут — це, насамперед, побудова довірливих робочих стосунків, у яких кожен може прямо висловити свою точку зору і поділитися зворотним зв’язком.

Підтримка здоров’я команди

Щоб підтримувати загальне здоров’я команди і балансувати з навантаженням, важливо правильно планувати структуру команди та її масштабування згідно із цілями компанії. Мені як менеджеру потрібно розуміти, чи будуть нам необхідні додаткові ресурси, щоб досягати наших цілей у квартальній чи річній перспективі. І це значить не лише найм нових інженерів, але й іноді зміну поточної структури команди. 

Наприклад, коли наша Front-End команда розробляла нові функції для редактора Grammarly, ми розуміли, що скоро захочемо таку саму функціональність і в інших наших продуктах — щоб забезпечити максимально зручний та послідовний користувацький досвід. Тому ми вирішили змінити структуру і розділити команду редактора на дві підкоманди — тепер одна з них фокусується на розробці нових функцій, а інша — на тому, щоб вони були доступними для швидкої інтеграції в інші продукти Grammarly. 

Турбота про здоров’я команди — це, звісно ж, і про згуртованість, і про підтримку морального духу, і про трансляцію цінностей компанії. У період віддаленої роботи, коли команди спілкуються лише онлайн, це завдання для багатьох менеджерів стало справжнім викликом. Ми перейшли на роботу з дому в березні 2020 року і поки що продовжуємо працювати віддалено щонайменше до серпня 2021 року.

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

Покращення міжкомандної співпраці

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

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

Ще один важливий аспект у роботі менеджера — забезпечувати прозорість інформації всередині компанії і ділитися прогресом та досягненнями його команди з іншими колегами й executive-командою у зручній формі (це можуть бути дайджести, презентації, звіти чи статті на внутрішніх платформах).

Баланс як запорука успіху

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

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

Автор: Анна Глухова, Engineering Manager у компанії Grammarly