«Меня в твиттере лайкнул создатель языка Swift» Российские студенты Андрей Володин и Яна Валиева — о том, как они попали на конференцию WWDC за счет Apple
В понедельник, 5 июня, в Калифорнии начинается конференция для разработчиков WWDC 2017, которую проводит корпорация Apple. Билеты на мероприятие стоят больше полутора тысяч долларов, но купить их непросто — приходится участвовать в лотерее. При этом Apple каждый год предлагает студентам со всего мира 340 грантов на посещение WWDC за счет корпорации — для этого нужно показать разработку на языке программирования Swift, которая впечатлит сотрудников Apple. В 2017 году на конференцию по программе WWDC Scholarship отправятся пять российских студентов. Среди них — Андрей Володин, который поедет уже во второй раз, и Яна Валиева, единственная девушка-разработчик из России, выигравшая грант. Журналист «Медузы» Султан Сулейманов поговорил с Андреем и Яной — о том, как они выиграли поездку на WWDC и чего ждут от конференции.
Андрей Володин
Воронежский государственный университет
— Вы уже ездили на WWDC в 2016 году. Как вам помогла конференция?
— Прошлый WWDC оказался для меня поворотным событием, потому что я учусь в Воронеже, в ВГУ, на факультете прикладной математики, информатики и механики, — классический «программист в провинции». Перспектив особых нет, существует смутное понимание того, что ты будешь делать после университета, надеешься только на себя. Когда я поехал туда, у меня за плечами не было никакого бэкграунда, я нигде не работал. У меня было хобби, связанное со Swift, — на тот момент я уже год им занимался, — и это был единственный драйвер, который позволил мне туда поехать.
И там я очень вдохновился. Ты видишь масштаб происходящего и чувствуешь, что ты часть этого. Ходишь наравне с крутыми разработчиками, тусуешься на лабораториях. А кроме [внутреннего] заряда появился пункт, что я ездил на WWDC, и это начало приносить пассивную выгоду. Когда говоришь об этом, к тебе уже лучше относятся. Ты второкурсник с ПМИМ из Воронежа? Ну, такое. А когда говоришь, что ты только что вернулся из Калифорнии и у тебя есть селфи с Тимом Куком, это настраивает людей на диалог.
Но от самой конференции я взял не так много, как мог бы. Я с детства очень хотел побывать в Америке и из-за этого очень много гулял; побывал в Стэнфорде, ходил по Сан-Франциско, мы ездили к дому Стива Джобса, — то есть была такая эйфория от того, что ты наконец попал за океан.
В этом году я хочу подойти к конференции более осознанно, больше времени проводить с разработчиками, больше заводить знакомств. В прошлый раз было ощущение, что я еду еще и в Америку, а сейчас я еду именно на конференцию.
— Что вы сделали в прошлом году, чтобы вас взяли на конференцию?
— У меня было приложение для macOS, которое брало картинку и накладывало на нее модный фильтр в стиле Low Poly. Оно находило объекты, разбивало их на треугольники и в этих треугольниках усредняло цвет. После того, как я туда съездил, мне все говорили, что я немного опередил Prisma. В конце июня вышла Prisma, а я сделал плюс-минус то же самое [на месяц раньше] — к WWDC.
— Вы говорили про Swift как хобби. Что изменилось после прошлогодней конференции? Это стало вашей профессией?
— Хоть это и было хобби, я понимал, что оно во что-то перерастет. Не то чтобы я просто игрался — я довольно много времени в это вкладывал. Но сейчас да, язык Swift — то, что определяет меня как профессионала. Вся моя экосистема вертится вокруг него.
А еще так получилось, что после WWDC я начал преподавать. Но это не связано с тем, что я съездил в Калифорнию. Еще до поездки, когда я был на третьем курсе, меня попросили провести для своего потока, для одногодок, несколько публичных лекций. Я провел, и на них почему-то пригласили завкафедрой и еще какую-то администрацию — они на последних рядах сидели. Когда я закончил, они подошли и предложили прочитать курс по Swift студентам на год младше. Я перешел на четвертый курс, а читал для третьекурсников.
Просто университет выиграл грант, накупил iMacʼов, а на них поставили Windows, и никак это не использовалось. Получалось, что деньги потрачены впустую. Мне предложили, и я согласился — на энтузиазме. Я и учился, и преподавал.
— Планируете продолжать преподавательскую деятельность?
— Надо понимать, что у нас в Воронеже довольно сложно найти заряженных людей — они все в основном в «Вышку» и МГУ уезжают. Но несколько моих студентов, которые совсем недавно сдали мне свои проекты, уже получили по два оффера на работу; постоянно мне пишут, что в следующем году будут подаваться на WWDC; они ездят на модные сходки, на которых я выступаю как спикер, — например, на CocoaHeads в Москве. И меня очень зарядило, что я смог трех-четырех человек так вдохновить, что они вылезли из воронежской парадигмы.
Я, наверное, возьму еще одну группу. Но мне платили около 500 рублей за пару, то есть моя зарплата в месяц была порядка семи тысяч. Так что это точно не то, кем я себя вижу в будущем. Но еще одну группу возьму.
— Когда вы подавались на WWDC во второй раз, вам было проще? Было ощущение, что вы уже все знаете и все пойдет как по накатанной? Просто мало кому удавалось выиграть конкурс дважды?
— Когда я вернулся, у меня был свой проект на GitHub с открытым исходным кодом. Совсем неамбициозный проект, просто игровой движок на Swift, чтобы потренироваться.
Я начал общаться с разными людьми. GitHub — это как социальная сеть для разработчиков. Когда я приступал к разработке каких-то элементов, то сначала смотрел, что сделали другие, — и если мне что-то нравилось, писал этим людям. В результате я завел много близких знакомств с очень крутыми разработчиками, которым по 50 лет и которые делают это на совершенно другом уровне. Вместе с ними мы запустили первое в мире приложение на Swift под Android. Это был довольно громкий момент — меня в твиттере лайкнул Крис Лэтнер, это создатель языка Swift. И я уже почивал на лаврах, думал, что это и подам на второй год: «Смотрите, какой я классный, сделал такое и меня все похвалили». И вообще не готовился ко второй подаче. Я знал, что напишу эссе и подам этот проект. Был уверен в себе.
А потом я узнал, что Apple меняет регламент, и в этом году не конкурс проектов, а конкурс Swift Playground — это специальный раздел в [среде для разработки] Xcode, где ты пишешь код, он мгновенно компилируется. В общем, это не полноценное приложение. И это было довольно драйвово, потому что оставалось около недели, чтобы придумать идею и все закодить. И все как обычно: в прошлом году я сделал все дней за пять, а в этом успел за три-четыре. Но я не хвалюсь — это не потому, что я такой классный, а потому, что не ожидал этого.
— Кроме того, что на WWDC можно будет пообщаться с другими разработчиками, что вы еще ждете от конференции? Попробовать новый iOS, какое-то развитие Swift, еще что-нибудь?
— Я думаю, что будет скучно. Был Google I/O 2017, и он оказался скучным. Прошли времена, когда каждый год компании выкатывали что-то нереальное, какой-то game changer (продукт, меняющий правила игры на рынке — прим. «Медузы»). Apple надо поработать не над новыми функциями, а над стабилизацией экосистемы. И даже слухи в интернете ходят, что в iOS 11 будет упор на стабильность и хорошую работу. Наверное, это то, чего все мы ждем, — не только разработчики, но и пользователи.
Apple — не та компания, которая славится своей секретностью, и если бы они что-то готовили, это бы уже слили. Думаю, это будет дежурная конференция.
Яна Валиева
Южный Федеральный университет, Ростов-на-Дону
— Как вы пришли к программированию? Я так понимаю, у вас был нетривиальный путь.
— Да, не самый тривиальный. Когда я была еще в школе, я не то чтобы собиралась связывать свою жизнь с программированием. У меня была гуманитарная школа без какого-либо уклона в математику. Потом началась подготовка к ЕГЭ, я готовилась математике, и мне стало интересно ей заниматься. И я подумала: если нравится, почему бы не попробовать поступить на мехмат. Еще нужно было сдать ЕГЭ по информатике, поэтому я начала готовиться и к ней. И в процессе поняла, что мне реально нравится программировать и я хочу идти в IT.
Я поступила на фундаментальную информатику и информационные технологии, сейчас заканчиваю четвертый курс.
— А вы специализируетесь на языке Swift или начинали с более классических вещей?
— Нет, Swift я начала изучать совсем недавно, в начале семестра.
— Зимой?
— Да. У нас был курс по разработке под iOS на Swift; мне понравилось, я начала что-то дополнительно изучать для себя — кроме того, что дают в университете. Было удобно, если что-то интересует помимо учебной программы, можно спросить у преподавателя — это был такой Quickstart.
— Что вы сейчас разрабатываете?
— Сейчас в основном я занимаюсь своей научной работой, потому что диплом на носу. Я разрабатываю систему — пишу приложение под iOS, — которая позволяет на основе показаний акселерометра, приходящих с телефона пользователя, определить его стаж вождения. Человек едет, у него включено приложение, собираются данные с акселерометра, отправляются на сервер в облаке и там машинное обучение говорит: опытный или неопытный.
Я классифицирую как «до пяти лет» и «больше пяти лет» — данные пришлось собирать вручную, поэтому классификация такая маленькая.
— Искусственный интеллект — ваша любимая тема?
— Да, одна из любимых.
— Как вы к этому пришли?
— Во-первых, сейчас это модно — машинное обучение и так далее. Я начала с курсов по машинному обучению от Высшей школы экономики и «Яндекса» на Courserа. Прошла этот курс, там описываются базовые алгоритмы, рассказывают, как использовать библиотеки, дают задания. Потом поехала в летнюю школу биоинформатики в Санкт-Петербурге, и там было много проектов, связанных с применением машинного обучения.
Также я ездила в школу Microsoft Research. Там была тема «Интернет вещей» —конечно, меньше искусственного интеллекта, но все же он применялся. В этой школе мы работали над проектом, где было задействовано машинное обучение.
А в прошлом семестре и в университете был курс интеллектуальных систем — и там я научилась писать антагонистические игры. Я же делала для конкурса Apple игру «Реверси» с искусственным интеллектом, вот как раз на том курсе я узнала, что есть такая тема, заинтересовалась, как эти алгоритмы работают. Там же не просто машинное обучение, а алгоритмы принятия решений прописаны.
— Как так вышло, что вы постоянно ездите на какие-то летние школы? Когда я был студентом, то понятия не имел, что такое бывает.
— Когда я начала проходить курс на Coursera в прошлом году, я решила следить за всеми айтишными мероприятиями, поскольку мне было интересно пообщаться с российским комьюнити. И начала смотреть, что предлагают студентам, у них ведь огромные возможности — от стажировок до летних школ. И это отличный шанс пообщаться со специалистами. Например, в школу Microsoft приезжал полностью иностранный состав, школа была на английском языке. И рассказывали много интересного о том, что еще только начинают разрабатывать.
Еще у Microsoft есть программа, не связанная с летней школой, где студенты-партнеры проводят для других студентов и школьников мероприятия и знакомят их с новыми технологиями. У себя в Ростове я проводила мероприятия по разработке игр на Unity. У всех на выходе была своя маленькая игра, где герой бегал и собирал покемонов — тогда это было очень актуально.
— Как вы попали на конкурс Apple?
— Я узнала о нем от преподавателя, совсем не связанного с iOS, — он ведет Haskell и теорию языков программирования. Я решила поучаствовать, так как мне интересен Swift. А раз мне интересно делать какие-то штуки с искусственным интеллектом, то почему бы не совместить.
— Как долго вы готовились к нему? Как долго писали игру?
— Примерно две недели, но неплотно. Может, чуть меньше.
— А кто-нибудь из ваших знакомых подавался на него? Наверное, завидуют вам?
— Если честно, я думала, что будут завидовать, но, по-моему, все наоборот — все рады, всем интересно послушать, как и что. У нас не очень много людей, которые пишут на Swift, и о конкурсе рассказали не только мне, нас было несколько человек. Но они даже не попытались поучаствовать.
— Вы ждете чего-то интересного от самой WWDC?
— Конечно! Я жду анонсов новых фишек от Apple. Увидеть презентации своими глазами — это, конечно, круто. Еще важен нетворкинг — я смогу пообщаться с разработчиками со всего мира, с другими студентами, которые приехали по Scholarship. Ну и со специалистами Apple — там будут лаборатории, консультации, можно будет задать вопросы, послушать, что там рассказывают, попробовать какие-нибудь бета-версии. Еще никто не пробовал, а я сижу и пробую — это же круто.
— Вы уже всерьез намерены связать с программированием свое будущее?
— Да, искусственный интеллект либо iOS. Мне нравится писать на Swift, классный язык. А если совместить, то еще лучше.
— Как много в вашем окружении девушек-программистов? Вы чувствуете особенное отношение, говорят ли вам «вау, вы программируете? круто»?
— Знаете, обычно «вау, вы программируете» я слышу от людей с другого факультета. В моем вузе это нормально. Да и в среде программистов тоже. Все нормально относятся, общаются на равных, если вы об этом.
Именно на моем отделении девушек не очень много — нас поступало человек 50, девушек было примерно 12. На прикладной математике их побольше. Но мне кажется, это совершенно неважно — девушка, не девушка, главное, чтобы нравилось, чтобы хотелось стремиться к чему-то, развиваться.