Коли коду недостатньо. Чому важливо інвестувати в знання свого домену
Привіт! Мене звати Юлія, я Software Engineer компанії Intelliarts і вже майже 9 років займаюся розробкою програмного забезпечення. Зі свого досвіду роботи в аутсорсингових і аутстафових командах я зрозуміла, що знання технологій недостатньо. Розуміння бізнесу та індустрії, для яких ми створюємо рішення — це не менш важлива навичка. Я мала можливість працювати з різними індустріями протягом своєї кар’єри, зокрема e-mobility, telecommunications, e-commerce, media and publishing. У всіх випадках я напрацьовувала певний рівень знань предметної області — формувала розуміння, накопичувала досвід, щоб краще усвідомлювати потреби замовників. Ці знання підсилювали мою цінність для компаній, з якими я співпрацювала, та допомагали якісно вирізнятись коштом глибшого занурення в потреби замовника.
У цій статті хочу поділитися, чому варто звертати увагу не лише на технічні навички, а й на розуміння індустрії. Розповім, яку користь це дає і вам особисто, і вашому роботодавцю, і клієнтам. Якщо вам цікаво не просто писати код, а впливати на продукт і вирішувати бізнес-завдання, тоді ця стаття для вас.
Amazon і уроки клієнтоорієнтованості
Amazon уже багато років демонструє, як глибоке розуміння клієнта може бути стратегічною перевагою. Щороку в рамках тренінгу Джефф Безос та тисячі менеджерів Amazon проводять декілька робочих днів в кол-центрі компанії. Кол-центр — це місце концентрації найбільших проблем клієнтів і можливість побачити реальну картину клієнтського досвіду, яка часто спотворюється при проходженні через кілька рівнів менеджменту.
Такий підхід не для всіх. Але ми всі розробляємо проєкти, якими хтось користується. Побудова будь-якої комплексної системи вимагає вирішення складних проблем, що стосуються конкретних індустрій. Чим краще ми розуміємо цю індустрію, тим більше шансів зробити рішення, яке буде не тільки технічно якісним, а й справді корисним для людей.
Що відбувається на ринку
Останній раз я змінювала роботу наприкінці 2020 року, коли в розпал пандемії конгрес США ухвалив рішення про підтримку бізнесу (читай «надрукував багато грошей»). Це були часи роздутих бюджетів і перегрітого ринку праці, коли ми бачили новини про рекордно високі рейти ($10,000 і більше).
Але ці часи пройшли. Компанії зрозуміли, що самостійно не можуть надалі фінансувати великі штати працівників, а в Україні почалась повномасштабна війна. Грошей стало менше, а ризики співпраці з інженерами в Україні значно зросли. В результаті ми стали свідками переходу ринку від кандидатів до компаній. Це підтверджується даними з Djinni: близько 8000 відкритих вакансій і понад 83 000 кандидатів, що знаходяться в пошуку.

У цих умовах вимоги до кандидатів зростають. Компанії вже шукають не лише хороших виконавців, а інженерів, здатних пропонувати рішення, що враховують бізнес-контекст проєкту. Саме в такій ситуації знання домену стає фактором, який може значно підвищити шанси на успішне працевлаштування.
Чому замовники та роботодавці віддають перевагу тим, хто має доменну експертизу
Технічні навички традиційно були головним критерієм для оцінки інженерів. Сьогоднішні реалії ринку такі, що співпраця з українськими компаніями поступово скорочується. Це відбувається на фоні повномасштабного вторгнення, а також через зростання конкуренції з боку дешевших або стабільніших альтернатив, зокрема з Південної Америки та Індії. Саме тому важливо чітко комунікувати свою конкурентну перевагу. Один зі способів зробити це — розвивати навички на перетині технічних знань та розуміння специфіки доменної області.
Коли ми спілкуємось із потенційними замовниками, я дедалі частіше помічаю, що вони хочуть бачити людину, яка вже має досвід роботи з індустрією та розмовляє з ними однією мовою. Якщо замовник обирає між кількома потенційними підрядниками, то перевага, як правило, на боці тих, хто вже реалізовував проєкти в їхній сфері. І це цілком логічно, адже такі спеціалісти:
- Швидше інтегруються в команду. Вони розуміють контекст індустрії, тому їм легше пояснити завдання, очікування та цілі проєкту. Їх не потрібно навчати всього з нуля, що економить час і зусилля.
- Спілкуються з замовником «однією мовою», що мінімізує непорозуміння і спрощує комунікацію.
- Приносять свій досвід з попередніх проєктів. Завдяки чому мають унікальну перспективу і можуть одразу генерувати ідеї та пропонувати рішення.
Простими словами, найм розробників, які володіють знаннями індустрії, економить час та гроші. Зрештою, такі інженери стають містком між світом бізнесу та світом технологій, полегшуючи комунікацію та сприяючи ефективній взаємодії.
Але це не моя робота!
Ви можете заперечити, що розбиратись в індустрії — це робота product owner’a, доменного експерта, або будь-кого іншого на стороні замовника. І ви будете праві. Але якщо ви приєднаєтесь до них і спробуєте дослідити індустрію, то ваша кар’єра від цього виграє і ось чому.
Перш за все, планка не така вже й висока. Хороших hard і soft skills зазвичай достатньо, щоб добре виконувати свою роботу. Чимало людей на цьому й зупиняються, обмежуючись лише своєю зоною відповідальності й це абсолютно нормально. Але я бачу цінність у тому, щоб розбиратися ще й у предметній області та вірю, що це знання може стати великою перевагою.
З розвитком AI-асистентів здатність «переносити» чітко визначені вимоги в код більше не є чимось, що якісно вирізняє розробників. Що насправді стає все більш цінним, так це те, наскільки добре ви можете зрозуміти та уточнити ці вимоги. Тут вступають у гру глибокі знання предметної галузі. Розвиваючи ці знання, ми можемо вести змістовніші розмови з нашими замовниками. Виявляючи інтерес і ставлячи правильні запитання, ви можете виділитися та сприяти розвитку своєї кар’єри. Намагатись зрозуміти задачу глибше, наприклад, які підводні камені можуть виникнути пізніше — це складніше.
Але саме це дозволяє уникнути великих витрат на виправлення помилок у майбутньому. Адже часто буває, що невисловлені чи незрозумілі на старті деталі згодом виливаються у значні витрати.
Що більше контексту ви маєте щодо бізнес-вимог, то кращі запитання можете поставити і точніше перекласти їх у код. Крім того, ви зможете глибше зрозуміти потреби клієнтів, визначити їхні больові точки та пропонувати рішення, які справді приносять цінність. А замовники, в свою чергу, більше вам довірятимуть і будуть готові йти на ваші пропозиції.
Програмне забезпечення створюється, щоб вирішувати проблеми в реальному світі, і для цього необхідно знати, як цей світ працює. Окрім того, щоб просто знати, «як» у розробці, також важливо мати розуміння «чому».
Якщо ви хочете зростати в кар’єрі та братися за складніші проєкти, знання предметної області стає реальною перевагою. Основні принципи і підходи в більшості індустрії зазвичай залишаються стабільними й довше зберігають свою актуальність. Саме на них можна вибудовувати експертизу, яка буде корисною роками. Це дозволяє вам не тільки розвиватися, але й зберігати свою цінність у світі, де зміни відбуваються постійно. Інвестуючи час у розуміння індустрії, ви не лише пришвидшуєте свій професійний ріст і здобуваєте конкурентні переваги. А ще такі знання допомагають легше перейти на нову позицію або спробувати себе в іншій ролі.
Підводні камені вузької спеціалізації
Якщо ми погоджуємося, що розуміння індустрії є важливим, то її зміна може поставити нас у складне становище, адже доведеться все починати з нуля. Іншими словами, ціна зміни індустрії полягає у відмові від значної частини накопичених знань. Але на противагу цьому, якщо ви залишаєтесь в рамках своєї індустрії, то ви стаєте лише більш цінним інженером. Навіть працюючи в дуже вузькій ніші, ви можете рухатися в суміжні сфери й розширювати компетенції, не виходячи за межі галузі.
Але є й інший погляд на це. Якщо вам, як і мені, цікаво глибше розуміти, як ВСЕ влаштовано, робота в різних індустріях дає класну можливість дізнатись щось нове. При цьому ваші навички та знання з певної галузі нікуди не зникають і ви можете інтегрувати свій досвід у нових проєктах. Деякі індустрії можуть стати чудовим фундаментом для переходу в нові сфери або для роботи над більш масштабними проєктами. Наприклад, якщо ви маєте значний досвід в eMobility, то перехід в renewable energy сектор буде значно простішим, ніж якби ви починали з нуля.
Як поглиблювати доменні знання
Почніть з простого — задавайте питання. Постійно ставте запитання: «Навіщо це потрібно?» і «Як це використовуватиметься?». Важливо пам’ятати, що немає «дурних» питань. Будь-яке ваше питання буде стимулювати людей розкрити деталі і спробувати пояснити ідею під іншим кутом. Це не лише допоможе вам краще розуміти бізнес-процеси, але й спонукатиме інших робити так само.
Слідкуйте за трендами індустрії, для якої ви створюєте продукт. Це дасть вам не лише краще розуміння домену, але й допоможе вийти за межі очевидного, підсвітлюючи суміжні галузі, які варто досліджувати. Підписуйтесь на розсилки новин, відвідуйте тематичні конференції та вебінари, або обирайте будь-які інші формати, які для вас краще працюватимуть. Мій улюблений спосіб — це слідкувати за сторінками доменних експертів та CEO на LinkedIn. Це не лише новини індустрії, але й деталі про проєкти, які вони розробляють. Що веде до наступного пункту.
Досліджуйте конкурентів. Це допоможе оцінити, чи є щось, що ви могли б зробити краще, або чи існують на ринку рішення, які ефективніше вирішують проблему, яку ви намагаєтесь розв’язати. У моєму досвіді були випадки, коли я разом з продакт-менеджером ходила на демо конкурентів, щоб проаналізувати, як працює їх продукт і зрозуміти як нам покращити свій.
Спілкуйтесь з користувачами та слідкуйте за баг-репортами i feature request’ами. Ваші користувачі — це одне з найцінніших джерел інформації. Вони безпосередньо використовують ваш продукт і можуть вказати на проблеми та на те, що необхідно покращити. Чим краще ви розумієте їхні потреби, тим більше дізнаєтесь про особливості домену, точніше й ефективніше зможете вносити зміни в продукт.
Заключні думки
Я розумію, що такий підхід не для всіх, але вірю, що саме він робить нас «інженерами». Це набагато більше, ніж просто добре написаний код. Знання домену клієнта дозволяє краще знаходити спільну мову, економити час і створювати продукти, які закривають потреби користувачів. Для мене це можливість робити щось більше і розширювати свої уявлення про світ та процеси, що його формують.
Писати код по чітко заданим вимогам, які для вас розписав хтось інший — це нормально. Але, особисто мені бачити ширшу картину, розуміти контекст і приносити додаткову цінність проєкту значно цікавіше, ніж закривати таску на 5 сторі поінтів. Хоча закривати таски на 5 сторі поінтів теж є частиною моєї роботи :)


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