• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Нетипичный программист: как посмотреть мир, разрабатывая мобильные приложения


Вадим Дробинин, выпускник бакалаврской программы «Программная инженерия»/ Фото из личного архива Вадима Дробинина

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

О профессии разработчика и плюсах небольших компаний

Когда после выпуска я выбирал работу, успешно прошел интервью в Uber в Амстердаме, но потом отмел это предложение. Uber — это огромная и не очень поворотливая машина. Работать в таком коллективе тяжелее, чем в маленькой компании. В Uber я не могу прийти к гендиректору и сказать ему: «Слушай, это ерунда какая-то. Давай не будем так делать». Сейчас я работаю в небольшом британском стартапе. Мы хотим переосмыслить поиск в сети с учетом того, что все больше и больше людей пользуются голосом. Пока у нас все хорошо, много известных крупных инвесторов — люди, которые вкладывались в Google и Airbnb, когда те еще были маленькими компаниями в гаражах. В нашей небольшой компании я могу влиять на решения, которые принимает руководитель. Это бесценное ощущение, которое я не хочу терять.

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

О том, чему научила Вышка, и что нужно делать студентам, чтобы преуспеть

Курс Михаила Ульянова по ресурсно-эффективным комбинированным алгоритмам содержит необходимый базовый подход, я пользуюсь им ежедневно. Еще нам на отличном уровне дали английский язык. Сейчас я говорю на нем даже больше, чем пишу код. Пригодились все курсы, связанные с работой в коллективе: курс психологии, управления проектами по Scrum. У нас был потрясающий факультатив от Павла Манахова и Сергея Пронина по проектированию мобильных интерфейсов. Он состоял из двух частей: концепции пользовательских интерфейсов и разработки на языке Swift. Павел Манахов показал, как даже разработчик, который не работает с интерфейсом, а просто программирует то, что ему дали дизайнеры, может в процессе проектировать интерфейс. Это очень важно. В моей компании я не только занимаюсь программированием, но и «склеиваю» по частям разработку продукта, разработку сервера и дизайн. Благодаря полученным знаниям я могу свободно общаться с дизайнерами на их языке.

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

Одно из главных преимуществ Вышки в том, что она никогда не мешает дополнительному развитию. Все наши проекты и инициативы, начиная с хакатонов и заканчивая поездкой на конференцию в Калифорнию за три дня до начала экзаменов, всегда поддерживали. Поэтому я бы пожелал всем студентам не бояться общаться с руководством и развиваться не только в рамках семинаров и лекций, но и вне вуза. Когда выпускается сто человек, которые получали одни и те же знания, среди них будут выделяться те, кто добрал еще что-то вне университета. Это очень важно даже с учетом того, что Вышка — лучший вуз России в плане software engineering.

О том, как расширить потребительскую аудиторию, и свободе работать где угодно

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

Еще один плюс — все более доступно. В нашем коллективе есть люди, которые родились в Германии, учились в Америке, а сейчас работают в Англии. У них знакомые и там, и там, и там. Это позволяет очень быстро находить контакты. Часто шутят, что IT bubble — среда людей, связанных с миром информационных технологий — не имеет границ. Интервью на позиции мобильных разработчиков почти одинаковые, рабочий язык в основном английский. Собрал чемоданы — и ты уже работаешь на новом месте в другой стране. Мне очень повезло: благодаря хакатонам я много путешествую. Работая удаленно с иностранными компаниями, я перенял культуру, подход к программированию и общению в коллективе и не чувствую большой разницы между менталитетами. Как программист я не привязан ни к стране, ни к языку программирования. Даже если завтра мир захватят роботы, и им вдруг понадобится совершенно новый язык программирования и зачем-то люди, чтобы писать этот код, я с этим справлюсь.

О том, какой опыт можно получить на зарубежном проекте, и как туда попасть

Самый первый крупный зарубежный проект я нашел на сайте Upwork. Это платформа, где люди, которым нужны разработчики, оставляют свои заказы. Потом заказчики сами начали мне писать и спрашивать, могу ли я сделать для них приложение. В 2015 году мы с моим однокурсником и очень хорошим другом Александром Зиминым победили в конкурсе приложений WWDC Scholarship и получили билеты в Калифорнию на крупнейшую конференцию для мобильных разработчиков Apple Worldwide Developers Conference и поехали. Третий источник моих проектов — конференции, на которых я активно выступал и которые я иногда проводил с 2015 года: CocoaHeads Russia, Mobius в Петербурге, AppsConf в Сколково.

Мой первый крупный хакатон — HackTrain в 2015 году в Лондоне. Участников посадили в три поезда, и мы три дня ездили по всей Англии и писали код. Из этого опыта родился проект WaveRoll, который мы потом с друзьями развивали еще два с половиной года. Прочувствовав проблемы железнодорожной индустрии, мы создали систему B2B, встраиваемую в мобильное приложение. С его помощью компания собирает данные об использовании трафика в каждом из поездов, которые ездят по всей стране.

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

В Великобритании до последнего времени не было централизованной системы отслеживания поездов. Если поезд застревал или задерживался, машинисту приходилось звонить во все регионы, куда он собирался ехать. При этом железные дороги — самый популярный вид транспорта в Англии, было очень тяжело и сложно масштабировать. Для автоматизации масштабирования была придумана система Darwin. На ее основе мы построили собственную программу, которая работала для увеличения комфорта пользователей. Например, показывала, в какой вагон сесть, чтобы в нем точно было свободное место. А компания в свою очередь получала подробную аналитику и статистику опаздывающих поездов, карту перебоев с интернетом и мобильной связью и анализ трафика каждого вагона. Для этого мы использовали iBeacon’ы и данные с ТВ-тюнеров, чтобы составить heat map — карту данных по каждому из вагонов. Проект получил поддержку британского министерства транспорта, которое было заинтересовано в появлении такой системы. Чтобы развиваться дальше, мы зарегистрировали компанию в Эстонии и получили электронное эстонское гражданство. Оно не дает никаких бонусов для получения визы, но позволяет в несколько кликов зарегистрировать банковский аккаунт в стране или открыть там офис.

О том, с чего все начиналось

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

Я начинал программировать с разработки сайтов еще в старших классах. То были темные времена PHP и платформ типа WordPress. Потом был Python, сейчас я разрабатываю на Swift. Если человек знает один-два языка программирования, третий можно выучить легко и очень быстро. Для меня Swift очень похож на Python в плане синтаксиса. Это не громоздкие конструкции из Java или нечитаемые структуры из С++. Это элегантность в коде. Учился я в основном по онлайн-курсам. Лучшим из них был курс Пола Хегарти из Стэнфордского университета. Курс каждый год обновляется, и я до сих пор пересматриваю новые версии.

В конце первого модуля я еще узнавал, как перевестись на лингвистику, но когда выяснилось, что для этого нужно сдать древнегреческий, решил, что оно того не стоит

Начиная с восьмого класса, я ездил в Летнюю компьютерную школу под Костромой. Там дети на три недели погружаются в разработку проектов или в олимпиадное программирование. После одиннадцатого класса я поехал туда уже в качестве преподавателя и ездил четыре года подряд, совмещая подготовку программы с учебой. Я преподавал в параллели промышленного программирования, где рассказывали о стандартах качества, которые применяются не к олимпиадным заданиям, а в индустрии.

О хобби и планах на будущее

В девятом классе я осознал, что однажды мне придется съехать от родителей в общежитие и готовить себе самому. Тогда для меня это казалось кошмаром. Максимум я мог пожарить себе яичницу, если сильно повезет — нарезать фруктовый салат и не порезаться. Поэтому я решил, что каждую неделю буду готовить по два блюда, снимать весь процесс и выкладывать в блог, чтобы себя замотивировать и получать фидбек. К выпуску из школы в блоге было уже около ста пятидесяти рецептов. Я понял, что мне достаточно интересно писать про еду и фотографировать, экспериментировать с рецептами. Одновременно с этим я путешествовал по Европе, останавливался у людей на каучсерфинге, немножко автостопил и записывал в блог свои впечатления. В какой-то момент это все переехало на домен foodncities.com и превратилось в более осмысленные заметки о путешествиях. Они были изданы в сборнике эссе «Блог без имени и адреса», который можно купить в России.

Я люблю серфинг, но в Лондоне тяжело серфить, поэтому остается только писать мобильные приложения для души или путешествовать. Когда человек растет как профессионал, то, что раньше у него занимало восемь часов, будет занимать три, а оставшиеся пять можно потратить на что-то более интересное. В последнее время я занимаюсь настройкой автоматизированного тестирования приложений, которые готовятся к выпуску в App Store. Человек ничего не делает, система ботов имитирует нажатие кнопки в разных приложениях, которые взаимодействуют между собой, и проверяют корректное отображение. Полноценное end-to-end тестирование — это безумно интересная тема. Один из следующих проектов в рамках этой компании — нетривиальные случаи взаимодействия с Siri, которые не разбираются в учебниках по программированию. Пока что задач много, и я надеюсь, что у меня дальше будет возможность выбирать себе проекты из смежных областей и развиваться вширь, а не вглубь.

Если вас заинтересовала программа «Программная инженерия», то на ней еще остались свободные платные места. Подать документы на платное место можно до 10 августа, заключение договоров идет до 20 августа (включительно).

Вам также может быть интересно:

Бакалаврская программа «Программная инженерия» получила престижную международную аккредитацию

Высокое качество подготовки студентов этой программы подтвердили эксперты Совета по аккредитации программ в области техники и технологий со штаб-квартирой в США. ABET более 85 лет занимается аккредитацией образовательных программ в области информатики, прикладных наук, техники и технологий. На сегодняшний день «Программная инженерия» — единственная в России программа, имеющая эту аккредитацию.

На факультете компьютерных наук открывается базовая кафедра ИСП РАН

22 сентября состоится презентация новой кафедры, созданной в составе Департамента программной инженерии факультета компьютерных наук на базе Института системного программирования РАН (ИСП РАН). Кафедра будет дополнять научную и педагогическую деятельность факультета основополагающей для программирования областью исследований — системным программированием.

Студенческая команда ВШЭ вышла в финал чемпионата мира по программированию

Команда по спортивному программированию «Viral Team» в составе студентов отделения прикладной математики и информатики ВШЭ Вячеслава Алипова, Михаила Колупаева и Александра Куприна вышла в финал соревнований NEERC чемпионата мира по программированию ACM ICPC.

Студенты ВШЭ стали победителями всемирного хакатона PayPal

17 ноября команда российских программистов с участием двух представителей ВШЭ, студентов Сергея Пронина и Александра Балабана, выиграла международный конкурс PayPal Battle Hack, проходивший в американском Сан-Хосе. Победители получили чек на 100 тысяч долларов.

«Это потрясающе, когда студенты ставят тебя в тупик»

В 2012 году Михаил Ульянов, профессор кафедры управления разработкой программного обеспечения, во второй раз стал одним из лучших лекторов Высшей школы экономики, по мнению студентов отделения программной инженерии ВШЭ.

Подбельский В.В., Фомин С.С. Курс программирования на языке Си. М.: ДМК Пресс, 2012

Учебник предназначен для изучения программирования на стандартном языке Си. Ориентация сделана как на изложение синтаксиса и семантики конструкций языка, так и на их практическое использование при решении типовых задач программирования.

Зимняя школа по программной инженерии

В начале февраля прошла Зимняя школа по программной инженерии для абитуриентов магистратуры ВШЭ.

«Каждый год приносит новые идеи»

Римма Ахметсафина, заместитель заведующего отделением программной инженерии ВШЭ — один из лучших преподавателей, читавших лекции и проводивших семинарские занятия в 2011 году, по мнению студентов.

«Студенты высоко оценили мою работу — значит, для меня установлена новая планка»

Студенты отделения программной инженерии факультета бизнес-информатики ВШЭ считают Константина Дегтярева, доцента кафедры управления разработкой программного обеспечения, одним из лучших преподавателей Высшей школы экономики.

Летняя школа Microsoft и ВШЭ

18 июля открылась Летняя школа программной инженерии и верификации, организованная Microsoft Research совместно с Высшей школой экономики.