Еще один способ получать знания за границей — это устроиться на стажировку в профильную компанию. Чем занимаются такие интерны: приносят кофе или получают реальный практический опыт работы? Любят ли за границей российских стажеров и сильно ли мешает языковой барьер? Платят ли за это деньги и есть ли смысл тратить свое время? На эти и другие вопросы «Теории и практики» будут отвечать в новой рубрике каждую неделю. Иван Комаров принимал участие в программе Google Summer of Code, но возможность работать в Силиконовой долине для себя не рассматривал и остался работать в России и улучшать качество поиска в «Яндексе».

Иван Комаров, 22 года


Род занятий: программирование, сотрудник екатеринбургского отделения компании «Яндекс».

Место стажировки: компания Google.

Город: Москва.

Срок стажировки: три месяца.

Обязанности: работа над конкретными задачами — разработка одного из модулей поисковой системы, улучшение поддержки протокола в ICQ.

Место


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

Во-первых, я проходил летнюю стажировку в московском офисе «Гугла» на должности с громким названием Software Engineering Intern. За три месяца нужно было успеть сделать реальную задачу в реальном проекте компании под чутким руководством одного из инженеров — примерно по такой схеме стажировки сейчас проходят везде: от российских госучреждений до калифорнийских стартапов.

Во-вторых, я участвовал в Google Summer of Code (GSoC). Здесь нужно писать код не для «Гугла», а для одного из open-source проектов, участвующих в программе. Браузеры, ядра операционных систем, компиляторы — каждый сможет найти себе занятие по душе. «Гугл» здесь участвует только как организатор и промежуточное звено между студентом и конкретным проектом. В остальном все очень похоже на обычную стажировку, с тем лишь исключением, что студент сидит дома, работа происходит полностью удаленно и все общение с руководителем происходит через интернет.

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

Программировать я начал еще в старших классах школы. Окончив школу, устроился на лето на свою первую оплачиваемую работу (американская контора, разрабатывавшая веб-приложения), после чего понял, что мне эта профессия интересна и я хочу работать программистом и дальше. Образование — незаконченный матмех УрГУ, который ныне УрФУ (отчислился на старших курсах). Я этим, конечно, недоволен, сейчас пытаюсь все же доучиться и получить диплом параллельно с работой.

Обязанности


На стажировке я разрабатывал один из модулей проекта «Поиск по объявлениям» — ныне, увы, закрытого. В рамках летней школы улучшал поддержку протокола ICQ в программе обмена мгновенным сообщениями Pidgin.

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

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

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

На стажировке больше всего запомнилась, безусловно, поездка в Швейцарию, куда в середине лета съехались стажеры со всей Европы, чтобы перезнакомиться и похвастаться друг перед другом своими достижениями. Я скептически отношусь к подобным развлечениям (мне они напоминают что-то среднее между пионерлагерем и съездом партии «Единая Россия»), но Цюрих — совершенно замечательный город, красивый и спокойный, на него было любопытно посмотреть. Плюс был шанс потренировать свой устный английский в разговорах с коллегами из других офисов и на презентации постеров с отчетами о проделанной работе.

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

Как попасть


Путь совершенно стандартный и для всех одинаковый. Чтобы попасть на стажировку, нужно послать резюме в «Гугл», пройти телефонное собеседование (которое предназачено для того, чтобы отсеять идиотов), после чего лично приехать в офис компании, где вас ждет череда непростых собеседований с разными инженерами в количестве от трех до пяти.

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

Впрочем, в обоих случаях есть возможность срезать углы. На стажировке можно избежать разговора по телефону и перейти напрямую к очным собеседованиям, если у вас есть знакомый инженер, который поручится за то, что вы не идиот (мой случай). Шансы на успех заявки в GSoC повышаются, если вы уже что-то разрабатывали для вашего проекта. Это не про меня, в код Pidgin я до GSoC практически не смотрел.

Бонусы


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

Многие студенты через какое-то время после стажировки приходят в «Гугл» работать полноценными инженерами. Но лично мне по ряду причин работать в московском офисе не хочется. Мне кажется, что они не очень много внимания уделяют московскому офису, вследствие чего зачастую москвичам достаются второстепенные, скучные задачи по остаточному принципу. Но, может быть, мне так кажется.

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

Планы


Стажировка помогла мне понять, что вопреки распространенному мнению, программирование — это не обязательно скучная рутина или «рисование формочек», как некоторые любят выражаться. Если есть желание, всегда можно найти работу, которая будет и интересной, и высокооплачиваемой. На данный момент у меня такая работа есть, и я ей полностью доволен — работаю в «Яндексе» в отделе разработки качества поиска.