История разработчика Яндекс.Такси: из итальянской академии Apple в российский IT-гигант
История разработчика Яндекс.Такси: из итальянской академии Apple в российский IT-гигант

История разработчика Яндекс.Такси: из итальянской академии Apple в российский IT-гигант

27 февраля, 20207 минут на чтение
Подписывайтесь на [Код // Дурова] в Telegram[Код // Дурова] в Telegram

Меня зовут Илья. Полтора года назад я поступил в академию Apple в Неаполе. Я писал о своём опыте учёбы большую статью на Т—Ж (в том числе с финансовыми деталями). Но с того момента, как я вернулся в Россию, прошло уже достаточно много времени, и я хочу рассказать, что получилось.

via Илья Вирник, ВКонтакте
via Илья Вирник, ВКонтакте

Если вы уже читали мою статью на Т—Ж, то первые две части этой статьи можно пропустить. Если нет, то в целом о поступлении и обучении можно почитать далее, а детальный опыт описан в том материале.

Поступление

Академия Apple в Италии — одна из образовательных инициатив компании Apple, созданная в партнёрстве с неаполитанским университетом Università degli Studi di Napoli Federico II.

Корпуса академии Apple в Неаполе
Корпуса академии Apple в Неаполе

Цель академии — познакомить студентов с iOS-разработкой, дизайном мобильных приложений, работой в команде и другими сферами, относящимися к созданию iOS-приложений.

Иметь техническое образование или опыт программирования для поступления необязательно. Академия платит стипендию — 7200 евро за год.

Для того, чтобы поступить в академию, нужно сдать очный экзамен в одном из городов: Мюнхене, Неаполе, Париже или Лондоне. Экзамену предшествует подготовка — академия присылает материалы для неё на специальном портале, которые, по моему опыту, полностью соответствуют вопросам в экзаменационной части.

Внутренний двор академии и соседний корпус
Внутренний двор академии и соседний корпус

Подготовка состоит из пяти частей: логика, основы программирования, основы Swift, дизайн и финальный тест. Все материалы были в форме статей, видео и коротких тестов. Результаты никак не оцениваются — всё на совести абитуриента.

По результатам экзамена отбираются 500 лучших абитуриентов, и с каждым проводится скайп-собеседование на достаточно отвлечённые темы — менторам академии важно узнать мотивацию потенциального студента, его ожидания и цели. И, конечно, уровень английского языка — он должен позволять свободно разговаривать на бытовые темы.

В конечном счёте остаются 372 абитуриента, которые набрали наибольший суммарный балл за экзамен и интервью. Есть смысл постараться оказаться выше в списке — если попасть в первые 5%, то стипендия будет выплачиваться несколько раз в течение года, иначе — одним платежом после окончания обучения.

Учёба в академии

Детали учебного процесса, к сожалению, защищены NDA — соглашением о неразглашении. По этой причине я опишу его в общих чертах, не вдаваясь в детали.

Программа основана на методике обучения, разработанной в Apple, которая называется Challenge-based learning. Суть заключается в «обучении через испытания» — никто не рассказывает, как решить задачу или с какой стороны за неё взяться. В лучшем случае студент получает материалы или поверхностные знания о том, что может пригодиться в решении задачи. Всё остальное остаётся на его усмотрение, и способы решения приходится изобретать самому.

Аудитория в академии
Аудитория в академии

Вся работа с непосредственно челленджами происходит в командах из 4-6 человек. Челленджем может быть задача создать приложение, решающее какую-то проблему: вы должны придумать саму идею, функциональность, дизайн приложения и, в конце концов, написать его код. На этом всё не заканчивается — в академии ещё заставляют учиться презентовать своё решение, поэтому развивать софт-скиллы и умение не сбегать со сцены в середине выступления тоже придётся.

Разнообразие задач в ходе работы над проектами заставляло изучать много новых тем и даже областей, которые до этого проходили мимо. Какие-то оказывались неинтересными, а какие-то, напротив, захватывали и давали возможность на практике получить ценные знания и опыт.

Аудитория в академии
Аудитория в академии

Несмотря на достаточно большие задачи и небольшие сроки на их выполнение, затраченное время никак не контролируется, а обязательные часы присутствия в академии ограничиваются четырьмя часами в день. Свободное от учёбы время можно проводить как угодно. Я предпочитал удалённо работать, заниматься самообучением, развивать навыки программирования.

Самообучения, как вы уже могли понять, много. Поэтому самодисциплина, мотивация, стремление учиться и понимание, чего вы хотите добиться после окончания академии, чрезвычайно важны. Год, проведённый в академии, в значительной степени стал для меня годом некоего самоопределения и понимания, чего я хочу от будущего. И к июню я понял, что по ряду причин хочу вернуться в Россию и устроиться разработчиком в крупную компанию.

Трудоустройство после учёбы

Академия не предоставляет прямой возможности устроиться в Apple, а также не имеет программ по какому-либо упрощённому трудоустройству в Италии. Однако в конце года проводится ивент, направленный на помощь выпускникам найти работу, — некая ярмарка вакансий. На 2 дня пространство академии заполняется стендами компаний, которые ищут ИТ-специалистов. Для студентов это шанс познакомиться, показать свои проекты и в ускоренном режиме пройти первичные скрининги. Большинство компаний — итальянские, но были и из других стран.

via Илья Вирник, ВКонтакте
via Илья Вирник, ВКонтакте

Поскольку к концу года я окончательно убедился, что хочу вернуться в Россию, то начал поиск за несколько месяцев до возвращения. HH и LinkedIn на некоторое время превратились в одни из самых часто посещаемых мной сайтов. За всё время я прошел около 20 собеседований в разные компании. Какие-то не понравились мне, иным не подошёл я.

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

via Илья Вирник, ВКонтакте
via Илья Вирник, ВКонтакте

Ещё за пару месяцев до окончания академии мне написал HR из Яндекса в LinkedIn. Я прошёл с ним технический скрининг, который состоял из примерно получаса базовых технических вопросов по платформе iOS и структурам данных. Например, порядок наследования распространённых классов библиотеки UIKit, методы лейаута UIView, типы коллекций и отличия между ними. Всего было около 10-15 вопросов, которые охватывали в основном известные библиотеки Cocoa, основные структуры данных и алгоритмы. Это был самый первый этап интервью.

За ним последовали более подробные технические секции про платформу iOS с алгоритмическими задачами и беседы на тему общих интересов, мотивации, опыта и отношения к различным технологиям. Собеседования оказались достаточно растянутыми во времени, что позволило в параллели общаться с рекрутментом других компаний и проходить интервью у них, а в конце сравнить полученные офферы. Здесь мне хочется посоветовать не стесняться подробнее спрашивать «эйчаров» об условиях.

via Илья Вирник, ВКонтакте
via Илья Вирник, ВКонтакте

В конечном счёте я получил оффер Яндекс.Такси и окончательно сделал свой выбор — меня сильно привлекла система оценки работы, роста, наличие опциона и понятное премирование за результаты.

Основной урок, который из всего этого удалось вынести, достаточно банален: нужно пробовать, не бояться того, что что-то не получится, и пробовать ещё и ещё. Может быть пять неудачных попыток, но шестая увенчается успехом.

Яндекс.Такси

В Яндекс.Такси входит несколько бизнесов – непосредственно Такси, Uber, Еда, Шеф, Лавка и даже беспилотные автомобили.

Офис Яндекс.Такси. Фото: The Village
Офис Яндекс.Такси. Фото: The Village

В сервисе заказа такси, куда я вышел на работу в прошлом году, два основных мобильных приложения: клиентское, через которое пользователи могут заказывать такси, грузоперевозку или еду, а также водительское — «Таксометр». С помощью последнего водители принимают заказы, управляют тарифами, следят за заработком и делают многое другое. Фактически, это приложение-комбайн — большой и единственный, помимо автомобиля, рабочий инструмент водителя.

Когда я пришёл, «Таксометр» существовал только в версии для Android. Целью нашей команды было сделать iOS-версию приложения.

Офис Яндекс.Такси. Фото: The Village
Офис Яндекс.Такси. Фото: The Village

Интересным оказалось то, что новый проект решено было делать кроссплатформенным, то есть с возможностью запускать один и тот же код и на целевой для нас iOS, и на Android. Это стало пробой технологии и экспериментом для компании. Для меня, как для нативного iOS-разработчика, привыкшего иметь дело со Swift, это было одновременно и слегка пугающе, и очень интересно.

Попытав удачу с React Native и разочаровавшись в нём, выбор пал на Flutter — довольно молодой мультиплатформенный фреймворк, за короткое время собравший вокруг себя немаленькое сообщество и обещающий стать серьёзной альтернативой нативной разработке.

Таким образом, работа принесла в жизнь ещё один челлендж — освоить новую технологию, перестроиться из одного сорта мобильного разработчика в другой и надеяться, что всё будет гладко. Спойлер: всё прошло гладко. Я вместе с командой в восторге от Flutter’а — разработка с ним идёт до сих пор очень быстро и успешно. Сейчас новый «Таксометр» догоняет Android-собрата по функциональности, успешно работая при этом и на iOS, и на Android.

Мы делаем ставку на новую технологию и уверены, что кроссплатформенная разработка с Flutter’ом имеет большое будущее. Доклад на конференции про то, что и как мы делали, можно посмотреть по ссылке. Там подробности о выборе технологии и что из этого вышло. А если вы активно интересуетесь Flutter’ом или даже что-то уже на нём пишете, то вам может быть интересно послушать выпуск подкаста со мной и моим тимлидом. Или попробовать устроиться к нам на работу.

Заключение

Подводя итог, могу сказать, что академия того стоила. Это возможность провести год за границей бесплатно или с минимальными затрами (за счёт стипендии), набраться новых скиллов и познакомиться с интересными людьми. Если у вас есть мотивация учиться, делать что-то интересное и работать в крутой компании, то академия может послужить одним из этапов на пути к осуществлению этого плана.

Учитесь программированию, если ещё не начали. Это очень интересно, полезно и вполне подлежит освоению даже самостоятельно. Если есть какие-то вопросы, то с удовольствием отвечу на них в Telegram — @virnik.

27 февраля, 2020
Подписывайтесь на [Код // Дурова] в Telegram[Код // Дурова] в Telegram

Сейчас читают

Блоги компаний