Как я провел это лето
Студенты Школы физико-математических и компьютерных наук каждое лето проходят стажировки в зарубежных и российских IT-компаниях. Мы поговорили с четверокурсниками и узнали, как попасть в Google, можно ли подзаработать на каникулах и чем ребята собираются заниматься в будущем.
Чем занимаются интерны в Google
Егор Богомолов: Летом после второго курса я ездил на стажировку в швейцарский офис Google. Работал в команде разработки приложения «Календарь» для Android. За трехмесячную стажировку я решил несколько задач, которые попали в продакшн. Вообще это очень приятно: я всегда могу открыть приложение на телефоне и показать, что именно я сделал.
Екатерина Kощенко: В прошлом году я тоже была в Цюрихе, но мы с Егором работали в разных командах. Я занималась приложением для путешествий Google Trips. Я была STEP-интерном — это специальная программа для студентов 1-2 курсов, у которых еще маловато знаний. STEP-интерны работают вдвоем, со мной в паре была еще одна девушка. Я писала весь бэкенд-код, то есть то, что не видят пользователями, а моя напарница делала фронтенд: писала интерфейсы, настраивала работу с серверами.
В этом году я тоже ездила в Google, но уже в Сан-Франциско. На этот раз я выбрала команду, которая работает не с пользователями, а с самими программистами. У Google есть платформа App Engine, она помогает оптимизировать рутинную работу с приложениями: следит за памятью, сбоями и прочими вещами, которые больше не нужно контролировать самостоятельно.
Егор Щербин: Я проходил стажировку в офисе Google в Лондоне. Я был в команде Networking & Telemetry «Поиска» для Android, мы отвечали за за всю подоплеку работы приложения с сетью. Я занимался и бэкендом, и фронтендом небольшого проекта, его тоже вывели в продакшн, это здорово. Если кратко, то если вы раньше пытались найти что-то в телефоне с выключенным интернетом, показывалась карточка, что вы находитесь оффлайн и все. После моего проекта вылезает карточка с указанием причины (условно, у вас выключен вай-фай или вы в роуминге) и предлагается решение этой проблемы.
Как попасть на стажировку
Екатерина Кощенко: Чтобы попасть в Google, нужно пройти несколько этапов отбора. Первый этап стандартный — резюме. Вместе с резюме вы заполняете большую форму, где отмечаете области, в которых что-то знаете. Когда мы подавались на стажировку на втором курсе, из всего списка мы знали только алгоритмы.
Егор Богомолов: Для Google нужна хорошая алгоритмическая база, а у нас еще на первом году обучения был курс по алгоритмам, который покрывает все, что нужно. Поэтому все наши одногруппники, которые хотели, поехали на стажировки. Кстати, полный список стажировок Google можно посмотреть здесь.
Егор Щербин: Если резюме подходит, вы попадаете на второй этап — интервью. Обычно проводят два обязательных интервью, но если на ваш счет сомневаются, могут назначить и третье. Стандартное интервью — это 40-минутная беседа по видеосвязи с сотрудниками Google. Они дают несколько задач, обычно две: простую и сложную. Простую дают для того, чтобы понять, что вы умеете писать код. Сложная задача более алгоритмическая, на ней проверяют ход ваших мыслей. Интервьюеры хотят, чтобы кандидат рассуждал вслух, когда решает. И на этом моменте, если вы волнуетесь и у вас начинаются проблемы с английским, можно сильно закопаться и все испортить. Получается, что на интервью проверяют не только ваши знания, но еще и то, сможете ли вы нормально общаться с командой и доносить свои мысли. Поэтому у Google нет формальных требований к знанию английского языка, уровень владения проверяют на собеседовании.
Екатерина Кощенко: Если интервью прошли успешно, вы попадаете на этап Host matching — подбор хоста. У сотрудников Google, которым нужен интерн, есть полный список кандидатов. Хосты смотрят, кто им подходит по способностям, назначают звонки и в формате непринужденной беседы рассказывают о своей задаче. Если после этого разговора вы друг друга заинтересовали и согласны вместе работать, вас берут в проект, и остаются только формальности. Если нет, вас возвращают в список кандидатов, и подбор продолжается. То есть если вам не подходит первый проект, или хосты решили посмотреть кого-то еще, вас не выкидывают из программы, а продолжают подбирать интересующую тему.
Егор Щербин: Подбор хоста — это довольно долгий процесс. Кто-то попадает с первого раза, а кто-то находит интересную задачу в самом конце. Я сам подобрал хоста раза с четвертого или пятого. Первый проект мне не понравился, потом я пару раз получал отказы.
Можно ли подзаработать
Егор Богомолов: В программистских компаниях все стажировки оплачиваемые. Жизнь за рубежом — в Англии, Швейцарии, США — очень дорогая, и ты просто не выживешь, если тебе не будут платить. При этом разница в зарплатах колоссальная, что между компаниями, что между разными офисами одной компании, и она не сильно привязано к стоимости жизни в городе.
Всем интернам Google, работающим в одном офисе, платят фиксированную зарплату. STEP-интерны получают меньше, но у них и задачи полегче. Можно сказать, что зарплаты в Европе в среднем в два раза ниже, чем в США. При этом работая в Лондоне, вы будете получать заметно меньше, чем в Цюрихе, хотя жизнь в Англии не сильно дешевле.
Егор Щербин: Но даже учитывая невысокие с точки зрения Google зарплаты в Лондоне и то, что почти половину денег вы отдаете за жилье, еду и прочие бытовые расходы, за лето можно заработать очень приличные для России деньги.
Кто поможет в чужой стране
Екатерина Кощенко: В разных компаниях своя политика. Facebook, например, дает выбор: либо они единоразово выплачивают подъемные с первой зарплатой, которые вы тратите на аренду жилья, либо предоставляют комнату в квартире, в которой живут другие интерны. Это называется relocation bonus. В Google выбора нет, они просто один раз дают relocation bonus. Он скорее идет даже не на жилье, а на перелет и покрытие остальных бытовых расходов. В Google есть еще такая фишка: если ты приехал совсем без денег, то можно занять некоторую сумму у компании, которую потом вычтут из первой зарплаты. То есть если у тебя совсем ничего нет в кармане — это не проблема.
Егор Богомолов: Несмотря на то, что они не предоставляют жилье, в соцсетях есть много специализированных сообществ, где можно найти объявления и соседей. Получается, что физической помощи — вот вам квартира — нет, но Google оказывает поддержку и рассказывает, где и как искать. Для отдельных городов есть мануалы «Как здесь жить»: как зарегистрироваться, купить симку, открыть банковский счет и прочие бытовые вопросы. Google — это целая экосистема. Там тысячи интернов, большое сообщество, где о вас заботятся и помогают справиться со всеми трудностями.
Об исследовательских проектах и планах на будущее
Егор Богомолов: Сейчас я занимаюсь не промышленным программированием, а более теоретическим научным исследованием. С третьего курса я работаю в JetBrains Research, где под руководством Тимофея Брыксина анализирую стиль кода программистов.
Глобальная задача такая: нужно научиться что-нибудь говорить о человеке на основании его кода, например, определять экспертизу. Хороший код, который пишут профессионалы, зачастую можно визуально отличить от плохого, который получается у начинающих программистов. Мы хотим научиться делать это автоматически и отследить процесс перехода от плохого кода к хорошему. Во-первых, это может быть полезно компаниям для анализа происходящего с их сотрудниками. Во-вторых, у многих общепризнанно полезных программистских практик важным результатом является передача знаний внутри команды. Передачу знаний сложно измерить, а значит и сравнивать эффективность инструментов для них. Мы нацелены на решение этой проблемы. Свою дипломную бакалаврскую работу я буду писать по этому исследованию. Если смотреть на проект в идеализированном виде, то им можно заниматься довольно долго.
После бакалавриата я собираюсь пойти в магистратуру на нашем факультете. Пока что не вижу смысла уезжать за рубеж, нас здесь очень хорошо учат. Потом, возможно, пойду в аспирантуру, потому что уйти в промышленное программирование с нашей базой можно всегда, а вот начать заниматься наукой может быть и поздно. В JetBrains на данный момент за исследования еще и хорошо платят, поэтому пока я свой выбор сделал.
Екатерина Кощенко: Я занимаюсь машинным обучением, суть моего диплома — работа со словами. Компьютер не воспринимает слова по буквам, а преобразует их в вектора. Есть разные способы преобразования, я работаю над одним из них. Пока это чисто теоретическая работа, но дальше я планирую прикладывать свои результаты к каким-то задачам.
Сейчас я работаю над проектом в JetBrains Research. Пока не решила, в какую магистратуру я пойду, тут в Санкт-Петербурге или где-то за границей. Но в любом случае продолжу работу в области машинного обучения.
Егор Щербин: На третьем курсе я начал заниматься биоинформатикой. В этом году мне удалось попасть на стажировку в Carnegie Mellon University к своему научному руководителю. Получается, что целый год мы с ним работали удаленно, а в продолжение проекта я поехал в США.
Я работаю над проектом «Изучение микробиома человека». Микробиом — это все бактерии и микроорганизмы, которые живут внутри нас: в кишечнике, на коже, во рту и т.д. Сейчас наш проект подходит к логическому завершению. Мы заканчиваем писать статью и собираемся отправить ее на престижную конференцию.
Планы на будущее пока неясны. После окончания бакалавриата я, возможно, сменю направление: в России биоинформатика развита не так сильно, как на западе, и перспектив пока мало. Чтобы заниматься этой областью на серьезном уровне, нужно уезжать в США. Но прожив там три месяца и поварившись в академической среде, я не уверен, что хочу переезжать насовсем. Как вариант, я могу, как и ребята, переключиться на машинное обучение и пойти в нашу магистратуру. Будет ли потом PhD? Посмотрим.