Як Data Science продає вам рекламу? Інтерв'ю з інженером Unity

Тиждень тому в наших соцмережах виступав Микита Александров – Data Scientist у Unity Ads, де він покращує алгоритми конверсії. Микита зараз живе у Фінляндії, і, крім іншого, він розповів про IT-життя в країні.

Ділимося з вами розшифровкою та записом інтерв'ю

Мене звуть Микита Александров, я виріс у Татарстані і там закінчив школу, займався олімпіадами з математики. Після цього вступив на факультет комп'ютерних наук ВШЕ і закінчив там бакалаврат. На початку 4 курсу з'їздив на навчання з обміну, провів семестр у Фінляндії. Мені там сподобалося, я вступив до магістратури університету Аалто, хоча не закінчив її повністю – я закінчив усі курси та почав писати диплом, але пішов працювати в Unity, не здобувши ступінь. Зараз я працюю в Unity data scientist, відділ називається Operate Solutions (раніше він називався Monetization); безпосередньо моя команда займається доставкою реклами. Тобто, внутрішньоігрової реклами - тієї, яка видається, коли ви граєте в мобільну гру і потрібно заробити додаткове життя, наприклад. Я працюю над покращенням конверсії реклами – тобто роблю так, щоб гравець з більшою ймовірністю пройшов рекламою.

Як ти переїхав?

Спочатку я приїхав до Фінляндії вчитися на семестр обміну, після цього повернувся до Росії і закінчив диплом. Потім я вступив на магістратуру до університету Аалто з machine learning/data science. Так як я навчався з обміну, мені навіть не довелося складати іспит з англійської; вчинив легко, я знав, на що роблю. Живу тут уже 3 роки.

Фінський необхідний?

Він потрібний, якщо ви збираєтеся навчатися тут на бакалавра. Дуже мало програм англійською мовою для бакалаврів, потрібна фінська чи шведська – це друга державна мова, деякі університети навчають шведською. Але в магістратурі та PhD більшість програм англомовні. Якщо говорити про щоденне спілкування та побут – тут більшість людей розмовляють англійською мовою, приблизно 90%. Люди нормально живуть цілими роками (мій колега живе загалом 20 років) без фінської мови.

Звичайно, якщо ви хочете залишатися тут жити, потрібно хоча б розуміти фінську на рівні заповнення форм – прізвище, ім'я і так далі.

Чи відрізняється якість навчання від університетів РФ? Чи дають усю необхідну базу для влаштування джуніором?

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

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

Чим компанія у Фінляндії мотивує співробітників, які плюшки?

Крім очевидного (зарплати), є соціальні плюшки. Наприклад, кількість декретної відпустки для батьків. Є медичні страховки, акції, опціони. Буває незвичне нарахування відпускних днів. Нічого особливого в основному.

У нас в офісі є сауна, наприклад.

Є ще купони - певна кількість грошей на обіди, на громадський транспорт, на культурно-спортивні заходи (музеї, спорт).

Що порадити гуманітарію для входу до ІТ?

Повторювати шкільний курс та вступати до ВШЕ? Часто прогери маю математичну базу/олімпіади.

Я раджу, звісно, ​​підтягнути математику. Але не обов'язково повторювати шкільний курс. Точніше, його треба повторювати тільки в тому випадку, якщо не помнете зовсім нічого. Крім того, треба визначитися, до якого саме IT ви хочете піти. Для фронтендера не обов'язково знати математику: треба просто брати курси з фронтенду та вчитися. Моя подруга нещодавно вирішила записатися на курси від компанії Accenture, вона зараз навчає Scala; вона не гуманітарій, але досвіду програмування вона не мала. Залежно від того, що ви хочете програмувати і на чому, потрібна різна кількість математики. Звичайно, для Machine Learning-спеціальності потрібна математика, в тому чи іншому ключі. Але, якщо ви хочете просто скуштувати – є багато різних туторіалів, відкритої інформації, місць, де можна пограти з нейромережею або побудувати самостійно, або завантажити готову, поміняти параметри та подивитися, як вона змінюється. Все залежить від того, наскільки сильна мотивація.

Якщо не секрет – зарплати, досвід, на чому пишете?

Я пишу на Python – це універсальна мова для machine learning та data science. Досвід був різний досвід; я був простим інженером у кількох компаніях, був на стажуванні кілька місяців у Москві. Не було постійної роботи до Unity. Туди я прийшов теж як стажист, попрацював стажистом 9 місяців, потім зробив перерву, а тепер працюю вже рік. Зарплата конкурентоспроможна, вища за медіану для регіону. Фахівець-початківець зароблятиме від 3500 EUR; у різних компаніях це різниться. Загалом, 3.5-4 – зарплата-початківець.

Які книги та туторіали порадите?

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

Туторіали є різні. Якщо ви хочете випробувати якийсь алгоритм – беріть назву алгоритму, методу, класи методів та вбивайте у пошук. Що зайде першим посиланням, те й дивіться.

Скільки залишаються чистими?

Після податків — треба брати податки плюс 8% (які не податок, але податок) – залишається 2/3 зарплати. Ставка динамічна – що більше заробляєте, то більший податок.

Які компанії звертаються за рекламою?

Потрібно розуміти, що Unity/Unity Ads займаються рекламою мобільних ігор. Тобто, у нас є ніша, ми дуже добре розуміємось на мобільних іграх, на Unity можна їх створювати. Як тільки ви написали гру, ви хочете на ній заробити, і монетизація – один із способів.
Компанії за рекламою можуть звертатися будь-які - інтернет-магазини, різноманітні фінансові програми. Реклама всім потрібна. Саме у нас основні клієнти – це розробники мобільних ігор.

Які проекти краще робити задля підвищення скіллів?

Гарне питання. Якщо ми говоримо про data science, потрібно прокачати себе через онлайн-курс (наприклад, у Стенфорді є) чи онлайн-університет. Є різноманітні платформи, за які потрібно платити – наприклад Udacity. Там є домашні завдання, відео, менторство, але насолода це не з дешевих.

Чим вже ваші інтереси (наприклад, якийсь reinforcement learning), тим складніше знайти проекти. Можна спробувати взяти участь у kaggle-змаганнях: заходьте на kaggle.com, там багато різноманітних змагань з машинного навчання. Берете те, до чого вже прикладено якусь baseline; завантажуєте та починаєте цим займатися. Тобто, багато способів: можна займатися самостійно, можна бути онлайн-курс – безкоштовний або платний, можна брати участь у змаганнях. Якщо ви хочете шукати роботу в Facebook, Google і так далі, то потрібно навчитися вирішувати алгоритмічні завдання - тобто треба йти в LeetCode, набивати руку там для того, щоб проходити співбесіди.

Опишіть короткий роадмап навчання Machine Learning?

Розповім в ідеалі, не претендуючи на універсальність. Ви спочатку проходите математичні курси в універі, вам потрібно знання та розуміння лінійної алгебри, теорії ймовірності та статистики. Після цього вам хтось розповідає про ML; якщо ви живете у великому місті, то в ньому мають бути школи, які пропонують курси з ML. Найвідоміша – ШАД, Школа аналізу даних Яндекса. Якщо ви в ній пройдете, і ви зможете провчитися два роки, то ви отримаєте всю базу ML. Вам потрібно буде далі відточувати скіл у дослідженнях та в роботі.

Якщо й інші варіанти: наприклад, Тиньков має курси з машинного навчання з можливістю працевлаштуватися в Tinkoff після закінчення. Якщо вам це зручно – записуйтесь на ці курси. Бувають різні пороги входження: наприклад, у ШАД є вступні випробування.
Якщо ви не хочете йти на звичайні курси, можна почати з онлайн-курсів, яких більш ніж достатньо. Це залежить від вас; якщо у вас хороша англійська - добре, знайти буде легко. Якщо ні, то, можливо, теж щось таке є. Ті ж лекції ШАД є у відкритому доступі.
Після отримання теоретичної бази можна йти вперед – на стажування, дослідження тощо.

Чи можна самому навчитися machine learning? Чи зустрічали ви такого програміста?

Я думаю так. Тільки треба мати сильну мотивацію. Хтось може сам вивчити англійську мову, наприклад, а комусь треба йти на курси, і тільки так ця людина зможе вивчитися. З ML так само. Хоча я не знаю такого програміста, який навчився б усьому сам, але, можливо, у мене просто мало знайомих; всі мої друзі саме навчалися звичайним способом. Я не беруся говорити, що 100% потрібно навчатись так: головне – ваше бажання, ваш час. Звичайно, якщо у вас немає математичної бази, доведеться витратити багато часу, щоб напрацювати її.
На додачу до розуміння того, що означає бути data scientist'ом: я сам не займаюся data sci
ence як research. Наша компанія це не лабораторія, де ми розробляємо методи, закриваючись на півроку в лабораторії. Я безпосередньо працюю з production, і мені потрібні інженерні скіли; мені потрібно писати код, мати інженерні навички, щоб розуміти, що як працює. Люди часто опускають ці особливості, коли говорять про data science. Є безліч історій про те, як люди з PhD пишуть нечитаний жахливий неструктурований код, вони виникають великі проблеми після того, як вони вирішують піти в індустрію. Тобто, разом із Machine Learning не потрібно забувати про інженерні скіли.

Data science - це позиція, яка не говорить про себе. Ви можете влаштуватися компанію, яка займається data science, і ви писатимете SQL-запити, або буде проста логістична регресія. У принципі, це теж уже machine learning, але в кожній компанії є своє розуміння того, що таке data science. Наприклад, моя подруга у Facebook розповіла, що data science – це коли люди просто запускаю статистичні експерименти: клікають на кнопочки, збирають результати та потім надають їх. При цьому я сам покращую методи конверсії та алгоритми; у деяких інших компаніях ця спеціальність може називатися machine learning engineer. У різних компаніях все може бути по-різному.

Які бібліотеки використовуєте?

Ми використовуємо Keras та TensorFlow. Можна і PyTorch — це не принципово, вона дозволяє робити ті самі речі – але в якийсь момент було прийнято рішення використовувати саме їх. При існуючому продакшені важко міняти.

У Unity є не тільки data scientist'и, які оптимізують алгоритми конверсії, а й GameTune – це така річ, де ви покращуєте метрики в плані прибутку чи retention за допомогою різних туторіалів. Допустимо, хтось пограв у гру і сказав: мені незрозуміло, мені нецікаво – закинув; комусь дуже легко, навпаки – він теж закинув. Тому потрібен GameTune - це ініціатива, яка адаптує складність ігор за здібностями геймера, або з історії ігор, або за тим, як часто він щось купує всередині додатків.

Також є Unity Labs - можна це теж загуглити. Там є ролик: береться коробка з-під пластівців, а на її обороті є ігри на кшталт лабіринтів – але вони сумісні з доповненою реальністю, і можна керувати людиною на картоні. Виглядає дуже круто.

Можна поговорити безпосередньо про Unity Ads. Якщо ви вирішили написати гру, і вирішили опублікувати її та заробити, то доведеться вирішити деякі важкі завдання.

Я почну з прикладу: ось Apple анонсував запуск iOS 14. У ній потенційний геймер може зайти в додаток і сказати, що не хоче нишпорити свій Device-ID будь-кому. При цьому він погоджується з тим, що якість реклами погіршиться. Але в той же час це складне завдання для нас, бо якщо ми не зможемо ідентифікувати вас, то ми не зможемо збирати певні метрики, і просто матимемо менше інформації про вас. Оптимізувати роботу в умовах світу, який більше прагне конфіденційності, захисту даних, для data scientist'а все важче — даних стає все менше, як і доступних методів.

Крім Unity, є гіганти на зразок Facebook і Google - і, здавалося б, навіщо потрібний Unity Ads? Але треба розуміти, що у різних країнах ці рекламні мережі можуть працювати по-різному. Умовно кажучи, є Tier 1-країни (Америка, Канада, Австралія); є Tier 2-країни (Азія), є Tier 2 (Індія, Бразилія). Рекламні мережі можуть працювати у них по-різному. Також має значення вид реклами, що використовується. Чи звичайний вигляд, чи реклама «за винагороду» (rewardable) – коли, наприклад, щоб продовжити з того самого місця після game over, потрібно переглянути рекламу. Різні види реклами, різні люди. У якихось країнах одна рекламна мережа краще працює, у якихось інша. І ще як додаткове зауваження – я чув, що інтеграція AdMob, яка у Google, складніша, ніж Unity.

Тобто, якщо ви створили гру в Unity, ви автоматично інтегровані в Unity Ads. Різниця – у простоті інтеграції. Що можна порадити: є така річ, як медіація; в ній є різні позиції: можна встановлювати позиції в waterfall (водоспаді) для постановки рекламних placements. Можна сказати, наприклад, так: хочу, щоб за пріоритетом показувався спочатку Facebook, Google, потім Unity. І, якщо Facebook та Google вирішать не показувати рекламу, то Unity покаже. Чим більше у вас рекламних мереж – тим краще. Це можна розглядати як інвестування, але ви інвестуєте одразу в різну кількість рекламних мереж.
Ще можна розповісти про те, що має значення для успіху рекламної кампанії. Насправді тут немає нічого особливого: потрібно стежити, щоб реклама відповідала контенту вашої програми. Можна, наприклад, пошукати в Youtube app ads mafia і подивитися, наскільки реклама може не відповідати контенту. Ще є програма Homescapes (або Gardenscapes?). Може мати значення те, чи правильно настроєна кампанія: щоб реклама англійською мовою показувалася англомовною аудиторією, російською – російськомовною. Дуже часто бувають помилки в цьому: люди просто не розуміються, встановлюють навмання.
Вам потрібно створювати різні прикольні відео, подумувати над форматом, думати, як часто їх оновлювати. У великих компаніях займаються спеціальні люди – user acquisition managers. Якщо ви одиночний розробник, то вам це не потрібно, або потрібно по досягненню певного зростання.

Які подальші плани?

Як і раніше, працювати там, де я зараз. Можливо, я отримаю фінське громадянство – це можливо після 5 років проживання (якщо менше 30 років, потрібно ще й відслужити, якщо людина не зробила цього в іншій країні).

Чому переїхали до Фінляндії?

Так, це не надто популярна країна для переїзду IT-фахівця. Багато хто переїжджає сім'ями, бо тут хороші соціальні плюшки – дитячі садки, ясла, більше декретні відпустки для будь-якого з батьків. Чому переїхав я сам – мені просто сподобалося. Може б сподобатися будь-де, напевно, але Фінляндія досить близька за культурним менталітетом; відмінності з Росією є, звичайно, але є й схожість. Вона маленька, безпечна, і ніколи не буде залучена до якихось великих заварок. Це не умовна Америка, де може потрапити президент, якого не люблять, і почнеться щось через це; і не Великобританія, яка раптом захоче виходити з ЄС, і також будуть проблеми. Тут лише 5 мільйонів людей. Навіть з епідемією коронавірусу Фінляндія впоралася досить гідно порівняно з іншими країнами.

Чи збираєтеся повертатися до Росії?

Поки не збираюсь. Ніщо б не заважало це зробити, але мені тут комфортно. Тим більше, якщо я працюватиму в Росії, доведеться стати на військовий облік, і мене можу закликати.

Про магістратуру у Фінляндії

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

Особливість: із магістратури не виганяють. Якщо не склали іспит, цей курс треба буде просто пройти в наступному семестрі. Є лише обмеження на загальний час навчання: на бакалавра – не більше 7 років, на магістра – 4 роки. Можна спокійно закінчити все за два роки, окрім одного курсу, і розтягнути його на 2 роки, чи брати академіки.

Робота в Москві та у Фінляндії відрізняється сильно?

Я б не сказав. Ті самі IT-компанії, ті самі завдання. У культурно-побутовому плані зручно, робота – недалеко, місто маленьке. Продуктовий магазин коштує за одну хвилину від мене, зал – за три, робота – двадцять п'ять, від дверей до дверей. Мені подобаються розміри; я раніше не мешкав у таких затишних містах, де все під рукою. Красива природа, пляж поруч.

Але щодо роботи, я думаю, все плюс-мінус однаково. Що стосується ринку IT-праці Фінляндії, що стосується machine learning – деякі зауважують, що для спеціальностей, пов'язаних з ML, вимагають PhD або хоча б магістрів. Я вважаю, що в найближчому майбутньому це зміниться. Тут досі є упередження: якщо ти бакалавр, то ти не можеш бути сформованим фахівцем, а от якщо магістр – у тебе спеціалізація, і ти можеш працювати. А якщо PhD, то вже все круто, і ти можеш робити IT-дослідження. Хоча, як на мене, навіть люди, які закінчили PhD, можуть бути зовсім не інтегровані в індустрію, і можуть не розуміти, що індустрія – це не лише алгоритми та методи, а й бізнес. Якщо ви не розумієте бізнес, то я не знаю, як ви зможете вростати компанію та розуміти, як працює вся ця мета-система.

Тому ідея переїхати до магістратури та одразу знайти роботу – це досить складно; якщо ви переїжджаєте до Фінляндії з бакалаврським дипломом – ви є ноунейм. Потрібно мати якийсь досвід роботи, щоб сказати: я працював в Яндексі, Mail, Лабораторії Касперського і т.д.

Як прожити на 500 EUR у Фінляндії?

Прожити можна. Якщо ви студент, потрібно розуміти, що ви не матимете стипендії; ЄС може надавати гроші, але тільки для тих, хто навчається з обміну. Якщо ви вступаєте до університету Фінляндії, то потрібно розуміти, як ви житимете. Є кілька варіантів; якщо ви вступаєте в магістратуру з PhD-треком (тобто одночасно в магістратуру і на PhD), то з першого ж року ви робитимете дослідницьку роботу і отримуватимете за це гроші.
Невеликі, але студенту вистачатиме. Другий варіант - підробіток; наприклад, я був навчальним помічником за певним курсом і заробляв 400 EUR на місяць.

До речі, у Фінляндії добрі студентські бенефіти. Можна заселитися в гуртожитку за 300 або 200 EUR за кімнату, можна харчуватись у студентських їдальнях з фіксованою ціною (все, що ви накладаєте собі у тарілку – 2.60 EUR). Деякі намагаються снідати, обідати та вечеряти у їдальні за 2.60; якщо так робити, можна прожити на 500 EUR. Але це найменший.

Куди можна вступити, якщо хочеш бути програмістом?

Можна вступити на факультет комп'ютерних наук ВШЕ, МФТІ - ФІВТ та ФУПМ, або ВМК МДУ, наприклад. Можна щось і Петербурзі знайти. Але я не знаю точної ситуації з навчанням machine learning, спробуйте загуглити цю тему.

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

Звісно, ​​життя у Фінляндії не зовсім казкове – переїхав, і одразу все стало круто. Будь-який мігрант все одно зустрічається із культурним шоком. У різних країнах – різні люди, менталітет, різні закони. Наприклад, тут потрібно самому дбати про податки – заповнювати податкову картку; купівля машини, оренда житла - багато працює по-іншому. Це досить важко, якщо ви вирішите переїхати. Народ тут не сказати щоб дуже соціальний, погода як у Санкт-Петербурзі – у листопаді-грудні може бути по 1-2 сонячні дні. Деякі навіть впадають у депресію тут; вони приїжджають із упевненістю, що вони тут дуже потрібні, але це виявляється не так, і треба заробляти гроші, граючи за чужими правилами. Це завжди ризик. Завжди є ймовірність, що вам доведеться повернутися, тому що ви просто не приживетесь.

Яку пораду даси програмістам-початківцям?

Я раджу спробувати якнайбільше, зрозуміти, що вас дійсно цікавить. Намагайтеся не зациклюватися в одній сфері: спробуйте розробку Android, frontend/backend, Java, Javascript, ML, інші речі. І, як я вже сказав, треба бути активним, йти на контакт, цікавитись, що відбувається; що роблять друзі, колеги, знайомі. Ходіть на воркшопи, семінари, лекції, знайомтеся з людьми. Чим більше у вас зв'язків, тим простіше зрозуміти, що відбувається.

Де ще використовується Unity, окрім ігор?

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

Якщо хочете поставити запитання – не соромтеся знаходити мене у всіх соціальних мережах.

Що було раніше

  1. Ілона Папава, Senior Software Engineer у Facebook - як потрапити на стажування, отримати оффер і все про роботу в компанії
  2. Борис Янгель, ML-інженер Яндекса — як не поповнити ряди спеціалістів, якщо ти Data Scientist
  3. Олександр Калошин, СEO LastBackend - як запустити стартап, вийти на ринок Китаю та отримати 15 млн інвестицій.
  4. Наталія Теплухіна, Vue.js core team member, GoogleDevExpret - як пройти співбесіду в GitLab, потрапити до команди розробників Vue і стати Staff-engineer.
  5. Ашот Оганесян, засновник та технічний директор компанії DeviceLock - хто краде та заробляє на ваших персональних даних.
  6. Санія Галімова, маркетолог RUVDS - як жити та працювати з психіатричним діагнозом. Частина 1. Частина 2.
  7. Ілля Кашлаков, керівник фронтенд-відділу Яндекс.Грошей - як стати тимлідом фронтендерів і як жити після цього.
  8. Влада Рау, Senior Digital Analyst у McKinsey Digital Labs – як потрапити на стажування до Google, піти у консалтинг та переїхати до Лондона.
  9. Річард «Левелорд» Грей, творець ігор Duke Nukem 3D, SiN, Blood — про особисте життя, улюблені ігри та про Москву.
  10. В'ячеслав Дреєр, гейм-дизайнер та продюсер ігор з 12-річним стажем — про ігри, їх життєвий цикл та монетизацію
  11. Андрій, технічний директор GameAcademy як відеоігри допомагають прокачувати реальні навички і знайти роботу мрії.
  12. Олександр Висоцький, провідний PHP-розробник Badoo – як створюються Highload проекти на PHP у Badoo.
  13. Андрій Євсюков, заступник CTO у Delivery Club - про найм 50 синьйорів за 43 дні і про те, як оптимізувати фреймворк найму
  14. Джон Ромеро, творець ігор Doom, Quake та Wolfenstein 3D - байки про те, як створювався DOOM
  15. Паша Жовнер, творець тамагочі для хакерів Flipper Zero - про свій проект та іншу діяльність
  16. Тетяна Ландо, лінгвіст-аналітик у Google - як навчити Google-асистента людській поведінці
  17. Шлях від джуна до виконавчого директора у Ощадбанку. Інтерв'ю з Олексієм Левановим

Як Data Science продає вам рекламу? Інтерв'ю з інженером Unity

Як Data Science продає вам рекламу? Інтерв'ю з інженером Unity

Джерело: habr.com

Додати коментар або відгук