«Snapchat і Facebook ми боїмось найменше». СТО Reface Олесь Петрів — про те, як не стали «апкою-одноденкою», зросли на 100 людей за рік і навіщо 7 фаундерів

Український стартап Reface  — чи не найгучніший застосунок минулого року. З’явившись у січні 2020-го, Reface (тоді ще Doublicat) стрімко набирав популярність і вже влітку очолив американський AppStore із 42 млн завантажень. Мобільний застосунок замінює обличчя у відео або гіфках за лічені секунди. У Reface 7 фаундерів, і всі вони українці. Торік у грудні стартап залучив $5,5 млн від Andreessen Horowitz і кількох бізнес-ангелів.

Ми поспілкувалися зі СТО Reface Олесем Петрівим, який є співзасновником компанії і відповідає за всю технічну частину продукту. У відеоінтерв’ю він розповів, навіщо їм так багато фаундерів і як ділили частки, що під капотом і як витримували пікові навантаження, що змінилося зі зростанням компанії і де знаходять ML-спеціалістів. А також чи готовий Олесь покинути свою посаду та за яких умов.


Це інтерв’ю ви також можете послухати у форматі подкаста на iTunes , Google Podcasts , SoundCloud і ось ще RSS .


Нижче розшифрували лише основні думки із розмови Юри й Олеся. Ми все-таки сподіваємося, що після прочитання цієї вижимки ви подивитеся відео. А ще поставите лайк та підпишетеся на канал :)

Про 7 фаундерів

Спочатку нас було троє. Я, Рома Могильний і Ярослав Бойко. Це був 2011 рік, і ми мізкували, як красиві ідеї загорнути у щось, що можна було б назвати бізнесом. Молоді хлопці із великими амбіціями та дуже різною експертизою. Я — у нейромережах і генетичних алгоритмах, а Рома і Ярослав були більше заточені на business vision, на пошук ресурсів. І кожен пробував виконувати свою роль якнайкраще.

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

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

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

Про інвестиції в Reface та плани

Ми почали залучати інвестиції, коли вже зробили перший продукт, коли зрозуміли, на що потрібні гроші — не на зарплати, а на те, що можна масштабувати.

Такі фонди, як Andreessen Horowitz, не інвестують у проєкт, який планує післязавтра продатися за х2/х3, вони вкладаються у масштабний vision.

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

Ми трансформуємось із фанового застосунку в соціальну платформу з інтерактивізації контенту. Інвестиції підуть у найм, розробку, гіпотези, маркетинг. Усе для того, щоб проітерувати максимальну кількість гіпотез щодо того, у якій формі запустити соціальну платформу.

Від фану до великого і масштабного

Щоб зробити щось велике і масштабне, потрібно спершу привернути увагу. Те, що ми нині завернули в продукт, — це тільки маленька частинка технологій. Reface 2021 року — це про набагато ширший контекст інтерактивізації будь-якого візуального контенту, не тільки з обличчям.

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

Про стек

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

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

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

Про навантаження на апку

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

Ми знали, яка в нас технічна стеля і скільки юзерів у пікові моменти можемо витримати. Мені доводилося приходити і говорити хлопцям підняти стелю втричі наступного тижня. Минало два дні, а в нас трафік збільшувався у 10 разів. І влітку хлопці із бекенд-команди зробили неможливе. За півтора місяця в системі, яка була на продакшені, під постійним навантаженням, без можливості погасити все і зробити по-нормальному, на ходу підняли стелю більше ніж у сто разів.

Про складність розробки

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

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

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

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

Про культуру компанії та обов’язки

Цей рік для нас був як один суцільний шторм. Рік тому нас було 20, а тепер 120.

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

У позиції СТО один з обов’язків — це зрозуміло комунікувати технічні аспекти роботи компанії із зовнішніми партнерами, медіа тощо. Та досі хочеться більше часу проводити з командою в ML-експериментах. На жаль, все менше й менше часу на це залишається, тому частину обов’язків таки доведеться делегувати.

Про команди

У нас є команди, які працюють тільки з ML, їхнє довгострокове завдання — досліджувати, придумувати щось фундаментально нове. Погано часто пінгувати цих спеціалістів ситуативними продуктовими задачами. У нас з’явились ресурси для того, щоб зібрати нарешті такі команди із bright minds.

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

Хтось наводить приклад як наших потенційних конкурентів FaceApp і схожі апки-одноденки: коли ти тільки зайшов і подивився, який вигляд матимеш у старості. І навіщо заходити туди вдруге? Поки не придумають нову механіку, мотивації у людини взаємодіяти з цим не буде.

Про біль швидкого зростання та уроки

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

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

Про пошук ML-спеціалістів

Є багато талановитих студентів. Декілька колег, які одними з перших долучилися до компанії, паралельно навчалися в КПІ або інших університетах.

Важко знайти справді хороших спеціалістів у машинному навчанні, які були б ще продуктово-орієнтовані та розуміли, що вони не просто роблять сферичний ресьорч у вакуумі. Досвід можна знайти, бо є люди, які суперзаточені в якусь специфіку або мають глибоке розуміння Natural Language Processing, але зовсім не цікавляться Computer Vision. І от для мене це такий тригер — а чому? Це той самий ML. А найцікавіше ж на стику сфер.

І ми, як правило, шукаємо людей, які цікавляться технологіями на стику з продуктом і не вішають на себе ярлики типу «я експерт в NLP, але тільки в трансформер-нейромережах». Багато людей ми знаходимо через партнерство з компаніями, які організовують конференції. А також за рекомендаціями наших працівників.

Між стартапом і корпорацією

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

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

Про перегляди зарплат

Оскільки ми доволі розрослися, то зрозуміли, що не можемо залишатися просто купкою інженерів, які зібралися кодити. Це неможливо, тому в нас є HR-команда, яка комунікує з працівниками. Ми вводимо процеси Performance review: двічі на рік є змога потрекати, як людина себе бачить далі, куди хоче розвиватися, чи немає в неї відчуття, що вона закисла на одній задачі.

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

Про стратегію найму

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

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

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

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

Чи готовий залишити посаду СТО

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

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

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

Опубліковано: 18/01/21 @ 11:14
Розділ Різне

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

Один день з карантинного життя менеджера в IT. Постапокаліптична виробнича драма
Что нужно знать Python-разработчику в 2021 году
Как создать свою первую игру и выжить: подготовка, реализация и ошибки
Как ускорить поиск разработчиков: распределяем риски и используем все возможные каналы
Чек-лист запуску продукту для Product Manager