Product engineering — спосіб підвищити свою цінність як інженера

Product Engineer — поняття, яке поряд з software engineer все частіше зустрічається як на Заході, так і у нас. Орієнтованість на продукт — один з перспективних напрямів, в яких може розвиватися інженер, підвищуючи свою цінність для продукту і, відповідно, свій рівень доходу.

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

Хто такий Product Engineer

Спочатку термін Product Engineer прийшов з промисловості. У виробничому циклі це окремий фахівець, який керує процесами дизайну і розробки продукту, контролює його якість і відстежує відповідність очікуванням споживачів. Таким чином, він виступає сполучною ланкою між користувачем і виробництвом. В ІТ цю роль найчастіше виконує зв'язка Business Analyst і Project/Product/Delivery Manager.

Застосовно до software engineering термін Product Engineer з'явився на форумах і блогах в останні кілька років. Так, у 2017 році в Forbes вийшла стаття How Is A Product Engineer Different From A Full-Stack Engineer? , як результат дискусії на Quora. У ній йдеться про те, що product engineering — це, швидше, підхід до розробки, де інженери орієнтуються не на набір фіч, які необхідно реалізувати, а на властивості продукту, які потрібні користувачеві.

Отже, Product Engineer, крім розширення технічних навичок і відточування своїх ключових компетенцій (безпосередньо software development), зосереджується на суміжних областях : продакт-менеджменту, бізнес-аналітики та користувацьких інтерфейсах. Це не означає, що Product Engineer повинен вміти все і відразу і один заміняти повноцінну команду. Ця роль — класичний приклад концепції T-shape .

В основі навичок лежить software engineering — головна експертна компетенція. Горизонталь — це так звані крос-дисциплінарні знання. У нашому випадку це основи product management і design , необхідні для того, щоб інженер міг бачити цілісну картину і не просто реалізовувати техзавдання, а пропонувати технічні рішення з урахуванням інтересів кінцевого продукту.

Таким чином, Product Engineer, замість того щоб чекати від Product/Project-менеджерів підготовлені завдання з бэклога, сам є активним учасником її формування і при цьому глибоко розуміє потреби і обмеження бізнесу.

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

Product Engineer залучається до створення продукту на максимально ранніх стадіях . Ми, наприклад, починаємо роботу над будь-яким продуктом (або новими великими фічами) з такого процесу, як inception, в якому задіяні основні учасники проекту: менеджери продукту, інженери і дизайнери. Якщо ми працюємо над реалізацією ідеї клієнта, то inception проходить з участю як клієнтську, так і нашої команд.

Процес включає в себе вивчення та валідацію ідеї продукту, визначення портретів користувачів, їх проблем та існуючих рішень на ринку. Його мета — визначити відповідність продукту вимогам ринку (product/market fit) і визначити мінімальний життєздатний продукт (MVP), який буде йому відповідати. І тільки після цього ми переходимо до технічної деталізації. Детальніше про процес і його етапах можна почитати в статті Agile Product Inception в нашому блозі.

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

У Railsware ми віддали перевагу продуктовости, тому що в основному працюємо зі стартапами і корпораціями, які хочуть побудувати нові продукти в рамках своєї організації. Про нашої моделі бізнесу, трансформації та роботі з продуктами ви можете прочитати в моїх статтях «Product Studio як спосіб вийти з глухого кута аутсорсингу» і «Outsourcing vs software consultancy: як підняти рейт до 75 USD/годину» . У цій статті я хочу акцентувати увагу на особливостях та перевагах такого підходу до інжинірингу, а не на те, як це все працює у нас.

Безсумнівно, легше реалізовуватися як Product Engineer в компаніях з плоскою структурою, яких зараз стає все більше. Тим не менш застосовувати продукто-орієнтований підхід можна і в інших, більш консервативних структурах. Дана концепція взаємовигідна і для вас, як інженера, і для product owner.

Які переваги отримує Product Engineer

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

Як це працює на практиці, наш інженер Артур Терменжи описував у статті «Що таке Implementation Plan, або Як планувати реалізацію при розробці» . Хочу ще раз підкреслити, що Product Engineer — це не посада, як, наприклад, Product Manager. Це роль, це підхід до розробки. Посади наших інженерів звучать як Full-Stack або Front-еnd Engineer, і при цьому вони розвиваються як Product Engineers.

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

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

Product Engineer — це, зокрема, спосіб мислення і спосіб взаємодії в команді. Це можливість обговорювати суміжні проекти, більш ефективно співпрацювати з дизайнерами та менеджерами, підвищувати продуктивність і впливати на результат.

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

Цінність Product Engineer в тому, що він пропонує продуктові рішення. Інженер володіє інструментарієм — алгоритмами і технологіями — і з його допомогою реалізує функціонал. Розуміння того, як функціонал дозволить вирішити проблеми користувача, — це та сама added value , яку пропонує Product Engineer.

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

Product Engineer: навички і якості

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

Інженер повинен розуміти клієнта свого продукту: чому йому потрібно саме те, що ви робите, а не щось інше. Вам необхідно розуміти, як користувач працює з вашим продуктом. Стежити за аналітикою і поведінкою користувача і, що дуже важливо, слухати його фідбек. Як інженеру, вам необхідно стежити за тим, що прилітає в супорт: з якими проблемами зіштовхується клієнт, якого функціоналу йому не вистачає, якої поведінки він очікує від тієї чи іншої фічі і так далі. Ось основні якості, якими володіє і які розвиває Product Engineer:

Застосування тут і зараз

Універсальної формули успіху не існує. Product engineering — лише один з напрямків, в яких може рухатися інженер.

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

Для натхнення і вивчення продуктових підходів можу також порекомендувати кілька книг:

Опубліковано: 07/10/19 @ 10:00
Розділ Блоги

Рекомендуємо:

Information Security дайджест #15: DC8044 Blackout, мега-витік в СБРФ, інтерв'ю Мухи
Генерація SQL-запиту засобами MySQL-сервера
5 книжок про Discovery продуктів від Андрея Баса, співзасновника Uptech і Plai
DOU Hobby: карпфишинг — спортивна рибалка зі своєю філософією
Чому IT-стартапу на ранній стадії не потрібен маркетолог