“До 95% нових креативних ідей ніколи не потрапляють у продакшн”. Лідер Technological R&D в MacPaw — про інновації і те, коли варто вбити в собі розробника

Сергій Кривоблоцький пройшов шлях від інженера-розробника до лідера підрозділу Technological R&D, який займається дослідженнями у сфері інновацій та втілює наукові ідеї у продуктах MacPaw. На прохання DOU я поспілкувався з Сергієм про те, як відрізняється майндсет розробника і дослідника, чому фахівців для роботи з інноваціями знайти важче і чи цікаво досліджувати, як люди будуть взаємодіяти з комп’ютерами в майбутньому. Далі передаю слово Сергію.

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

Я прийшов у MacPaw 2015 року як розробник проєкту CleanMyMac [флагманський продукт компанії, призначений для очищення та оптимізації Mac-пристроїв — ред.]. До цього я був iOS-розробником в аутсорсингу.

В MacPaw багато що довелося робити вперше. Наприклад, CleanMyMac мав очищувати «зайві» локальні файли пошти. Ви не прочитаєте про це в документації, тож доводилося займатися реверс-інжинірингом. Уже тоді це була не зовсім розробка, а радше дослідження.

Пізніше я очолив розробку нової версії CleanMyMac X як лід. Ми успішно зарелізили продукт, а наразі він має понад 25 мільйонів користувачів по всьому світу.

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

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

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

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

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

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

«Ви читаєте задачу й не знаєте, як її реалізувати». Про виклики, перед якими постав, і команду

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

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

У роботі з інновацією цей фідбек ви отримуєте або через дуже довгий термін, або не отримуєте взагалі. До 95% нових креативних ідей ніколи не потрапляють у продакшн. Стенфордський університет робить таку демонстрацію воронки: спочатку у вас є 4000 ідей, далі йде звуження до 200–300 прототипів, 10–12 з них реалізуються в продуктах, і 2–3 отримують успіх від середнього до високого. Треба розуміти, що робота з інноваціями — це high failure rate environment.

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

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

Ще одним викликом став пошук людей у команду залежно від стратегії та запитів. Знайти розробника просто, а от Research Engineer або Research Scientist — ні. Треба будувати ком’юніті, щоб про компанію знали не тільки як про продуктову, але і як про технологічну. Потрібно мати наукові публікації, виступати на фахових конференціях. Мені дуже пощастило знайти вісім світлих, потужних людей, з якими, на мою думку, у нас попереду багато класних результатів. Але якщо буде потрібно розширюватись, це буде нелегко.

Сергій зі своєю командою

У нашій команді є два фахівці з PhD: Computer Science і Mathematics. Думаю, варто, щоб у деяких колег був PhD у Computer Science або суміжних сферах, щоб розуміти, як працює науковий світ. Щоб не боятися читати роботи інших науковців. Але це не обов’язкова вимога, адже всього можна навчитися.

Я, зокрема, навчаюся на програмі Стенфорду, яка називається Innovation and Entrepreneurship. Вона складається з восьми курсів, я зараз посередині. Найбільше мене вразив перший курс — Leading Innovations. Якщо ви хочете працювати з інновацією, а тим паче бути менеджером команди, дуже його раджу. Запрошені лектори-підприємці наводять багато прикладів з життя, серед іншого пояснюють, чим відрізняється інновація від рутини.

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

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

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

«Ми досліджуємо, як люди будуть взаємодіяти з комп’ютерами в майбутньому». Про власні дослідження MacPaw і тренди

Ми ще молодий напрям, але вже маємо результати. Наразі найцікавішим спрямуванням для нас є Human-Computer Interaction. Ми досліджуємо, як люди будуть взаємодіяти з комп’ютерами в майбутньому.

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

Найбільш відома некомерційна розробка Technological R&D в MacPaw — антишпигунський застосунок SpyBuster. На початку повномасштабного вторгнення я рев’ювив наші дослідження, щоб зрозуміти, які з них можуть допомогти боротися з агресором. Раніше ми з’ясовували, як допомогти користувачам вирішувати, які з’єднання з мережі приймати, а які відхиляти. На той час багато застосунків і сайтів, популярних в Україні, зверталися до російських серверів. Це було пов’язано з великими ризиками, адже російське законодавство надає ФСБ необмежений доступ до даних користувачів, що зберігаються на російських серверах. За тиждень ми підготували повноцінний продукт, який мав захистити дані користувача, і викотили в продакшн малою командою.

Технічно в SpyBuster використовується контент-фільтеринг від Apple. Спочатку він був реалізований у них для MDM-пристроїв, щоб, умовно кажучи, у школах і на підприємствах девайси мали доступ лише до певних ресурсів. Згодом Apple зробив цю технологію публічною, дозволивши її застосування для будь-яких пристроїв. Ми побачили цю можливість. У процесі роботи SpyBuster ставиться system extension, що на високому рівні фільтрує трафік та дає змогу користувачеві вирішувати, чи приймати з’єднання.

«Ми запитали себе, які технології використовували б для цього девайсу, якби були інженерами Apple»

Ми щороку передивляємось технологічні тренди. І щоразу прогнозується все більше зростання Spatial Computing, напряму, що охоплює віртуальну, доповнену та змішану реальність. Адже пристрої стають потужнішими, інтернет та інфраструктура дешевшими, а обрахунки швидшими. Це теж впливає на те, як людина взаємодіє з комп’ютером.

Spatial Computing вже з нами, оскільки кожен має телефон з чипом для важких обрахунків. Або GPU, або Apple Neural Engine. Це пристрої, в яких є Lidar для сканування простору. Вбудована класифікація об’єктів, класифікація мови. Це вже впливає на всю індустрію.

Коли до нас дійшли перші чутки, що Apple робить свій vision-девайс, який тоді ще неофіційно називали Apple Glasses, нам стало цікаво, чи зможемо ми підготувати софт до нього.

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

Був ARKit, потім ARKit 2, RealityKit поверх нього. SceneKit дає високорівневе API для роботи в 3D-просторі, що неймовірно зменшує поріг входу. Vision, Core ML. Нам здавалося, що ці технології мають використовуватись разом, і це ідеально підходить для wearable-девайсу. Ми пробували робити на цих технологіях прототипи застосунків під Apple Glasses. І справді всі ці фреймворки використовують в Apple Vision Pro, гарнітурі, що накладає комп’ютерний інтерфейс на реальний світ перед очима користувача.

На мою думку, Apple Vision Pro — це досить специфічний пристрій, який не потрібен у кожному домі. Розглядати проєкцію в медицині буде продуктивніше в окулярах, ніж на моніторі, навіть у конкурентних продуктах типу Oculus. Ми в MacPaw прагнемо робити ширші дослідження у сфері взаємодії людини з комп’ютером. Не хочемо обмежуватися ні хардом (наприклад, досліджувати тільки Vision Pro), ні софтом (тільки macOS).

Я спілкувався з людьми, які вже мають Apple Vision Pro. Його головні недоліки в тому, що сідає батарея, а від ваги девайсу втомлюється шия. Apple Vision мають ще оновити. Мене б більше цікавили речі, спрямовані на широку аудиторію, типу окулярів, які можна брати з собою. Ray-Ban запропонували такий пристрій, хоча й було багато питань до приватності, адже в їхніх окулярах доповненої реальності середовище знімає камера.

Втім, на мою думку, подолати нинішні обмеження Apple Vision цілком реально. Якщо порівняти перший iPhone і найновіший на сьогодні, то вони мають зовсім різні параметри, процесори, вагу. Процесори ARM в «маках» мали величезне значення через енергомісткість, що дало змогу комп’ютеру працювати довше. Впевнений, що з Apple Vision буде так само. При цьому застосування інновацій буде й бізнесовим рішенням. Цілком можливо, що у них вже є процесор з меншими енерговитратами, але маркетингово ще не вигідно його випускати.

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

Я уже згадував, що штучний інтелект має великий вплив на Human-Computer Interaction. Я думаю, він може забрати роботу в тих, хто буде скептично ставитися до технології, адже використання ШІ прямо вплине на вашу продуктивність. Andrew Ng, професор зі Стенфорду, дуже влучно визначає Generative AI як «new electricity». Якщо проводити аналогію з електрифікацією нашого життя, то ті люди, які швидко почали використовувати електрику у своєму ремеслі, були більш продуктивні, ніж ті, хто продовжував працювати вручну.

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

Звісно, нині ми дуже прискіпливо дивимось на все, що відбувається в ШI-середовищі. Багато експериментуємо як з локальними моделями, так і з провайдерами послуг.

Ми, Technological R&D в MacPaw, були ранніми тестувальниками OpenAI, коли вони ще були в беті. Багато експериментували, і коли OpenAI стали загальнодоступними, ми вже бачили вектор, куди рухається індустрія. У нашому продукті Setapp є ШІ-асистент, який починала робити моя команда як дослідження.

Крім того, у MacPaw є окрема команда AI Lab, яка не входить до нашого R&D. У компанії є внутрішні ШІ-продукти, зокрема інструмент Saymulator, де можна ставити питання і отримувати текст чи код у відповідь.

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

Найпопулярніший особистий проєкт — XCOrganizer. Він групує і сортує Xcode-проєкти на диску. На той час я був розробником. У мене на комп’ютері було понад 500 проєктів, які треба було якось упорядкувати. Я почав створювати цей застосунок на вихідних, у вільний час.

Ще один мій проєкт DNS Client. Коли я працював у VPN-команді в MacPaw, мені треба було розуміти, як працюють DNS-сервери, як вони спілкуються і які формати даних використовують. Таким чином я закрив цю потребу.

Окремо розповім про Folklore — це збірка історій про ранній Apple 1970-х, 1980-х, 1990-х. Є такий розробник з першої команди Macintosh — Енді Герцфельд. Увесь час роботи в Apple він збирав історії. І виклав їх у себе на сайті. Я обожнював читати цей сайт, але він досить старий. Тож я зробив для себе застосунок зі зручним інтерфейсом для читання. Написав Енді та спитав, чи можу використовувати дані з сайту. Він дав дозвіл. Зараз я перероблюю програму, готую її в чорно-білому інтерфейсі оригінального Macintosh 1986 року.

Після початку повномасштабної війни я став волонтерити. У MacPaw є тип дей-офу, який називається MacPaw Cares, коли кожен спеціаліст може взяти певну кількість днів для волонтерських ініціатив. Це може бути як фізична робота, як-от розвантаження гумдопомоги, так і IT-проєкт. Так я створив застосунок «Баночки», який дає змогу стежити за зборами в monobank. Оскільки кількість зборів суттєво зросла, виникла ідея згрупувати їх в одному застосунку. Плюс у «Баночках» є синхронізація за iCloud. Ви зберігаєте збір у телефон, і він з’являється на вашому Mac. Я дуже хотів цим застосунком підвищити конверсію в донат.

Усі доходи від моїх особистих проєктів йдуть на підтримку Сил оборони: або у фонди, або друзям, які служать.

Похожие статьи:
Bootstrap — чудовий фреймворк. Передусім, його перевага у швидкості створення інтерфейсу сайтів. Для мене як програміста він ідеально...
Привет! Этот дайджест мы решили посвятить Ruby/Rails Gems, собрав гемы для решения типичных задач: от тестирования до безопасности...
Новозеландська компанія Blackpearl Group оголосила про придбання продукту і бізнесу NewOldStamp. Як повідомляє видання AIN, в компанії,...
REST — одна из самых популярных популярных технологий для построения клиент-серверных приложений. Благодаря ее простоте...
Працюю в ІТ на різних позиціях і в різних компаніях уже шість років. За цей час я переконався, що в українських...
Яндекс.Метрика