Як програміст з Дніпра вступив в MIT, продав свій стартап Google і став техлидом в Pinterest
Українець Віталій Куликов був одним з перших студентів з пострадянських країн, що надійшли у Массачусетський технологічний інститут. Отримавши блискучу освіту, він працював у Microsoft і Google, а зараз займається вдосконаленням пошукових алгоритмів Pinterest. Ми зустрілися з Віталієм в офісі компанії в Сан-Франциско, щоб поговорити про те, як складалася його кар'єра.
В невагомості В небі над Маунтін-В'ю
— Багатьом здається, що в MIT потрапляють якщо не геній, то, принаймні, тільки дуже талановиті люди. Що насправді потрібно, щоб вступити в один з кращих вузів світу?
Я народився в Дніпропетровську, в 9-11 класах навчався в Ліцеї інформаційних технологій, рівень підготовки там був дуже серйозний. Коли я вступив на факультет прикладної математики в місцевий університет ДДУ, вчитися там було не так цікаво, і я почав замислюватися про освіту за кордоном.
Вступити в Массачусетський технологічний було моєю мрією. Це складно, але можливо. Тим більше зараз, коли в інтернеті можна знайти і приклади вступних тестів, і безліч іншої інформації про MIT. А в 2000-му році я ходив до батька на роботу, щоб перевірити пошту, так як вдома не було інтернету, а підручники з завданнями вивчав в Центрі «Освіта».
Що стосується геніїв, то за всі мої роки в MIT і після, я поки не зустрічав жодного. Зате знаю чимало людей, які по-справжньому любили свою справу і багато працювали.
— Чи достатньо просто набрати високі бали на вступних іспитах?
Я подавався як трансфер-студент. Для цього мені необхідно було здати TOEFL і тести SAT 2 з математики та фізики. Вони самі по собі не дуже складні, але багато питань, і на них треба відповідати швидко, так що англійський повинен бути на хорошому рівні. Крім цього, необхідно було надіслати мотиваційний лист, опис всіх предметів, які я до того моменту пройшов в університеті, і рекомендаційні листи.
Фактично рішення приймається саме на підставі цих документів, тобто це не формальність, їх дійсно уважно читають. Хоча в самому MIT ходять жарти про те, що, наприклад, студентів з Чехії приймають тільки в парні роки, в інший час можна навіть не пробувати. Роль випадку, звичайно, ніхто не відміняв, але зі свого боку потрібно постаратися збільшити шанси на успіх. Наприклад, я всім раджу не робити моєї помилки і діяти як «новий студент», а не трансфер, оскільки конкурс у першому випадку менше.
Змагання з роботодизайну в MIT
— Тобі вдалося не тільки вступити в MIT, але і навчатися там безкоштовно. Що потрібно було для отримання гранту?
Коли мені повідомили, що я пройшов, то, звичайно, радів. Але чітко розумів, що, якщо не доб'юся від інституту фінансової допомоги, платити близько 40 тис. доларів в рік за навчання мої батьки не зможуть. Процес подачі заявки на грант в MIT ніяк не пов'язаний з надходженням, і немає ніякої гарантії, що тобі її нададуть. Я подавав документи на фінансову допомогу паралельно з документами на надходження. Для цього потрібно було зібрати папери, що підтверджують дохід моєї сім'ї (походи по інстанціях — це був окремий челлендж). Після того, як мене вже взяли, довелося ще два тижні чекати на відповідь. Нарешті прийшло підтвердження, що інститут покриє всі мої витрати, пов'язані з навчанням протягом трьох років.
Потрібно сказати, що можливість отримати такий щедрий грант, є саме в найпрестижніших приватних вузах США — Гарвард, Стенфорд, MIT. У державних університетах навчання коштує дешевше, але фінансову допомогу дають рідше і вона набагато скромніше.
— Наскільки складно було вчитися в MIT і як ти оцінюєш рівень освіти там?
В MIT є хороша приказка: «Друзі, сон, навчання — вибери два». Але якщо серйозно, то інститут бачить своє завдання в тому, щоб дати фундаментальні знання про максимально широкому спектрі питань. Ти отримуєш інструментарій, з яким можеш самостійно заглибитися в будь-яку тему. Те, як побудований навчальний процес в MIT, дуже сильно відрізняється від наших вузів.
Там немає факультетів в звичному нам розумінні. Ти хоч і вступаєш на якусь певну спеціальність, але можеш закінчити інститут з іншим дипломом або навіть двома, як у моєму випадку. Щоб отримати ступінь, потрібно набрати певну кількість балів, відвідуючи обов'язкові і факультативні предмети. У студента є відносна свобода самому формувати графік і зміст навчальних курсів.
Атмосфера на лекціях неформальна: можна жувати бутерброд, спати або займатися своїми справами, головне — не заважати. За погані результати можуть позбавити гранту або виключити. Проте головний мотиватор, напевно, — це дух дружньої конкуренції: хлопці в MIT не звикли в чомусь поступатися іншим. Це сильно б'є по новачкам, які вперше стикаються з змаганнями за межами своєї школи або штату. Несподівано розумієш, що ти можеш бути краще за інших в чомусь, але не у всьому.
В інституті видатний викладацький склад. За весь час існування MIT тут працювали або навчалися 87 нобелівських лауреатів. При цьому всі професори доступні для запитань і не страждають на зіркову хворобу. Серед моїх найулюбленіших — Ерік Лэндер (керівник Human Genome Project), Рональд Рівестом (винахідник алгоритмів MD5 і RSA) і Марвін Мінський (один з винахідників штучного інтелекту). MIT також запрошує читати лекції відомих людей. Наприклад, в інституті виступали Білл Гейтс, Білл Клінтон і Джон Неш (математик і економіст, про який зняли фільм «Ігри розуму»).
MIT Computer Graphics Group, Computer Science and Artificial Intelligence Laboratory
— Твоїм першим місцем роботи був Microsoft. Які враження у тебе залишилися про компанії?
Після двох літніх стажувань, які я проходив у Microsoft під час навчання, у 2004 році я отримав від них офер на постійну роботу. У компанії я займався Visual З++ компілятором, який був найпопулярнішим для Windows, а також технологією .NET. Можу сказати, що в той час для своїх масштабів в Microsoft було дуже хороше управління.
Але були й недоліки, наприклад, існував чіткий поділ на відділи, які конкурували між собою за бюджет. Крім того, серед співробітників переважали люди, які працювали там протягом 10-15 років, молоді було зовсім мало. А на 2 тисячі програмістів в нашому будинку припадало менше десяти дівчат. Я жив у містечку Редмонд, де нічого не відбувалося, і, врешті-решт, мені стало не вистачати спілкування, яке безпосередньо не пов'язано з роботою. Тому став думати про те, щоб переїхати на Східне узбережжя, де у мене залишилося багато інститутських друзів. Google тоді відкрив представництво в Нью-Йорку, що підходило мені по локації, так що я відправив туди резюме і пройшов інтерв'ю.
— Чим ти займався в Google?
У 2005 році в нью-йоркському офісі Google працювало близько 100-150 чоловік, я майже всіх знав по імені. Моєю першою роботою став проект з data mining. Коли компанія купила Android, я попросив перевести мене на цей проект і переїхав в Кембридж (Массачусетс). Не встиг я навіть отримати перепустку в місцевий офіс, як мені доручили терміново підготувати експертну оцінку декількох компаній, які займалися відеоконтентом. Так я трохи взяв участь у купівлі YouTube. У команді Android на той момент було не більше 20-30 програмістів в Кембриджі і Маунтін-В'ю.
Я встиг позайматися всім: від браузера до SSL/TLS і підтримки Wi-Fi. Скажу чесно, тоді ми навіть не могли собі уявити, як далеко піде Android.
В цей час я вирішив написати власний продукт, який зміг би продати Google. Потрібно було вибрати нішу, в якій компанія ще нічого не розробила. Я придумав систему, яка дозволяє в режимі реального часу ідентифікувати грає музику. На відміну від таких програм, як Shazam, моє додаток працювало в повністю дистрибутивному режимі, пересилаючи аудиоотпечатки, але не музику, від комп'ютера до комп'ютера.
З цією ідеєю я приїхав на зустріч з Мариссой Майєр, якою, всупереч моїм побоюванням, проект сподобався. Наступним етапом було обговорення разом з Ларрі Пейджем і Сергієм Бріном. У підсумку моя розробка отримала схвалення, і мене направили утрясати потенційно спірні питання з юристами.
В цей же час компанія Viacom подала позов на YouTube (а значить і Google) на мільярд доларів за порушення авторських прав. Та юридичному відділу було зовсім не до мого проекту, який вимагав погодження з найбільшими правовласниками в музичній індустрії США. Мені сказали, що, можливо, через роки два юристи займуться цим питанням, що означало практично нульові перспективи все-таки запустити мій проект.
— Пропрацювавши 5 років, ти звільнився. Це було пов'язано з образою на компанію, яка не підтримала твою ініціативу?
Ніякої образи не було, я все розумів. До того ж в Google я відчував себе дуже комфортно і очевидних приводів йти не було. Але я переконався, що створювати щось своє краще, не працюючи у великій компанії, оскільки ти точно потім не захочеш доводити, що твій продукт не конкурує з будь-яким з її численних продуктів.
Навіть у такій інноваційної компанії, як Google, проштовхнути свій проект проблематично. Необхідно переконати всіх людей нагорі, що це дійсно важливо. Менеджери при цьому не особливо турбуються, якщо твоя ідея не пройшла, адже вона так чи інакше належить компанії, її неможливо буде продати кому-то на боці. Але якщо б ця ідея прийшла «зовні», то вони б виявили значно більший інтерес.
При цьому менеджери нагорі часто не говорять однозначно «ні». Вони не хочуть брати на себе відповідальність, тому що раптом ідея виявиться хорошою і тебе можуть звинуватити, що ти її зарубав. Хоча є й інші люди, наприклад, Марісса Майєр і Річ Майнер мене всіляко підтримували, за що я їм дуже вдячний. Але в кінці кінців який максимальний профіт можна отримати при благополучному результаті, приклавши багато зусиль? Ти станеш техлидом великого проекту, тобі підвищать зарплату, поплескав по плечу, скажуть «так тримати». Як на мене, овчинка не варта вичинки.
В офісі Google в Кембриджі
— Ти йшов з ідеєю все-таки зробити свій проект?
Після 10 років у США, я отримав грінкарту. Це додало свободи, і я прийняв рішення звільнитися, стати фаундером і спробувати самому зробити повноцінний продукт. Хоча можливість фінансового успіху була одним з мотивів, ще більше, мабуть, хотілося випробувати власні сили і зрозуміти, what does it take, наскільки важко створити щось по-справжньому нове.
Переїхавши в Сан-Франциско в 2010 році, я став дивитися на ті речі, які відбуваються в індустрії та за які можна зачепитися. Останній проект, над яким я працював, був Google Books. Там використовувалася велика кількість нових технологій, щоб збирати і обробляти інформацію про всіх відсканованих книгах. Мені стало цікаво зайнятися семантичним пошуком, і я написав фреймворк Nole, який дозволяв брати шматочки інформації з різних місць онлайн і склеювати їх разом, знаходячи між ними загальний зміст. Завдяки технології Nole можна було індексувати веб-сторінки за ключовими словами, а за поняттями.
— Як ти шукав інвесторів?
Я розробляв проект трохи більше року, випустив бету для інвесторів і несподівано отримав лист від Facebook. Мій приятель, який працював у компанії, розповів про цей проект, там зацікавилися і захотіли зустрітися. Я показав демоверсію і отримав оффер. Мені дали тиждень, щоб прийняти рішення. Я подумав, що один покупець — добре, але два — було б краще, і подзвонив Річу Майнеру, одному з фаундерів Android і своєму колишньому менеджеру в Google. Він був у курсі проекту і зреагував моментально. Через 10 хвилин мені прийшов імейл від людини з M&A, який призначив зустріч в Маунтін-В'ю.
Запропоновані умови були кращі, ніж озвучив Facebook, і я погодився. Не можу сказати, що рішення було легким: я провів весь вечір на телефоні з Брайаном Шрайєром з Sequoia Capital і Річем Майнером, намагаючись оцінити всі можливі варіанти. Але Google дав найперспективніше пропозицію з точки зору майбутнього самого проекту. Протягом суботи-неділі юристи підготували необхідні документи для купівлі та підписали letter of intent (лист про наміри). Юридична експертиза тривала ще два місяці, так як є цілий список warranties, тобто описів того, що відбувається в самих курйозних випадках, так що питання суми покупки був простим.
Мені заплатили частину грошей вперед і найняли в офіс Google в Маунтін-В'ю з incentive plan (системою винагород) на 4 роки. Придумана мною технологія стала частиною Google Knowledge Graph.
— Ти знову опинився в Google, але пропрацював там лише півтора року, чому?
Мене повернули в компанію з двома цілями. По-перше, в Google щільно займалися семантичним пошуком і намагалися залучати всіх профі в цій області. По-друге, це було в момент конкуренції з Facebook, коли з'явився Google Plus і компанія була зацікавлена в сильній команді, яка б займалася інтеграцією social і search.
Я займався цими двома речами, а також використанням пошукових можливостей в соціальному контексті. Коли в компанії вирішили інтегрувати профайли юзерів між усіма сервісами Google, я працював над забезпеченням плавного переходу до єдиної системи зберігання інформації про користувачів. Це було невдячне заняття, тому що цінність цього кроку для компанії в цілому була очевидна, але з точки зору користувача в кращому випадку після цих змін нічого не відбувалося. Тобто юзер особливого ефекту не помічав, а от якщо випадково віддалялися якісь акаунти, це була велика проблема. Сама схема переходу була дуже складна, кожний її крок передбачав написання великої кількості програм, які дозволили б повернутися до робочого стану, якби щось пішло не так. Дизайн цієї системи — завдання сама по собі цікава, але її імплементація була довгим і хворобливим процесом.
Після семи місяців роботи над цим проектом я вирішив, що готовий займатися чим завгодно, тільки не цим. Я усвідомив, що мій час мені дорожче, і звільнився. У мене не було зобов'язань за контрактом опрацювати якийсь певний час, але я залишив компанії частину грошей, які я повинен був отримати протягом наступних трьох років.
— Якийсь час ти розробляв свій стартап, розкажи про це.
Моїм наступним проектом стала SKIA — проксиміті-сервіс, що дозволяє реконструювати історію взаємин з будь-якою людиною, у якого є програма, навіть якщо вони до цього не були знайомі. SKIA може дуже точно оцінити відстань між людьми, не використовуючи GPS. При цьому вона безпечна з точки зору приватності, так як не зберігає геолокаційні дані та інформацію конкретно про те, кого людина зустрічає.
Нічний проксіміті-тестування SKIA
Отримавши велику кількість скачувань і високі рейтинги, я зіткнувся з тим, що для розвитку сервісу необхідний виральный ефект, і його поки що добитися не вдалося. Коли люди шлють запрошення своїм знайомим, щоб вони інсталювали програму, погоджується невеликий відсоток. І це зрозуміло, люди втомилися від величезної кількості запрошень зареєструватися в різних сервісах. У тому вигляді, в якому проект існує зараз, його можна було б продати компанії на кшталт Google чи Facebook, але я поки не поспішаю з цим. У мене є ідеї, що потрібно змінити в додатку, щоб стимулювати його зростання, так що поки історія ще не закінчена.
— Зараз ти знову найманий працівник. Якими критеріями керувався при виборі роботодавця?
Одним з важливих факторів була необхідність виключити можливий конфлікт інтересів з моїм стартапом, тому Facebook, наприклад, не підходив. Крім того, я дивився на бізнес-модель компанії, тому що вона в кінцевому підсумку дуже впливає на те, яке місце в ній посідають технології. З цієї точки зору Airbnb, наприклад, не можна назвати дуже технологічним проектом. Якщо говорити ще про одного «єдинорога» — Uber, то мене бентежить, що він значно переоцінений, і єдине, що може забезпечити успіх компанії в майбутньому, — це повне домінування на ринку безпілотних автомобілів, що мені здається малоймовірним.
— Чому ти все-таки вибрав Pinterest?
Треба сказати, що я не був користувачем Pinterest. І коли встановив додаток, то перша реакція була: «Хто всі ці люди, які витрачають час, щоб збирати якісь піни на дошки?» Але несподівано виявилося, що багато мої знайомі дівчата без розуму від цього додатка. І я подумав, що якщо у продукту така велика і віддана аудиторія, можливо, я чогось не розумію.
Pinterest привернув мою увагу ще тому, що це компанія, у якій величезна кількість цікавих даних. Є велике число користувачів, які добровільно маркують зображення (label images) і роблять цю роботу абсолютно безкоштовно. При наявності хороших алгоритмів, це дозволяє істотно поліпшити розуміння свого контенту. Такі дані дуже потрібні, оскільки вони дозволяють потім використовувати labels для машинного навчання, алгоритмів рекомендацій і реклами. І це дані, яких у більшості компаній немає.
В Pinterest весь продукт побудований навколо того, що юзери кажуть щось про себе і про своїх інтересах і залишають інформацію про pins. І якщо ти знаєш багато про pins, розумієш, які pins подобаються різним користувачам, то стає очевидним шлях монетизації.
Нова робота — нова установка комп'ютерів на дому
— Яка в тебе посада в компанії і чим саме ти займаєшся?
Я — Staff Software Engineer, але взагалі я техлид на одному з проектів, пов'язаних з пошуком. Фактично сфера моєї відповідальності знаходиться на перетині пошукових алгоритмів, а також систем рекомендацій і реклами. Я в Pinterest півроку і працюю над групою рішень Locality-Sensitive Hashing (LSH): коли у тебе є якісь речі, представимые в багатовимірному просторі, і ти хочеш знаходити близько розташовані між собою об'єкти. Наприклад, є багато якихось точок, які представляють собою юзерів, pins, boards. Можна дивитися на відстань між ними як на міру схожості (similarity), тобто ступінь того, з якою ймовірністю певного користувача зацікавить той чи інший pin.
Перед нами стоїть завдання розробити ефективні алгоритми, які дозволяють знаходити такі пари в просторах з безліччю вимірювань. При цьому якість пошуку прямо залежить від використовуваних рішень, тому що якісь поліпшення можуть впливати на перфоманс у сотні разів. Це той випадок, коли вдосконалення в технологічному плані безпосередньо корелюється зі зростанням прибутку компанії.
— В чому кардинальна відмінність Pinterest від інших соціальних мереж, які заробляють на рекламі?
Люди приходять на Pinterest за натхненням, і якщо їм вже подобаються якісь ідеї у вигляді картинок, то резонно дати можливість купувати ці речі. Таким чином, у компанії є стабільна фінансова модель. В Facebook або Instagram питання монетизації завжди стояв перпендикулярно концепції. У Pinterest набагато більш натуральний юз кейс: ти не намагаєшся нав'язати рекламу, вона є органічною частиною сайту.
Причина того, що компанія не поспішає голосно заявляти про себе як про рекламної платформі в тому, що ті технології, які були у неї на ранніх етапах, не дозволяли досить добре розуміти контент. Одна справа — мати data, інша справа — мати actionable data, на основі яких можна приймати якісь рішення, щоб реалізувати рекламу максимально органічно, не підриваючи користувальницький досвід.
Pinterest HQ, Image source
Імплементація хорошої рекламної системи — неабиякий процес. Ти можеш показувати гарні pins, не розуміючи їх зміст. Або ж можна враховувати тільки перфоманс-фактори, які проблематичні, тому що існує мережевий ефект. Кількість контенту може збільшуватися, але кількість, яку бачить користувач, буде обмежено найпопулярнішими публікаціями. Багатий стає багатшим, бідний залишається бідним.
Крім того, необхідно знати, що pin являє собою як об'єкт. Потрібні системи, які дуже добре розпізнають pins і на рівні тексту, і на рівні зображення. Необхідно впровадження розумних систем рекомендацій, заточених під ці нові фактори. У випадку з рекламними публікаціями це особливо актуально, тому що спочатку немає ніякого перфоманс-фактора, є лише контент, і потрібно якимось чином оцінити його якість і вирішувати, в яких ситуаціях його показувати, в яких ні.
Pinterest зацікавлений не просто в розміщенні реклами, ми хочемо збільшити очікувану цінність, тобто те, скільки заплатив рекламодавець, помножена на ймовірність того, що реклама сподобається людині, якій вона буде показана. У кінцевому підсумку мета компанії — максимізувати виручку і робити користувачів щасливими.
Опубліковано: 31/05/17 @ 07:00
Розділ Пошуковики
Рекомендуємо:
Швидкий генератор псевдовипадкових чисел на Go
Ставки Aliexpress чи готові ви до диверсифікації?
У пошуках нової енергії
Android дайджест #25: Google I/O, Kotlin назавжди, Assistant SDK
DOU Labs: як в ELEKS застосували штучний інтелект для моніторингу проектів