Путь стажера: Google

[Путь стажера — новая ежемесячная рубрика, в которой начинающие IT-специалисты делятся своим опытом стажировок как в иностранных, так и в украинских компаниях. Если вы хотите рассказать свою историю, пишите на  Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра. ]

Привет! Меня зовут Максим Манжос, мне 21, я живу в Киеве. Хочу поделиться с сообществом своими впечатлениями и опытом стажировки в таком IT-гиганте, как Google, где я проходил стажировку этим летом.

В офисе в Сан-Франциско, в отражении — Залив.

В июне 2016 я закончил КНЭУ по специальности Экономическая кибернетика. Стоит начать с того, что в начале учёбы я ничем не выделялся — играл себе сутками в доту. И всё изменилось, когда у меня появилась девушка (теперь уже жена), которая и перевернула мою жизнь, за что ей большое спасибо.

Опыт работы за четыре года учёбы у меня скопился самый разнообразный. На первом курсе я пытался сделать свой сервер для Lineage 2. Потом был стартап, для которого создал сайт и Android-приложение. Так как опыта в программировании у меня почти не было, на всё потратил 4 месяца. Затем я понял, что денег на самом проекте заработать не смогу. И мы с другом закупили футболок и решили их продавать. Сначала я сделал сайт, потом лендинг, запустил тизерную рекламу, но что-то продажи не шли. Однако, как оказалось, все было не зря, и волей случая один знакомый порекомендовал меня человеку, которому понравился мой лендинг, и он захотел похожий для своего проекта. Так начался мой путь фрилансера и появились первые заработанные кровные. Затем были ещё сайты, а потом по знакомствам я вышел на один Android-проект, с которым пробыл вместе почти 2 года. К началу третьего курса у меня уже был стабильный заработок благодаря всего двум заказчикам: по сайтам и приложению.

Со временем я понял, что нужно рассматривать перспективы для роста. Делать свои проекты? Шанс успеха маловат, потому что уже пять моих бизнесов провалились. Фрилансить по-крупному? Нужно искать заказы и людей, с чем у меня были проблемы. Искать работу у нас? Почти бессмысленно, т. к. я зарабатывал примерно как рядовой Junior, работая чуть ли не в 2-3 раза меньше.

И в один прекрасный день один из моих преподавателей сообщил, что студенты его друга-профессора вернулись со стажировки в Facebook (США) и будут рассказывать о своем опыте. Наверное, в этот момент всё и было решено. Я думал, что таким крупным компаниям нет дела до студентов из Украины. Но, как выяснилось позже, шанс есть почти у всех, пусть и крошечный.

Подготовка

Стажёры рассказали о своем опыте в апреле 2015 года, тогда же они сказали, что получили офферы, и как только они заканчивают университет, то сразу улетают работать в Штаты/Великобританию. Я знал, что подача заявок на летнюю стажировку будет только в сентябре 2015 года, но я не мог использовать всё время на подготовку, потому что я уже жил вместе со своей будущей женой, и у меня были обязательства. То есть мне пришлось сначала отложить денег, прежде чем бросаться в подготовку к собеседованиям на стажировку. А они на 99% отличаются от того, что мне приходилось делать в повседневной жизни — поэтому я знал, что мне придется оставить работу и посвятить себя подготовке. Этим я занялся только в августе 2015 года.

За всё лето было 4-5 тёплых дней в СФ, это один из них на океане.

Лето подходило к концу, за 2 дня я подал заявки на стажировку в 20 с лишним компаний (Google, Apple, Facebook, Microsoft, Amazon, LinkedIn, Twitch, Intel...) и продолжал готовиться в надежде, что мне всё-таки дадут шанс хотя бы попробовать себя проявить. Но никто не откликался.

В целом по индустрии процесс отбора на стажировку почти одинаков. Кстати, чтобы иметь все вакансии под рукой, советую пользоваться поиском в LinkedIn. Там очень много фильтров и можно выбирать города и тип «стажировка».

Как правило, HR пишет, чего ждать на собеседованиях, но в общих чертах специфика интервью состоит в том, что на них спрашивают базовые концепты Computer Science и предлагают решить несколько задачек. Например, level-order traversal of a binary tree или implement a hash table. Имея экономический бэкграунд, я был обескуражен такими вопросами и понял, насколько же длинный путь мне предстоит.

Не уверен, стоит ли говорить, что всё проходит на английском. Но также могу обрадовать, что грамматику никто не проверяет, лишь бы кандидат ясно объяснял свои мысли и чёрное называл чёрным. She do, it is work fast — подойдет, всем всё равно. Также стоит быть готовым к тому, что интервьюер может быть с диким индийским акцентом, и переспрашивать надо будет по 5 раз. Во избежания этого советую посмотреть видео на ютубе с индийским/китайским английским.

Стажёры из Facebook для подготовки посоветовали сайт leetcode.com и книгу Cracking the Coding Interview, которая уже стала стандартом в этой отрасли. Если вы можете решить любую задачу из этих источников, шансы пройти интервью очень высоки.

Где-то на 20-й по сложности задаче на leetcode.com (из почти 300) я наткнулся на ссылку на блог, в котором описывался алгоритм для решения этой задачи. А в конце автор писал: «Если тебе была интересна эта статья, то ты нам подходишь. Напиши мне на *@google.com и я тебя порекомендую в компанию». Я написал. Через три дня со мной связалась рекрутер с вопросом о том, когда назначить интервью. Это было начало сентября. И я выбрал дату, которая даст мне возможность по максимуму подготовиться — 22 октября, дальше уже нельзя было откладывать.

Два месяца мне было очень не сладко, я занимался по 6 дней в неделю, часов по 10 в день. Иногда это были продуктивные часы, иногда не очень. Мне нравится изучать алгоритмы, и это облегчало задачу в разы, но всё равно я испытывал дикое давление. Я где-то читал, что шансы попасть в Google равны 0.2%. Конкретно по стажировке видел слух про три миллиона заявок на около три тысячи стажёров, так что 0.1%. Судя по опыту знакомых, если дело дошло до интервью, то шансы чуть ли не 50/50. Но все эти цифры подтвердить нечем, статистики официальной нет.

И ещё надо добавить: я понимал, что уровень моей подготовки — ужас. Если меня не возьмут, то я просто потерял 2 месяца заработка, т.к. полученные знания не слишком применимы в моей сфере. В результате жил в режиме: 3 дня радости учёбы и познания нового, а 3 дня хочется плакать, потому что стресс зашкаливал.

Мои ожидания от стажировки были непомерными. Я понимал, что иду all-in. Но если выгорит, то эта строчка в резюме открывает для меня перспективы зарубежного трудоустройства. Важно отметить, что эта возможность есть у опытных программистов, обладающих каким-то ценным опытом, но у меня чего-то сверхъестественного за плечами не имелось, и я понимал, что стажировка для меня — это билет в мир, как минимум корпоративный. Возьму смелость дать очень важный совет, без поддержки на этом пути может быть сложно, так что лучше бы обзавестись друзьями/любимым человеком, заодно и проверите, как далеко они готовы пойти.

Отбор

В офисе в Маунтин-Вью, где тысячи туристов фотографируются с этим динозавром.
Процесс отбора на стажировку в Google весьма прост: заявка на сайте/LinkedIn, где нужно приложить резюме и чуть-чуть деталей о предыдущем опыте работе, по желанию cover letter, далее следуют два технических интервью по телефону по 45 минут с рядовыми программистами, иногда Senior’ами, 0-10 интервью с хостами, виза и перелёт. На всё с момента подачи заявки до первого рабочего дня у меня ушло 9 месяцев. Дело в том, что заявки на лето закрываются в декабре, а подавать можно с сентября. Сначала рекрутерам надо отсеять десятки тысяч заявок, потом провести тех. интервью, потом с хостами, затем проверка бэкграунда, оффер, после чего компания помогает с визой — все это и выливаются в такие сроки.


Детальнее остановлюсь на специфике 0-10 интервью с хостами. Хост — это человек, который будет сопровождать стажёра в процессе работы, по сути, менеджер для одного конкретного человека. Хостом может стать любой программист/менеджер в офисах, которые принимают стажёров. После прохождения технических интервью кандидат попадает в определённого рода лимб. Теперь его резюме могут видеть эти самые хосты. И тут всё очень непонятно. К офферу переходят только, если кандидат и хост одобрили друг друга. Может быть такое, что на резюме вообще никто не откликнется. Может быть такое, что кандидат сам отвергает всех хостов. На моё резюме сначала откликнулся парень из команды Chrome, но я ему не очень понравился, и он мне отказал. Затем я общался с хостом из команды Play Store, в который я и попал.

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

Критерии отбора на технических интервью:

  • Умение решать задачи из курса Computer Science. Например, реализуйте очередь, используя 2 стека. Но правильно решенная задача ещё ничего не гарантирует. Важно показать интервьюеру свой мыслительный процесс. Поэтому телефонные интервью проходят с использованием Google Docs / collabedit, где интервьюер видит код, который пишет кандидат, решая задачу. Написание чистого кода без ошибок и с правильным синтаксисом — это пункт 1.1. Эти пункты проверяют ум и сообразительность кандидата, что является несомненным приоритетом.
  • Быть Googley. То есть проявлять воспитанность и уважение к собеседнику, преследовать «правильные» идеалы, которые позволят хорошо вписаться в корпоративную культуру. Во время стажировки я прошёл где-то 5 разных курсов о том, что можно делать и говорить, а что нельзя, иначе просто засудят. Сюда входят гендерные, религиозные, расовые и прочие предрассудки.
  • Опыт и общие знания по программированию. Некоторые интервьюеры могут задавать вопросы по сетям, операционным системам, ОО принципам, многопоточности. Но эти вопросы можно просто зазубрить.
  • Время. Вас сравнивают с другими кандидатами. То есть, если кандидат Х решил все задачи за 5 минут, а вы за 10, то предпочтение отдадут ему. Часто бывало такое, что я решал все задачи, и отвечал на все вопросы из пункта № 3, но мне в итоге всё равно отказывали. И вероятно потому, что был кто-то еще умнее и быстрее меня. Тем не менее это всё ещё не гонка, и важно дать себе передохнуть, протестировать код на всякие каверзные случаи и убедиться, что в нём нет багов.

Также по желанию хост тоже может провести свою проверку и устроить тех. интервью, но оно будет очень лайтовым.

Виза, перелет и расходы

Стажировка длится от 12 до 14 недель. Я выбрал вариант подольше, т.к. знал, что выпущусь, и делать мне будет нечего. Вылетел я 15 июня, а прилетел 6 октября, в свободное время удалось побывать в Лос-Анджелесе и Нью-Йорке. А вообще была мечта проехать на машине по всей стране, но это оказалось слишком дорого. Виза J1 даёт право находиться 30 дней и 30 дней после стажировки, так что времени на путешествия хватит.

Dolores Park в СФ. Там как в американских фильмах: пьют пиво, играют в мяч и фрисби, а ещё за углом местные ребята предлагают траву, но при этом все ведут себя очень прилично и крепкими напитками не запивают.

Компания выдаёт приличную сумму на relocation, в моём случае её хватило на то, чтобы покрыть страховку (~$2000 на двоих), билеты ($1100 туда-назад на человека), визовый сбор в посольство (по $160), и на жильё порядочно осталось. С недавних пор компания больше не предоставляет что-то типа общежития, и каждый сам ищет, где ему жить.

Процесс получения визы был очень изнурительным. Пришлось тщательно подготовить пакет документов, оплатить сбор, назначить дату. В моём случае было чуть больше сложностей из-за того, что для жены была пара нюансов в оформлении. А ещё в посольстве за один час до меня моему сводному брату, который собирался к родственникам на лето, поставили отказ. Но во время разговора с консулом после вопросов об учёбе, магистратуре и жизни в браке стоило только показать, какая компания меня спонсирует и сколько они собираются платить, как все вопросы сразу закончились. Так что тут можно нервничать чуть меньше, чем когда подаёшься на туристическую визу.

Офис компании находится в Калифорнии. Из Киева я так и не смог снять жильё ни в Сан-Франциско, ни в Маунтин-Вью. Проблема в том, что фирмы сдают квартиры только от 6 месяцев, некоторые от года. Но в Киеве про craigslist мне никто не рассказал, а на Airbnb я ничего интересного не нашёл. В итоге мы сняли мотель на одну ночь в городе рядом с СФ, а дальше надеялись на помощь нашего друга, который там жил и вроде был готов нас приютить на какое-то время.

Дорога заняла около 20 часов: 3 часа первый перелёт + 2 часа пересадка + 11 часов второй перелёт + в аэропорт и из него. Мы летели вместе с солнцем, а потому по часам прошло-то всего около двух часов с момента вылета.. Тут проявилась вся боль поездки. В итоге в три часа дня мы заснули и проснулись в семь утра с новыми силами. Наш друг дал подтверждение, что ему удалось снять квартиру, и мы в этот же день к нему заехали. Спали неделю на ковре, а потом вдвоём на полуторном матрасе.

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

К сожалению, я не могу назвать точную зарплату, но даже стажёров в Долине не обделили, и мы могли позволить себе жить супер комфортно, не сильно задумываясь о покупке одежды или еды. Хотя в тот момент мы понимали, что после этой вспышки на ждёт сильный финансовый спад по возвращению, и мы старались экономить на очень многих вещах. Для сравнения, комфортный обед в кафе в СФ стоит по $20 на человека, в Киеве же на эти деньги можно, наверное, неделю питаться дома.

Инфраструктура вокруг офиса — огромная. Каждое утро в штаб-квартиру съезжаются сотни автобусов со всей Долины, в одном из которых был и я. После приезда большинство людей идут на завтрак в одно из 40 кафе, потому что Гуглу нужно прокормить десятки тысяч сотрудников на каждый приём пищи. Игровая комната с автоматами, скалолазание, пианино, место для сна, волейбол, спортзал, теннис, футбол, кросс-фит и, наверное, сотни других вещей, о которых я забыл. Там есть практически всё. Но, стоит заметить, что в других офисах компании большинство из перечисленного отсутствует, потому что они находятся в городах, в отличии от несколько деревенского главного офиса.

Так что помимо работы всегда есть чем заняться, было бы желание.

Рабочий день

Мне понравилось, что за мной никто не следил. Я мог за день провести на рабочем месте меньше часа, и всем будет абсолютно всё равно. Лишь бы моя работа была сделана в срок. Бывало, что когда мне совсем грустно, я просто садился на диван и играл в какие-то игры на телефоне, потом что-то читал на ноуте и уходил домой. Работал я с 8:30 до 15:50 — в это время приезжал и уезжал мой автобус (я выбирал самые ранние). Тут главное спросить у своего менеджера, что он от вас хочет. Я слышал про одного парня, который работал с 9 до 21, и своих сотрудников он не отпускал раньше. А добавить в мой график обед, походы на микро-кухню и прочие развлечения, то работал я не так и много. У меня не было каких-то конкретных обязанностей, но я постоянно общался с менеджером, и он корректировал планы на каждый день. Задания у меня были абсолютно разные, но мне это было по душе, и мы обсуждали это ещё во время хост-интервью. Так что если кого-то смущает работа над клиентом в паре с бэк-эндом, то лучше бы это выяснять сразу.

Android 7.0 Nougat. Я как раз приехал в офис, когда с него стягивали накидку, чтобы устроить сюрприз. Но я не смог отличить его от Marshmallow и только потом понял, что произошло.

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

Очень трудно судить о коллективе, потому что я вёл свой одиночный проект и у меня был классный менеджер, других людей мне не удалось узнать по-настоящему. Хотя все они кажутся несомненно умными, пусть и со своими особенностями. Например, один парень приходил в офис в пижаме. Кстати, про дресс-код. Один раз я увидел людей в костюмах и дико испугался. Я сразу подумал, что это какие-то консультанты, которые потом всех уволят. Я так и не узнал, кто они, может быть, какие-то ребята на экскурсии, которых там тысячи каждый день. Но это было разительным контрастом, после привычного кэжуала.

Окончание стажировки

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

Компания может предложить попытаться получить фул-тайм оффер студентам последних курсов или же повторную стажировку студентам помладше. Так как во время стажировки я официально закончил бакалавриат, а на магистратуру решил не идти, то мне назначили 2 интервью, а другие 3 засчитывались на основе отзыва от менеджера о моей работе. Увы, этот раунд я не смог пройти. Потом мне назначили еще раунд из двух интервью, которые я проходил где-то через месяц уже из Киева. И снова у меня возникли проблемы, так что оффер я не получил. Существенная проблема всего процесса, что обратная связь, которую кандидаты получают после интервью, звучит вроде так: «Improve your algorithmic skills». И это дико раздражает, потому что непонятна относительная позиция. Мне не хватило 1% по времени? Или же кто-то был в два раза быстрее меня? Но, видимо, этот ответ знают только опытные интервьюеры и HR.

Мост в Оклэнд. Несмотря на весь прогресс СФ, Оклэнд больше похож на промышленный придаток — контейнеры, краны, корабли.

Поиск новых предложений не занял много времени. Я разослал резюме на два десятка позиций и совсем недавно проходил интервью еще с двумя гигантами на фул-тайм позицию в Лондоне. Так что Google в резюме очень помогает в этой сфере.

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

Набор на лето 2018 начнётся в августе 2017, но по своему опыту скажу, что лучше начинать готовиться заранее, особенно, если у вас слабый английский.

Напоследок я бы хотел поделиться ресурсами, которые мне помогли в подготовке. На них можно найти сотни деталей о процессе и повторить мой опыт:

Похожие статьи:
У свіжому випуску новинного дайджесту DOU News говоримо про те, як російські хакери зламали «Дію», сайт КМДА, про протидію «маски-шоу»,...
Speaker — Nikolay Pavlov, Founder at Biomech Topic — ‘Human Motion Recognition with R’ 2,5 — hours workshop about Human Motion Recognition with R just before the Christmas. Workshop includes introduction to basics procedures...
Всім привіт! Сьогодні у дайджесті поговоримо про вимоги до техрайтерів та про метрики нашої роботи. Всі, хто до сьогодні не був...
Представляем новую статью из цикла «Карьера в IT». Она посвящена должности DevOps engineer — такие специалисты работают на стыке...
52-річний Валентин Мельник — заслужений учитель України, викладає інформатику. Коли у 2012 році він вирішив переїхати...
Яндекс.Метрика