Пропустити навігацію EPAM

Труднощі зростання. Чому вашій компанії варто замислитися про data-driven підхід та як ми застосовуємо його у ЕРАМ

Євген Моспан

Senior Solution Architect , EPAM Ukraine
Думка експерта
  • Solution Architecture
  • TechTalk

Сьогодні ЕРАМ — це спільнота, яка об’єднує понад 40 000 експертів з усього світу. За таких масштабів для якісної роботи з великими обcягами даних та правильної оцінки ресурсів потрібні нетривіальні підходи. Деякими з них ділиться Євген Моспан, Senior Solution Architect та керівник Центру компетенцій Java. 

Понад рік тому Євген разом з колегами починав працювати над технологічним радаром свого стеку. Незабаром експерти виявили, що варто об’єднатися з колегами з інших локацій та команд і разом створювати більш масштабний, глобальніший продукт. Найкращими практиками та уроками, вивченими протягом впровадження data-driven підходів до управління, Євген ділиться у цьому матеріалі. Якщо ваша компанія планує активне зростання – вам це буде корисно. 

Чому це важливо

Поки ваша команда відносно невелика питання систематизації даних не настільки гостре. З’являється проєкт – і ви одразу знаєте, чи є у вас потрібна експертиза та люди, чи будуть пов’язані з цим ризики. У компанії середнього розміру теж можна уникнути зайвих ускладнень: вдала ієрархічна структура дозволить ефективно вирішувати питання з доволі вузьким колом осіб. Але якщо ви переходите до ліги «1000+ людей у команді», data-driven підхід стає необхідним. Він дозволяє спиратися на конкретні дані, які є в компанії, а не на думку окремих людей.

Щоб запровадити data-driven підхід, потрібно визначити master data - найбільш важливі характеристики, навколо яких будуть будуватися різні бізнес-сценарії. При цьому вони можуть стосуватися не тільки стаффінгу проєктів, але, приміром, і навчання співробітників (наприклад, якщо аналіз покаже, що протягом останнього року вашим інженерам регулярно відмовляли в позиціях на проєктах через слабке знання Spring, то ви зможете запланувати програму для прокачування цих навичок). Варіантів - безліч. 

ЕРАМ, як будь-яка велика компанія, має багато даних про команди, запити та фахівців на проєктах. Це і опис потреб клієнтів, і перелік позицій, і список технологій, які використовувалися, і комбінації навичок, які були потрібні на різних ролях, і перелік кандидатів, і ще багато чого. У той самий час ми отримуємо дані з ринку: до команди долучаються нові експерти та приносять інформацію про навички, якими володіють. 

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

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

Це далеко не усі сценарії використання даних в нашій компанії. Звісно, кожен дивиться на дані з власної точки зору. Це призводить до того, що одне й те саме починають називати різними словами. Або навпаки. Тому, маючи в ЕРАМ багато зручних і корисних внутрішніх платформ, які підтримують різні процеси, ми вирішили систематизувати інформацію. Це дає можливість уникати плутанини та оптимально користуватися ресурсами і можливостями, які наявні в компанії і на ринку. Важливо мати можливість порівнювати навички, об'єднувати їх в смислові блоки-підмережі й використовувати в аналітиці. Один зі сценаріїв та найочевидніших плюсів такого підходу: проєктний менеджер, якому на проєкті потрібний інженер з десятком навичок, зможе зрозуміти, чи є фахівці з таким досвідом в компанії, скільки їх, а якщо їх немає, то чи існують вони взагалі. Виходячи з цього, менеджер прийме відповідні рішення: створювати одну або дві позиції, шукати кандидата всередині компанії або виходити з вакансією на ринок.

Як ми це робимо

Для того, щоб застосовувати математичні моделі у щоденній роботі та ефективно застосовувати data-driven підхід, потрібно сформувати правильний набір як майстер, так і транзакційних даних. Завданням експертів Центру компетенції Java стала актуалізація майстер даних, які описують скіли (навички в технологіях) в рамках Java-екосистеми, а також формування експертних оцінок їхньої актуальності, ступеня застосування на реальних проєктах, наявності відкритої інформації для навчання, рівня підтримки цих технологій вендорами та спільнотою. У подальшому на основі цієї інформації буде легше відповідати на питання бізнесу, які були наведені вище.

Ми використовували графову модель для побудови зв'язків між навичками. Їх треба було об'єднати за компетенціями, згрупувати за підмножинами, щоб в подальшому порівнювати співставні технології (адже не можна ставити в один ряд фреймворк для створення web-додатків та IoT-фреймворк). Для цього використовували розроблений внутрішній продукт EPAM на базі ArangoDB, який дозволяє вести майстер-дані. Цей продукт було інтегровано до операційних систем, які використовують цю інформацію як джерело майстер-даних, щоб користувач міг правильно заповнити стаффінг позицію або особисті дані у внутрішній системі.

Спрощено кажучи, наша робота складається з чотирьох етапів:

  1. Формування майстер-даних
  2. Використання цих даних
  3. Аналітика
  4. Побудова математичної моделі для Machine Learning

Зараз ми на третьому етапі. Він – найважливіший. Робимо вибірки, використовуючи різні критерії, вивчаємо різноманітні системи, якими користуються наші спеціалісти у щоденній операційній роботі. Особливість в тому, що в кожній - власні майстер-дані, які ми й прагнемо уніфікувати, щоб не було розбіжностей під час пошуку. Нам потрібне єдине місце, де навик «Java» визначено в таксономії скілів у дереві графа і всі інші системи на нього посилаються. Тобто, ми з колегами з різних країн і команд створюємо першоджерело всіх даних.

Нагадуємо, чим іще займається Java Competency Center в компанії

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

У нашому багажі завдань, наприклад, є глобальна модульна менторська програма для Java інженерів різних рівнів. Вона допомагає їхнім менеджерам визначити, як саме повинні розвиватися розробники, щоб вийти на новий професійний рівень. Як керівник, так і сам інженер може зайти на програму, переглянути модулі та визначити, які прогалини у власних знаннях необхідно заповнити. Таким самим чином можна в досить екстреному режимі підготувати людей до нового проєкту, на якому потрібне знання нових технологій. Кожен модуль - це навчальні матеріали, домашні завдання, квізи для перевірки знань. Зараз програма працює в Україні, Білорусі та Казахстані, скоро ми плануємо її запуск в Чехії, Польщі, Угорщині та інших країнах присутності ЕРАМ. 

У 2020 році в рамках Java Competency Center ми запустили кілька робочих груп за різними напрямами. Вивчали застосування Kotlin, як мови для back-end розробки у проєктах компанії та її привабливість з точки зору бізнесу. 

Також ЕРАМ стали партнерами Azul – компанії, яка постачає OpenJDK, надає продукт Zulu Enterprise, дешевший за аналог від Oracle, та інші сервіси. Наші експерти вивчали можливості модернізації віртуальних машин потенційних клієнтів Azul та особливості їх міграції на Java 8 та 11. Ще одне перспективне партнерство ЕРАМ - з Lightbend, компанією, що розвиває Scala технології на Java стеку. Сьогодні інженерам ЕРАМ доступні навчальні матеріали Lightbend і це дозволяє їм отримувати нові, актуальні на ринку навички, а також проходити сертифікацію.

Онлайн кава-пойнт. Наші заходи з Java 

В ЕРАМ ми віримо у силу спільнот, тому розвиваємо глобальну платформу wearecommunity.io.

На ній можна знайти ком'юніті за своєю технологією. Звичайно, є й за напрямом Java. Експерти з Центру компетенцій вибудовують горизонтальні зв'язки між різними містами та країнами й залучають до роботи не тільки колег, але і широку спільноту. Пандемія зробила такий формат спілкування своєрідною заміною бесід на кава-пойнтах. Звичайно, виступи на наших вебінарах - це не тільки можливість обмінятися досвідом, але і прокачати навички публічних виступів. Від внутрішніх івентів до глобальних конференцій на кшталт Zed Conference. На останній, до речі, ми як раз розповідали про роботу нашого Центру. Запис можна переглянути тут. До речі, скоро ми проводитимемо Java Day, на який запрошуємо усіх бажаючих.

Підписатися на новини

Чудово! Ми вже готуємо добірку актуальних новин для вас :)

Вибачте, щось пішло не так. Будь ласка, спробуйте ще раз.

* Обов'язкові поля

*Будь ласка, заповніть обов’язкові поля

Вакансії EPAM Ukraine у Київ | Львів | Харків | Дніпро | Вінниця | Івано-Франківськ | Одеса | Чернівці | Хмельницький | Рівне | Ужгород | Тернопіль | Луцьк за напрямком Java | JavaScript | .NET | DevOps | Experience Design | Software Testing | Business Analysis | Python| Big Data | Mobile | Solution Architect | Ruby on Rails у містах за напрямком Java вакансії Київ | Java вакансії Харків | Java вакансії Львів | Java вакансії Вінниця | Java вакансії Одеса | Java вакансії Івано-Франківськ | Java вакансії Чернівці | Java вакансії Хмельницький | Java вакансії Рівне | Java вакансії Ужгород | Java вакансії Тернопіль | Java вакансії Луцьк | JavaScript вакансії Київ | JavaScript вакансії Харків | JavaScript вакансії Львів | JavaScript вакансії Вінниця | JavaScript вакансії Одеса | JavaScript вакансії Івано-Франківськ | JavaScript вакансії Чернівці | JavaScript вакансії Хмельницький | JavaScript вакансії Рівне | JavaScript вакансії Ужгород | JavaScript вакансії Тернопіль | JavaScript вакансії Луцьк | DevOps вакансії Київ | DevOps вакансії Харків | DevOps вакансії Львів | DevOps вакансії Вінниця | DevOps вакансії Одеса | DevOps вакансії Івано-Франківськ | DevOps вакансії Чернівці | DevOps вакансії Хмельницький | DevOps вакансії Рівне | DevOps вакансії Ужгород | DevOps вакансії Тернопіль | DevOps вакансії Луцьк