В яких відомих інноваційних діджитал-проєктах Ви брали безпосередню участь?

– Я працюю веброзробником понад 11 років. У 2014 році мій друг і партнер з Лос-Анжелесу Аарон Шифф покликав мене у новостворену компанію Matic Insurance Sevices, Inc., яка на сьогодні займає лідируючі позиції у своєму сегменті на ринку нерухомості у США.

Ми створили нову послугу – діджиталізованого страхового брокера для ринку нерухомості. Matic – це агрегатор, що допомагає жителям США з "вибором страхівки в один клік".

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

Matic по API працює з кредитними установами та страховими компаніями. Система забезпечує клієнтам вибір найбільш вигідної страховки протягом декількох секунд.

Інноваційна послуга виявилася актуальною. Matic зібрав 16 млн доларів від провідних американських інвесторів, серед яких Anthemis, Clocktower, Fenway Summer, Nationwide Insurance, National General Insurance, Kemper Insurance, Mr. Cooper Mortgage, New Residential Mortgage (двоє останніх займають 3 і 4 позиції на іпотечному ринку США).

Сьогодні Matic працює із понад 25 страховими компаніями у всіх 50 штатах. Це додало близько 20 тис. клієнтів з кінця 2018 року. У І кварталі 2020 року Matic продавав в середньому 2 тис. нових полісів щомісяця.

Який Ваш особистий внесок у розвиток цієї компанії?

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

Через кілька місяців після запуску засновник сказав, що нам необхідно активно розвиватися і запропонував відкрити офіс для розробників в Україні.

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

Сергій Кукунін / Фото Facebook

Потім Ви перейшли у новий проєкт?

– Так, Spotlight Media Labs Inc - це стартап, орієнтований на американський медіаринок, реалізується у Кремнієвій долині. У ньому я відповідальний за усю технічну складову проєкту.

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

Ми створили онлайн-платформу для видавництв, де вони можуть продукувати контент та знаходити нову аудиторію. Платформа має вебверсію, додатки для iOS та Android.

Видавці отримали новий спосіб монетизації контенту, адже компанія ділиться із ними доходами від онлайн-реклами. Серед них понад 100 партнерів з університетів з аудиторією понад 2,5 млн студентів, понад 50 комерційних газет, серед яких такі глобально відомі як Bloomberg News, Reuters, INN, Texas Tribune і Texas Observer. Spotlight уклав численні рекламні угоди, зокрема з Disney+. Ця медійна трансформація буде значно динамічнішою, коли долучиться відповідний інвестор.

Торік Ви перемогли у національному конкурсі DevChallenge, який є найбільшим і найпрестижнішим змаганням для розробників в Україні. Що, на Вашу думку, забезпечило перемогу?

– Участь у DevChallenge – гарний спосіб позмагатися і оцінити свої професійні можливості максимально об’єктивно, адже це багаторівневий конкурс з актуальними складними завданнями, і досвід участі у ньому особливо цінується у професійних колах. Престиж конкурсу можна оцінити і за рівнем партнерів: його, до прикладу, підтримують лідери українського ринку мобільного зв’язку "Vodafone Україна", компанія "Київстар", які зацікавлені в інноваціях.

Перший раунд змагання був відбірковим. У другому треба було розробити систему, працюючий продукт. Загалом нам дали таку задачу: у певній країні є 40 млн абонентів мобільного зв’язку, і збираються дані про них. Кожних 15 хвилин збирається мільйони записів, а за добу набігають мільярди. Треба було розробити спосіб, щоб з’ясувати, із ким конкретний абонент спілкувався найчастіше за визначений період днів.

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

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

А що було у фіналі?

– У фіналі нас чекав сюрприз: потрібно було доробити завдання з попереднього раунду, розширивши його до нового функціоналу.

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

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

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

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

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

Utonhack організувала компанія з Білорусі у партнерстві з компанією з Китаю, яка виробляє криптомати, власні смартфони та планшети. Загальний призовий фонд на 8 номінацій становив близько 40 тис. дол. Я навіть мимохіть в якийсь момент пошкодував, що не учасник (сміється). Конкурс є прикладом реалізації крауд-сорсингового (від слова crowd - натовп) підходу: потенційні інвестори звертаються до розробників - у вас є мільйон ідей, демонструйте, ми хочемо дізнатися, що можна зробити на основі такої технології, і таки було представлено багато класних ідей.

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

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

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

Що потрібно враховувати розробникам для успішної співпраці із бізнесом, щоб реалізувати реально працюють продукти?

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

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

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

Сергій Кукунін​ / Фото Facebook

Ви є одним із менторів нової бакалаврської програми для ІТ-студентів, запущеної у 2016 році. На що слід звернути увагу молодим спеціалістам, щоб бути конкурентними на міжнародному ринку?

– У спілкуванні зі студентами я уже не раз акцентував на тому, що в Україні, мабуть, до 90% програмістів – моноспеціалісти. Це видно на сайтах з пошуку роботи у розділі резюме та вакансій. У більшості це – Ruby software developer, або PHP-, або JavaScript software developer. Максимум у полі спеціалізації – fullstack розробка, це значить, що розробник пише на JavaScript та ще на одній бек-ендовій мові.

Якщо ж подивитися на ринок кадрів у США, то там немає такої вузької спеціалізації. Роботодавці пишуть, що є вакансія software engineer, їм потрібен розробник в широкому сенсі. Таким і має бути нормальний підхід: якщо не знаєш чогось, візьми й розберися в цьому, вивчи, а не позиція на кшталт "Я – рубіст, бо 5 років тому почав працювати на Ruby, і вашу Java писати не буду".

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

Однак, Ви фахівець експертного рівня власне з програмування на Ruby. Після запуску Matic почали активно ділитися досвідом з колегами у цьому напрямку?

– Так. Я маю досвід участі в якості спікера у національній конференції RubyC у 2017 та 2018 роках. Представляв, зокрема, колегам доповідь яка охоплює критерії хорошої архітектури і способи її застосування в екосистемі Ruby. Також я виступав на міжнародній конференції GrillRB 2018 із доповіддю "Чиста архітектура, яка шкодить вашому коду".

То які мови програмування Ви вважаєте сьогодні найбільш актуальними?

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

Якщо брати мейнстрімові мови – Java, Ruby, PHP, JavaScript – то для них за 20 років напрацьований багаж рішень, бібліотек. У кожній з цих мов можна знайти якісь свої вузькі місця, але завдяки розвиненим екосистемам і затребуваності на їх використання бізнесом, саме вони досі є найбільш ефективними.

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

Є тип задач, з якими Ruby не справляється від слова "взагалі". Якщо дуже потрібна швидкість, або керувати асинхронними процесами, то Ruby – не ваша мова. Ефективнішими будуть новіші мови, наприклад Go чи Elixir (Erlang).

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