Репутація українського ІТ. Пройти опитування Асоціації IT Ukraine
×Закрыть

Как попасть на стажировку в Google, Microsoft и SAP. Поиски, условия и подготовка

Привет! Меня зовут Елена, и я хочу поделиться своим опытом прохождения стажировок в крупных компаниях. Надеюсь, материал будет интересен тем, кто ищет первую работу в ІТ-сфере или же еще учится в университете.

На территории главного офиса Google в Mountain View, CA, USA

В 2014 году я поступила на специальность «Филология» (перевод) в Сумской государственный университет (СумГУ). В 16–17 лет сложно понять, чего хочешь, и я решила выбрать то, что у меня лучше всего получалось — английский язык. К сожалению, ожидания от учебы не совпали с реальностью. Перевода как такового у нас было мало, и часто пятерка по предмету зависела от количества зазубренных текстов. Через год я поняла, что нужно искать что-то другое. Обратила внимание на специальность «Информатика», так как мне всегда нравились новые технологии и там учились друзья.

Чтобы не принимать резких решений, я нашла небольшой курс по основам веб-дизайна, который вел студент в нашем университете. Приходить можно было всем желающим и с любым уровнем. Хоть мы и создавали простые странички, но курс выполнил главное — заинтересовал меня. Фронтенд-разработчицей я не стала, но это дало понимание, что с логикой у меня все в порядке. Приговор — «гуманитарий», данный друзьями с IT-специальностей, я с себя сняла :)

Дальше были простейшие задачи на С++. Мне нравился процесс, я понимала, что сфера ІТ быстро развивается, и решила перейти на «Информатику». Мне удалось попасть сразу на свой второй курс с условием сдачи академразницы в десяток незнакомых мне предметов. Казалось, что между мной и одногруппниками пропасть по уровню знаний. Так и было, но только по дисциплинам, связанным с математикой, которые я упустила на первом курсе. Из-за отсутствия базы они давались мне тяжело.

Предметы по типу программирования, баз данных, сетей были вполне постижимы. Мне повезло с преподавателем по программированию, который знает и любит свое дело. Вдобавок к этому я занималась по курсу от «Яндекса» «Введение в программирование на С++» на Stepik.org. Не все было сразу легко и понятно — какие-то темы проходила по нескольку раз и смотрела объяснения на YouTube.

На третьем курсе одногруппники начали устраиваться на работу. У меня еще не было достаточно навыков, и я пробовала пару офлайн-курсов по QA и Java от сумских ІТ-компаний, с которыми сотрудничал факультет. Про стажировки в FAANG я немного слышала от друга из КНУ им. Т. Шевченко. Он с 8-го класса занимался олимпиадным программированием и после третьего курса ездил на стажировку в Microsoft. У нас в СумГУ мало кто про такое знал. Я, конечно, считала, что мне нужно несколько лет подготовки, но идея работы в Microsoft вскружила голову.

Amazon, с которым не сложилось, и первая стажировка в SAP

Формат технических собеседований в крупных компаниях обычно выглядит так: короткий разговор с инженером о ваших навыках, решение 1–2 алгоритмических задач и вопросы о компании в конце. В среднем от 3 до 5 интервью длительностью от 45 минут до часа. Часто первое собеседование — это разговор с рекрутером о вашем опыте и предпочтении в технологиях.

От друга я узнала основные сайты для решения задач и начала дальнейшее изучение темы. В целом, от первой мысли о стажировке до первого офера прошло около 10 месяцев, учитывая, что поначалу я занималась нерегулярно и в основном изучала процесс. Позже решала задачки практически каждый день. Эта цифра будет разной для каждого, в зависимости от знаний алгоритмов и английского. Кому-то понадобится два года, а кому-то пару месяцев.

Когда чувствовала себя подготовленной, начала рассылать резюме во все компании, которые были на слуху и у которых были открытые позиции Software Engineer Intern. Искала их во вкладке Jobs в LinkedIn, выбрав Experience level — Internship. Это была весна, а набор на самые массовые — летние стажировки — закрылся еще осенью прошлого года. На стажировки на все остальные сезоны попасть сложнее, потому что компании не выделяют много мест и часто берут местных студентов.

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

От кандидата не ожидают ответа на любой вопрос, единственного правильного решения нет. Важно показать, что умеете думать, учитывать corner-cases, оптимизировать, и предлагать разные пути. Задача абстрагирована и не подразумевает использования специальных технологий. Можно писать на любом из популярных языков программирования, который вы согласуете с интервьюером.

Второе собеседование было успешным, и мне прислали офер. К сожалению, позже выяснилось, что они напутали и эта позиция не подразумевала спонсирования визы от компании. Взять могли только студента из ЕС. Примерно в это же время мне ответили из SAP — крупной компании с главным офисом в Германии.

У них было похожее собеседование, но с тем отличием, что мне задали пару вопросов о Java и ее устройстве внутри. Меня взяли на четыре месяца стажировки. В итоге я писала на Python, с которым раньше не работала. Это обычная практика, когда человека берут на позицию Software Engineer и в процессе он разбирается в новом языке или технологии.

SAP — не самая известная компания, о которой пишут истории успеха на DOU, в отличие от FAANG. Это связано с тем, что их продукты нацелены на enterprise. На деле же, в SAP работает около 100 тысяч человек и маленькой ее точно не назовешь.

Одно из зданий штаб-квартиры SAP в Walldorf, Германия

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

Стажер делает часть большой системы и в своем темпе разбирается, как она устроена. Также, в отличие от других крупных компаний, использующих много проприетарных инструментов, здесь есть возможность поработать с Docker, Kubernetes, AWS, GCP, Git и так далее.

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

Поэтому, если сравнивать все мои стажировки, SAP — это такой себе переходной этап, когда ты уже в серьезной компании, работаешь с популярными технологиями, но при этом взаимодействуешь с такими же студентами. Опыт мне понравился: это была первая настоящая работа, я узнала много нового и могла применить знания на практике.

Microsoft и Google

Итак, вернемся назад, к осени перед стажировкой в SAP. Ранее подаваться во все места сразу я не стала, ведь набор идет на осень/зиму и туда сложно попасть из-за маленького количества мест. Отказ может прийти еще до собеседований, а после него нужно ждать 6-12 месяцев до следующей попытки.

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

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

Эмоции от «Congratulations on your offer», конечно, сложно передать. Помню, представляла такой имейл раз 15, и тут он, настоящий, пришёл :) Предложение было на три месяца в основной офис Microsoft в Редмонде (штат Вашингтон, США).

Главное место для фоточек на территории офиса Microsoft в Redmond, WA, USA

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

  • интерны — (почти) полноценные члены команды, участвуют в стендапах и встречах. У фултаймеров встреч раза в четыре больше;
  • проект для стажировки — одна-две больших задачи из общего бэклога;
  • ощущаются масштабы компании: огромное количество внутренних инструментов, налаженный CI/CD, своя инфраструктура и очень много имейлов;
  • есть целые команды, задача которых — устраивать мероприятия для интернов, знакомить друг с другом и развлекать в нерабочее и рабочее время. На них не всегда получалось ходить, особенно поначалу, когда пытаешься понять, что вообще происходит в проекте;
  • переезд (временный): компания покрывает перелет туда-обратно, жилье и большую часть аренды машины на время стажировки. Чувствуется, что она делает все, чтобы обеспечить тебе максимально комфортные условия. Чаще всего на интерна за период стажировки уходит больше средств, чем на полноценного сотрудника того же уровня;
  • скидки на технику, музеи, транспорт, магазины.

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

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

К завершению стажировки дела шли уже лучше, и удовлетворение от сделанных заданий таки пришло.

Еще мне очень понравился Сиэтл — ближайший крупный город. Наряду с Нью-Йорком и Кремниевой долиной, в этой местности есть много офисов ІТ-компаний, в том числе главный офис Amazon.




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

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

Перед началом работы в Google в Америке интерны и фултайм-сотрудники (вне зависимости от будущего офиса) проводят неделю в Маунтин-Вью или Нью-Йорке. Это небольшой boot camp и знакомство с «внутренностями». Мой офис был ближе к Калифорнии, поэтому ознакомительная неделя прошла в главном кампусе. Атмосфера действительно похожа на фильм «The internship»: все прогуливаются, общаются и делают что-то крутое. Конечно, все занимаются разными задачами и не каждый разрабатывает новую поисковую систему, но первое впечатление от офиса именно такое.

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

Музей (или кладбище) всех предыдущих версий Android в Mountain View

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

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

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

Когда все в Америке закрылось, было заметно, что в компании прилагают много усилий, чтобы человек не чувствовал себя изолированным от общества. Появились онлайн-тренировки, встречи на отвлеченные от работы темы, рассылались материалы о ментальном здоровье.

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

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

Одно из горных озер в 50 минутах от Сиэтла. Кроме парков в районе города, есть много мест, куда можно поехать на выходных на хайкинг

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

Зачем ехать на стажировку

Итак, понятно, что стажировка в Google/Facebook/Amazon/Microsoft — это класс. Но, кроме красивой строчки в резюме, есть следующее:

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

На кого ориентированы стажировки. На Software Engineer Intern могут подаваться студенты бакалавриата, магистратуры, учащиеся на компьютерных науках, информатике и смежных специальностях. В некоторых командах есть позиции для студентов-аспирантов (PhD), но их количество гораздо меньше и интернатура подразумевает в основном research.

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

Количество раундов на интернатуру везде разное, но примерный сценарий выглядит так:

  • Подача резюме.
  • Одно собеседование с рекрутером об опыте и предпочтениях.
  • В случае успешного предыдущего шага: 2–4 технических собеседования с инженерами.
  • Если все получилось, радостный звонок или письмо от рекрутера.

Формат технического собеседования:

  • 5–7 минут на разговор с инженером про его работу и ваш опыт.
  • 30–35 минут на решение одной или двух задач.
  • Оставшееся время выделяют на вопросы о работе в компании.

Как вести себя при решении задачи:

  • Услышав условия, нужно удостовериться, что задача понятна. Попросить привести пример входных и выходных данных или предложить самому.
  • Уточнить формат данных, согласовать, что делаем с невалидными значениями, учесть возможные corner cases: null, 0, отрицательные числа, пустые строки, overflow численных значений, длинные и короткие массивы и многое другое — в зависимости от типа данных и языка программирования.
  • Предложить brute force решение, оценить его сложность (О(n^2), О(n^n), О(n!) сюда подходят). Объяснить, почему это плохо.
  • Постараться прийти к более оптимальному решению. Если не получается, интервьюер даст подсказки. Они могут быть не очевидны, поэтому важно их вовремя поймать. Если не выходит совсем никак — не паниковать, стараться разобрать задачу и написать хотя бы какое-то решение, пусть даже некрасивое.
  • Обсудить решение с вашим интервьюером и начинать писать код. В процессе желательно комментировать вслух.
  • Финальный этап — вручную тестировать на примерах.

Резюме. Обычно у студентов еще нет работы, поэтому многие задумываются о том, что же туда записать. Еще в университете можно накопить небольшой «опыт»: участвовать в олимпиадах, онлайн-соревнованиях, делать pet-проекты, менторить первокурсников. Все, что кажется вам релевантным достижением, можно и нужно писать в резюме. Работали с новым для себя языком программирования или написали интересную программу для бакалаврской? Фиксируем это.

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

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

Как готовиться

Знание английского языка. Это половина успеха в подготовке. Проходить собеседование и позже работать с командой вы будете на английском. Необязательно идеально знать грамматику, главное — разговорный язык, умение объяснить свою точку зрения и понять, о чем говорит другой человек.

Задачи. Длительность подготовки зависит от текущих знаний. Как я уже писала выше, для меня процесс длился чуть меньше года. Хорошая практика здесь — регулярные занятия. Такую стратегию я определила для себя:

  • выделять несколько часов каждый день на задачи;
  • проходить темы в порядке возрастания сложности;
  • стараться подумать над решением задачи, которая не получается, хотя бы день, прежде чем смотреть решение;
  • решать задачу, а не запоминать решения.

Behavioral questions. Во время одного из собеседований вам могут задать вопросы для оценки soft skills. Обычно это что-то вроде: «Расскажите о ситуации, в которой вы были не согласны с тиммейтом» или «...сделали ошибку и исправляли ее», «...имели конфликт с менеджером». Кто-то заметит, что менеджер, тиммейт — слишком «взрослые» понятия для студента. Это так, но их можно спокойно проецировать на опыт в университете, вспомнить такие же ситуации, где тиммейт — одногруппник, менеджер — преподаватель.

Материалы для подготовки

Учитывая то, что поначалу у меня были только поверхностные знания алгоритмов и структур данных, я решила начать с задач по самым базовым темам: массивам, строкам, деревьям, сортировкам и так далее. Из занятий по программированию я уже все это знала, но пробелы все равно оставались. Для этого идеально подошел сайт interviewbit.com. Там есть и теория, и практика. Также советую главную книгу по подготовке к собеседованиям всех времен — Cracking the coding interview от автора Gayle Laakmann McDowell. После этого можно продолжать тренироваться на leetcode.com, выбирая случайные задачи с помощью кнопки Pick one. Если удобно воспринимать информацию визуально, гляньте разбор известных задач на YouTube.

Когда чувствуете себя более-менее готовым, тренируйтесь проходить собеседования на pramp.com. На нем вы заполняете анкету, чтобы определить уровень знаний, выбираете окно, и сервис ищет кандидата с похожими параметрами. На самом звонке вы поочередно собеседуетесь и собеседуете. Задачу для собеседования другого человека присылают заранее, чтобы было достаточно времени в ней разобраться.

Компании, которые стоит рассматривать

Моя стратегия — сайты careers всех больших компаний. Их список можно легко нагуглить. Также какое-то время я мониторила раздел Jobs в LinkedIn. По своему опыту и опыту моих друзей скажу, что есть смысл подаваться только на летние стажировки. Набор на них проходит в основном с июля по октябрь. В другое время года шанс тоже есть, но меньший.

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

В телеграмм-группе @sns_internships можно найти много информации от тех, кто уже ездил на стажировки, или тех, кто только готовится. Кроме того, найти реферала.

Итог

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


Чтобы не пропустить новые статьи Елены Донцовой — подпишитесь на нее в телеграм-боте Ленты DOU.

LinkedIn

Похожие статьи

22 комментария

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Щира, доброзичлива розповідь про свій досвід, дякую!

Очень интересно было прочесть, спасибо! Стиль изложения тоже оч приятный)

Спасибо за статью

А есть ли удалённые стажировки или это всё только в офисах?

Сейчас все подобные стажировки проходят удалённо.

Так і не зрозумів, чим все завершилось, ви простажирувались до кінця липня 2020 і повернулись в Україну?

так, тривалість стажування була 6 місяців

І чим зараз займаєтесь, працюєте на місцевій конторі?

Питання про інше насправді.
Будучи в штатах спочатку 4 місяці, потім 6 місяців і повернутися, чому? Не змогли/не схотіли лишатись там? Невже після гуглового стажування було важко знайти роботу на H1B/L1 там? На грінку подавалася?

Стажування у штатах відрізняється від стажування в Україні. Віза J-1, яку спонсорує компанія, не дозволяє одразу залишитися працювати фулл-тайм. Вона, в основному, для студентів, і її умова — поверення додому після завершення програми. Перераховані вами візи та грінка не отримуються просто так. На H1B 1 раз на рік проводиться лотерея з вірогідністю виграшу ~30%. Віза L1 — перехід усередині компанії, для тих, хто працює в іноземному (для США) офісі компанії більше року. Після стажування, маючи гарний перформанс, отримати фулл-тайм офер не важко, але, переїзд у штати потребує часу навіть для роботи в FAANG.

Я так понимаю, что стажировка — это без оплаты?

Стажировки в таких компаниях, как правило, оплачиваемые и довольно неплохо. Приблизительный порядок цифр можно посмотреть например здесь www.levels.fyi/...​/?track=Software Engineer

Ну там не написано, что это для стажёров.

Это вкладка interships. Сверху на сайте в шапке указано.

Еще обнаружилось, что теперь нужно самой покупать печенье и сушеные фрукты. С этим, к сожалению, никак не помогли.

изверги

Благодарю за статью и за ссылки!

Скіьки задач автор вирішила на leetcode? яка складність задач була?

На leetcode приблизно 150: 50% medium, 30/20% easy/hard. Але спочатку був interviewbit, там 50+. Загалом, задач знала більше, оскільки дивилася розбір деяких складних на leetcode у вкладці Discuss.

Спасибо за статью.
Но интересно, почему такая разница в подходах у нас и в штатах.
«150+ запитань з .NET для Junior, Middle та Senior 48» для примера.

Алгоритми і дизайн теж не так легко вивчити.

Алгоритмы и дизайн сложнее

Потому, что у нас аусорсинг-ориентированное IT. Компании легче иметь узскоспециализированных специалистов и формировать из них команды по требованию заказчика. В США часто люди работают над разными задачами — они хуже, чем наши узкоспециализованные специалисты, но лучше как специалисты широкого профиля. И там и там я встречал как талантливых, так и плохих...

Подписаться на комментарии