Как и многие студенты-программисты и любители программирования, я мечтала работать в Google. После просмотра фильма "Стажёр" в 2012 году я пообещала себе, что однажды буду работать в такой среде. Поэтому осенью 2019 года, на первом курсе университета, я впервые подала заявку на Google STEP и через несколько месяцев получила отказ. Но это не стало для меня сюрпризом, так как я училась в гуманитарной школе и у меня не было большого опыта или проектов для демонстрации. Однако этот отказ не остановил меня, а лишь усилил желание получить предложение от Google. В течение следующих нескольких месяцев я укрепила свои технические навыки и создала несколько технических проектов. Так, осенью 2020 года, на втором курсе университета, моя заявка была успешной, я получила приглашение на собеседование на стажировку Google STEP, прошла интервью и получила предложение о работе!
![](https://storage.googleapis.com/borderless-so.appspot.com/posts%2Fall-about-google-step-application-and-interview-experience%2Fclb4jvuw30000uap3182g0kiq.webp)
О стажировке STEP
STEP (Student Training in Engineering Program), ранее известная как Engineering Practicum, - это 12-недельная стажировка для студентов первого и второго курсов бакалавриата, увлеченных компьютерными науками. Программа стажировки направлена на предоставление возможностей развития студентам из исторически недопредставленных групп в технологической сфере через техническое обучение и профессиональное развитие. В течение 12 недель вас распределяют в одну из продуктовых команд Google и дают проект для выполнения вместе с другим стажером.
Преимущества/ Стоимость/ Зарплата
Как иностранный студент, обучающийся в Азербайджане или где-либо еще, вы можете задаваться вопросом, как попасть в эти компании. Ответ очень прост: вы подаете заявку! Если вас выберут на стажировку, Google спонсирует вашу визу в страну, которая вас интересует. Так что не имеет значения, где вы учитесь; вы можете подать заявку на стажировку в любой офис ЕС или Великобритании, иногда даже в США, и Google спонсирует вашу визу для участия в их стажировках.
Вы можете задаться вопросом, есть ли какая-либо компенсация или сколько будет стоить участие в этой стажировке.
Вы НЕ будете платить ничего, но вам будут ПЛАТИТЬ много. Google будет выплачивать вам двухнедельную/ежемесячную зарплату в течение 12 недель. Они также предоставят вам деньги на релокацию, чтобы помочь покрыть расходы на перелет/проживание (это значительная сумма, так что вам даже не придется использовать свою зарплату для покрытия расходов на перелеты/проживание). Наконец, они спонсируют вашу визу и любые связанные с этим сборы.
Таким образом, вы не потеряете никаких денег на этой стажировке, но приобретете много опыта и денег.
Как подать заявку
Вы можете подать заявку на программу на странице карьеры Google. Чтобы повысить свои шансы быть замеченным рекрутерами, вы можете попросить нынешних сотрудников Google дать вам рекомендацию. Однако у меня не было никаких рекомендаций, и я все равно получила приглашение на собеседование. Поэтому сосредоточьтесь на создании сильного резюме, и вы сможете получить стажировку без рекомендаций.
![](https://storage.googleapis.com/borderless-so.appspot.com/posts%2Fall-about-google-step-application-and-interview-experience%2Fclb4jvwf00001uap36karge09.webp)
Процесс набора
Этап 0: Отбор резюме
Первый этап - это прохождение отбора резюме. Вам нужно иметь достойное резюме как минимум с 1-2 хорошими проектами и некоторыми техническими навыками. Лучше всего, если у вас есть опыт предыдущей стажировки как у студента 2-го курса, но для первокурсников ожидаются личные проекты. Было бы здорово, если бы вы продемонстрировали страсть к компьютерным наукам и технологиям. Вот некоторые способы сделать это:
Участие в соревнованиях по программированию, например, в Kick Start. Вам не нужно занимать первое место. Это показывает, что кодирование - это то, что вам нравится, и что вы готовы постоянно улучшать свои навыки.
Участие в хакатонах: Каждый год в Баку проводится множество хакатонов. Участвуйте в них и документируйте работу, которую вы там выполняете. Если вы победите - отлично! Если нет, у вас будет готовый проект, который можно добавить в резюме и обсудить во время собеседований.
Личные проекты: буквально с любой технологией, которая вас интересует. Создайте веб-страницу, сделайте игру, напишите веб-приложение. Что угодно, что показывает, что вы постоянно развиваете свои навыки вне учебной аудитории. Разместите их на GitHub и добавьте ссылки в свое резюме. Это может сыграть решающую роль.
Развитие сообщества: Присоединяйтесь к местным компьютерным клубам, таким как ACM, или преподавайте в своем университете/учебных центрах. Это покажет, что вы реальный человек, а не просто сидите за экраном весь день. Хобби или деятельность, не связанные с технологиями, также могут показать, как вы вносите вклад в общество как личность, что очень ценят работодатели.
Вклад в Open Source: Хотя поначалу это может показаться пугающим, вносить вклад в проекты с открытым исходным кодом очень легко благодаря таким платформам, как GitHub. Это может быть очень полезным опытом. Вы можете начать с добавления переводов в документацию. Добавьте азербайджанскую документацию к часто используемым продуктам с открытым исходным кодом, это поможет вам получить опыт работы с open source и также поможет азербайджанскому технологическому сообществу. Затем вы можете постепенно перейти к техническим улучшениям библиотек/языков, которые вы часто используете. Вы можете поискать, какие предложения выдвигаются для этих библиотек/языков, и посмотреть, сможете ли вы их реализовать. Или найдите область, которую вы хотите улучшить, и предложите свои идеи.
В моем резюме был следующий опыт:
Репетитор по программированию в моем университете
Стажер Full Stack Engineer в небольшой компании
Организатор хакатона (развитие сообщества!) для моего университета
Несколько проектов с хакатонов
Работа аналитиком данных, которую я выполняла для одного из моих профессоров
Как видите, в моем резюме не было никакого сумасшедшего опыта. Я не была участницей олимпиад по информатике и не участвовала в соревнованиях по программированию. Но я старалась получить любой технический опыт, который могла, в своем университете и найти стажировки в небольших компаниях, чтобы накопить опыт для последующего применения в крупных компаниях.
Этап 1: Два раунда алгоритмических телефонных собеседований
Если ваше резюме будет отобрано, вас пригласят на два 45-минутных технических собеседования по структурам данных и алгоритмам. Обычно вам дают 2-4 недели на подготовку и планирование собеседований. Эти собеседования проводятся в один день одно за другим.
Во время собеседований вы будете решать несколько задач, связанных с алгоритмами и структурами данных, например, как на leetcode. Не вдаваясь в подробности, поскольку нам не разрешается обсуждать конкретные задачи, которые нам дают, я скажу, что собеседование хорошо калибровано под уровень студентов после 1 или 2 лет изучения компьютерных наук в университете. Но от вас действительно зависит, сколько практики и усердия вы вложите, чтобы блестяще пройти собеседования с помощью упомянутых выше ресурсов. Для подготовки к собеседованиям я использовала следующие источники:
Прочитала книгу "Cracking the Coding Interview", чтобы понять структуру собеседований, чего ожидают крупные технологические компании в сравнении со стартапами, и темы, которые нужно охватить.
Начала с повторения основ алгоритмов и структур данных. Вы можете посмотреть курсы, такие как MIT 6.006, или видео на YouTube, например, "Data Structures Easy to Advanced Course - Full Tutorial from a Google Engineer".
Также изучите временную и пространственную сложность! На каждом собеседовании вас будут спрашивать о сложности вашего кода и о том, как вы можете потенциально его улучшить.
Прочитала статью "14 Patterns to Ace Any Coding Interview Question", чтобы узнать общие паттерны для решения алгоритмических задач.
Зашла на YouTube-канал Exponent и посмотрела несколько примеров алгоритмических собеседований!
(Платно) Один из лучших курсов, которые я использовала для подготовки, - это "Grokking the Coding Interview: Patterns for Coding Questions" на educative.io, который подробно рассматривает паттерны решения алгоритмических задач и предоставляет примеры решений распространенных проблем.
Зашла на leetcode и начала их серию подготовки "Top Interview Questions". Эти серии охватывают темы, в основном используемые на собеседованиях, и дают примеры задач для каждой темы. Постарайтесь решить 50-100 (или сколько вам нужно, пока не почувствуете себя комфортно с ними) задач средней сложности перед собеседованиями.
Как я уже говорила, помимо технической подготовки, есть несколько вещей, которые вы можете сделать до и во время собеседования, чтобы увеличить свои шансы.
Практикуйтесь в решении задач вслух: Важно не только решить задачу, но и объяснить, как вы ее решили. Может быть трудно думать и говорить на английском языке, решая эти задачи, поэтому практикуйте свой процесс мышления как можно больше. Вы можете использовать такие сайты, как Pram, или попросить друга попрактиковаться вместе. Выпускники вашего университета также могут очень помочь в этом, особенно если они прошли через собеседования и имеют опыт в этом процессе.
Общайтесь с вашим интервьюером: Вы можете идеально решить задачу. Но если вы не можете наладить контакт с интервьюером и объяснить ему свой ход мыслей, вы все равно провалите собеседование. Интервьюер проверяет вас не только на способность решить случайную задачу за 45 минут. Поэтому постройте диалог с интервьюером, чтобы в случае, если вы пойдете по неверному пути, они могли помочь вам вернуться к правильному решению. Это не одностороннее интервью, вы общаетесь вместе!
Этап 2: Подбор команды/хоста!
Если вы дошли до этого этапа, у вас уже есть предложение! Последний шаг - это назначение в команду хоста и на проект. Вы делаете это, проходя небольшие нетехнические собеседования с разными командами в соответствии с вашими предпочтениями. Хотя технически все еще возможно не быть подобранным в команду, это редкость и во многом зависит от вас и того, насколько вы открыты для работы в командах, о которых вы, возможно, не слышали или изначально не интересовались.
Меня подобрали на первом же собеседовании в команду Google Ads, так как мой предыдущий проект и технический стек стажировки хорошо соответствовали стеку команды. Я советую быть открытым для любой команды и не ограничивать свой выбор и шансы.
![](https://storage.googleapis.com/borderless-so.appspot.com/posts%2Fall-about-google-step-application-and-interview-experience%2Fclb4jvy0v0002uap32r5tau1f.webp)
Заключительные слова
В целом, это длительный процесс подготовки и собеседований, но он того стоит! Я советую каждому студенту первого и второго курса подавать заявку на стажировку STEP, так как это откроет гораздо больше возможностей для будущих стажировок и трудоустройства. Если вы хорошо проявите себя во время стажировки, вы получите предложение вернуться на стажировку в качестве инженера-программиста, а после этой стажировки вы можете получить предложение о постоянной работе в Google. Так что не стесняйтесь подавать заявку на стажировку, пока она открыта, ведь подача заявки занимает всего несколько минут для отправки вашего резюме :)