Как попасть на стажировку в «яндекс», поучаствовать в разработке «алисы» и остаться в штате
Содержание:
- Стажёр — это сразу полноценный сотрудник Яндекса, у которого при этом есть свой ментор на время обучения
- Очная стажировка аналитиком: постоянное общение с ментором и командами
- Задачи
- Совет 3: люди не кусаются, с ними можно и нужно разговаривать
- Андрей Белов, руководитель команды рекрутеров поискового портала в «Яндексе»:
- Во время стажировки
- Совет 1: у стажировки есть важные отличия от работы — их нужно учитывать
- Как проходит собеседование в компанию
- Часть 3. Второе интервью
- Про организацию стажировок
- Часть 2. Первое интервью
- Часть 1. Подача заявки и Я.Контест
Стажёр — это сразу полноценный сотрудник Яндекса, у которого при этом есть свой ментор на время обучения
В первый день, когда стажёр выходит в команду к нам в Яндекс, он становится уже сотрудником. Причём как с формальной с точки зрения — мы подписываем с ним трудовой договор, — так и с точки зрения нашей внутренней культуры. Такой сотрудник участвует во всех наших внутренних процессах как рабочих, так и развлекательных, например в корпоративных праздниках. По всем параметрам это полноценный сотрудник компании.
При этом у каждого стажёра есть непосредственный руководитель и ментор. Иногда бывает так, что это один и тот же человек, иногда это разные люди. Ментор — это тот человек, который помогает стажёру пройти весь путь стажировки и успешно её закончить.
В самом начале, когда стажёр только выходит в компанию знакомиться со своим ментором, ментор помогает ему сформулировать, что от него ждут по итогам стажировки, какими задачами глобально ему предстоит заниматься. Ментор рассказывает про то, как устроены процессы непосредственно в их команде или в службе, в отделе, или во всей компании.
Дальше всё уже зависит от человека и от команды. Когда мы все работали удалённо, в офис никто не ходил, а стажёры продолжали к нам идти, некоторым менторам было удобно с утра открыть Zoom, созвониться со стажёром и в течение всего дня у них был открыт Zoom. Они сидят, каждый по-своему работает, своими задачами занимается, а иногда перебрасываются какими-то вопросами, как будто бы за соседней партой сидят.
К ментору можно прийти с любым вопросом и получить готовое решение или совет, что делать дальше
Очная стажировка аналитиком: постоянное общение с ментором и командами
Моя первая стажировка проходила с июля по декабрь 2019 года: тогда я работал аналитиком в группе QA (обеспечения качества) и аналитики Алисы. Я подался через сайт стажировок, прошел все этапы отбора, начиная с онлайн-контеста и заканчивая собеседованием с командой. На эту позицию требовался кандидат с хорошей математической подготовкой и умением программировать на Python, а знание SQL было плюсом. На тот момент я уже закончил второй курс ФКН на «Программной инженерии», писал курсовые проекты на Python. Например, тестирующую систему по английскому языку для первокурсников факультета.
На контесте мне предстояло решить задачи по математике и по программированию, затем проходило интервью по аналитике, на котором я решал задачи по программированию, на теорию вероятности и статистику. Следующим этапом было алгоритмическое интервью, а дальше — общение с командами, на котором я и выбрал свою группу. Не могу сказать, насколько трудно было попасть на стажировку, потому что все задачи были интересными — причем они были не только из области алгоритмов или математики и часто переплетались.
Мне также нравилось, что в работе необходимо применять все то, что учил на теории вероятности, статистике и других занятиях по математическим дисциплинам. Иногда говорят, что математика никогда не пригодится в жизни, но, после стажировки аналитиком, понимаешь, что это не так. Команда встретила отлично, с самого начала дала задачи, благодаря которым я изучил инфраструктуру сервиса. Первые задания сами по себе несложные, они позволяют познакомиться с тем, что тебя окружает, и с процессами, по которым работает твоя команда. Мы ежедневно общались с моим ментором, Эдуардом Власенко.
Моей главной задачей было улучшить разметку голосовых запросов к Алисе при помощи машинного обучения. Но было и много небольших задач, будь то эксперименты или подсчет доверительных интервалов для ошибок моделей машинного обучения, которые применяются в Алисе. Помимо hard skills (программирования на Python и SQL и знания математики) на стажировке я улучшил свои soft skills, в частности, навык общения со смежными командами. Во время работы, конечно, возникали и сложные моменты, но команда активно помогала с ними. С Алисой мне работать очень нравилось, потому что это довольно наукоемкий проект, который требует работы многих людей, занимающихся машинным обучением и нетривиальными задачами в программировании. Чувствовать причастность к такому продукту очень круто, особенно, когда ты привносишь в него что-то свое.
Параллельно со стажировкой я поступил в Школу анализа данных. Это уникальное место для тех, кто хочет углубить свои знания в области машинного обучения. Там невероятно сильные преподаватели и студенты, обучаться одно удовольствие. Совмещать учебу в ШАДе и университете осуществимо, но если к этому добавляется еще и работа, то становится сложно. Мы тепло попрощались с группой, и я сфокусировался на учебе.
Задачи
На стажировке вам могут попасться самые разные задачи: от исправления багов до написания части функциональности в уже существующем проекте. Это всегда работа с реальным кодом, который пойдёт в продакшн. Уровень задач зависит от навыков стажёра: кто-то выполняет много мелких несложных задач, кто-то выполняет задачи среднего уровня. Есть категория ребят, которым мы можем доверить большую рискованную задачу, которую мы пока не успели сделать.
Задачи, которые мы предлагаем в школе, более «искусственные», не всегда взяты из реальных проектов, хотя и близки к ним. Кроме того, когда мы принимаем человека на стажировку, то мы берём его на конкретный проект. Когда вы поступаете в школу, то вы можете выбрать, каким проектом хотите заниматься, уже в процессе обучения.
Совет 3: люди не кусаются, с ними можно и нужно разговаривать
Боязнь коммуникации с людьми и низкая эффективность коммуникации — главные враги стажёров. После лени. Но, в отличие от лени, эта болезнь поддаётся системному решению — главным образом через осознание причин её происхождения.
Во-первых вы находитесь в новой для себя модели отношений. До этого вы общались с родственниками, друзьями, учителями, партнёрами. В офисе у вас есть руководители и коллеги, и общение с ними отличается от общения с другими четырьмя категориями, хотя и не является чем-то особенно сложным.
Руководитель. Помните, что этот человек стал вашим руководителем, потому что сам этого захотел и потому что вы ему понравились. Он переживает за успех вашей стажировки местами больше, чем вы сами. При этом руководитель — второй человек, от которого зависит успех стажировки. Первый, разумеется, — вы. Успешная коммуникация с руководителем строится на вполне конкретных вещах:
-
Встреча 1:1 не реже раза в неделю. Если такой встречи нет, о ней надо явно попросить. Если руководителю совсем некогда, такой встречей может быть обед. Убедитесь, что эта встреча имеет формат opt-out, а не opt-in, иначе по факту она будет проходить не чаще раза в месяц.
-
Сформулированные письменно задачи на стажировку.
-
Регулярная обратная связь от руководителя о вашей работе. Советы по улучшению проекта и личному развитию. Зачастую неопытный руководитель стесняется давать полноценную обратную связь, а стажёр не хочет её слышать из-за опасений, что она не будет положительной. Если хочется действительно вырасти за время стажировки — придётся побороть боязнь критики.
Коллеги. Как правило искренне желают вам успеха и готовы уделить время, чтобы этот успех приблизить. Смело идите к коллегам с вопросами, когда руководитель занят или отсутствует, присоединяйтесь к обсуждению по нерабочим вопросами и никогда не отказывайтесь от предложения сходить на обед.
Руководитель руководителя (aka step). Представляет особый интерес для любопытного стажёра. Скорее всего, это очень занятой человек, но, если вы попросите (например, через своего руководителя), он не откажет вам в одной–двух встречах 1:1 в течение стажировки.
Андрей Белов, руководитель команды рекрутеров поискового портала в «Яндексе»:
Многие руководители сервисов, ведущие разработчики и другие работники пришли в компанию еще в институте. У нас ценят горящие глаза, желание учиться и свежий взгляд на вещи, а опыт — дело наживное. Сейчас у «Яндекса» несколько десятков проектов для студентов, аспирантов и недавних выпускников. Я расскажу о трех ключевых: это стажировки, профильные школы и Школа анализа данных.
Стажировка подходит тем, кто хочет набраться опыта и узнать, как устроен «Яндекс» изнутри. Ее можно пройти в любое время года. У всех стажеров индивидуальные графики: одни предпочитают работать полный день, другим удобнее приезжать в офис после учебы. Стажеры работают над настоящими, «боевыми» задачами и получают за это зарплату.
Отбор проходит в три этапа. Первый — тестовое задание. Это несколько задач, которые нужно решить, уложившись в отведенное время. Содержание зависит от специальности: у бэкэндеров будут одни задачи, у разработчиков интерфейсов — другие. Если с заданием все хорошо, мы приглашаем на собеседование. Оно проходит в офисе «Яндекса» или по скайпу, если человек находится в другом городе.
Главная задача собеседования — проверить знание алгоритмов и умение программировать. Обычно стажерам предстоят две часовых беседы с экспертами из «Яндекса». Собеседующие могут попросить написать код на бумаге или на доске. Такое «программирование на листочке» — способ проверить, насколько развиты у будущего стажера навыки написания кода. Если человек делает нелепые ошибки на бумаге, он будет делать их и в жизни.
Третий и заключительный этап — встречи с командами «Яндекса», которым требуются стажеры. Члены команд знакомятся с кандидатом, рассказывают о своих проектах и о том, чем именно предстоит заниматься; иногда предлагают решить пару несложных задач. Если по итогам встреч стажера готовы взять к себе сразу несколько команд, он выбирает ту, которая понравилась больше всего.
Помимо стажировок, «Яндекс» организует профильные школы для менеджеров, фронтенд- и бэкенд-разработчиков. Обучение в школах бесплатное, но набор конкурсный: нужно выполнить тестовое задание и пройти собеседование. В школах преподают сотрудники «Яндекса». Программа состоит из двух частей: сначала лекции и практические занятия, потом — командная работа над проектом. Занятия проходят по вечерам и в выходные. Школы подходят тем, кто делает первые шаги в специальности. Так, они могут стать хорошим подспорьем перед стажировкой.
Тех, кому интересна большая наука, мы ждем в Школе анализа данных. ШАД — история не про трудоустройство, а про учёбу: здесь по современным, ежегодно обновляемым программам преподают важнейшие дисциплины компьютерных наук, от машинного обучения до анализа текстов на естественном языке. В Яндексе много выпускников ШАДа — они работают аналитиками, исследователями, системными архитекторами, разработчиками алгоритмов машинного обучения.
Во время стажировки
Дарья Штыркина, руководитель группы подбора стажёров Яндекса
Стажёр в Яндексе — полноценный сотрудник компании, он работает над реальными проектами и получает зарплату. Стажировка длится от трёх до шести месяцев, срок зависит от выбранной нагрузки — 20, 30 или 40 часов в неделю.
В первую очередь стажёр учится взаимодействовать в команде и работать с внутренними сервисами Яндекса. Он изучает документацию, осваивает профессиональные навыки и получает возможность проявить их в проекте.
На протяжении всего пути работу стажёра курирует ментор — руководитель группы или кто-то из старших коллег по команде. Он даёт своему подопечному задачи, контролирует их выполнение и помогает решать сложные кейсы. Максимум от стажировки можно получить, если полностью погрузиться в задачи, не бояться проявлять инициативу и задавать вопросы, а также учиться работать в команде.
Екатерина Стержанова, стажёр направления беспилотных технологий Яндекса с декабря по июнь 2019 года
В команде автономных автомобилей я стала стажёром-разработчиком. Занималась разными вещами: работала с перестроениями, разрабатывала часть визуализации, писала вспомогательные инструменты для разметки проездов (распределения их по определённым категориям для фильтрации и поиска). Кодила на C++ и Python.
В процессе стажировки возникают различного рода вопросы, и самый эффективный способ найти на них ответы — это уточнять у коллег
Поэтому в первую неделю важно наладить связь с командой и со всеми познакомиться. В Яндексе есть кофе-пойнты, это идеальное место для дружеских бесед
Пока знакомишься с командой, фоном нужно изучать рабочие обязанности. Первое время я постоянно читала методички для начинающих разработчиков, там были собраны основные моменты, которые нужны для начала работы. Ментор всегда давал подсказки, помогал разобраться в непонятных вещах — задавать вопросы я могла ему в любое время.
В дальнейшем раз в неделю мы проводили встречи, на которых анализировали результаты моей работы и определяли, куда мне двигаться дальше, чтобы расти в профессиональном плане. Это очень важная часть, потому что стажёры имеют тенденцию неправильно оценивать свою работу. Часто нам кажется, что мы слишком мало сделали и вообще не подходим для выбранного направления, но это не так.
Ментор предлагал задачи, которые коррелировали с тем, как я работала, но в то же время он позволял отказаться и предложить что-нибудь своё. Он давал задачку, я решала её за какой-то срок, потом он спрашивал, насколько она была для меня полезной. В итоге он предлагал мне новые и всё более подходящие задачи, исходя из полученного опыта и моих пожеланий. Это очень круто.
Если говорить про мою работу стажёра, то я чётко понимала, как от качества выполнения моих задач зависит результат. Беспилотники передвигаются по территории Яндекса, и я могла видеть результаты своих трудов на живом примере. Это очень вдохновляло развиваться дальше.
Михаил Климушкин, руководитель группы аналитики мультимедиа
У нас в отделе есть полугодовые интервалы, в рамках которых мы планируем проекты и направления развития. У каждого аналитика есть несколько проектов, которые он делает в течение нескольких месяцев. Как правило, стажёр подключается к задачам ментора и помогает ему распараллелить работу: берёт на себя кодинг, расчёты и сбор данных.
Первая неделя у нас обучающая, чтобы стажёры могли познакомиться с внутренними сервисами, со второй недели начинаются простые задачи, а потом они усложняются, по мере развития навыков стажёра. Если мы видим, что человек справляется, делает быстрее обычного, то даём ему более сложные, интересные и комплексные задачи.
Совет 1: у стажировки есть важные отличия от работы — их нужно учитывать
Если вынести за скобки вопрос компенсации, стажёр получает возможности полноценного сотрудника, не получая его обязанностей
Под обязанностями я подразумеваю висящий почти на каждом программисте груз поддержки предыдущих проектов, а также перевзвешивание приоритетов текущих задач по важности для команды и собственной карьеры
Со многими элементами рабочего взаимодействия вы столкнётесь впервые, и на основании этого опыта сформируете изначальное представление о том, как делать правильно. Если вам повезло оказаться в хорошем месте, постарайтесь усвоить как можно больше таких знаний. Вот основные (на мой взгляд) возможности в крупной IT-компании, которые думающий стажёр не должен упустить:
-
Корпоративная культура и организация процессов. Сюда входят: коммуникация руководства с сотрудниками, проведение встреч, планирование целей и постановка задач, культура обратной связи, оценка результатов работы и раздача вознаграждений, процессы продуктовой работы, ревью архитектуры сервисов, ревью кода и тому подобное.
-
Продуктовое мышление. Перенимать методы мышления других людей и смотреть, как делаются реальные продукты, которыми пользуются настоящие живые люди. Для полного погружения рекомендую придумать какую-нибудь фичу и попробовать «продать» её руководителю.
-
Технологии. Ищите и посещайте внутренние конференции, лекции приглашённых гостей, E2E семинары (технические рассказы об архитектуре сервиса) и рассказы об устройстве продуктов.
Как проходит собеседование в компанию
Собеседование состоит из нескольких этапов. После подачи резюме HR-специалисты направляют кандидатам тест в автоматизированной системе, в котором нужно решить несколько алгоритмических задач и написать заданный код.
После теста начинается серия собеседований общего плана с разными отделами «Яндекса»: резюме кандидатов рассылают по командам, которые выбирают себе понравившихся стажеров. Собеседуют стажеров опытные разработчики, которые могут справедливо и точно оценить навыки кандидата. HR-специалист в этом процессе не участвует – скорее, занимает роль посредника. Федор приезжал на собеседование в офис, а вот Олеся проходила его по Skype, так как жила в Томске:
Часть 3. Второе интервью
Через неделю мне назначили ещё одно интервью, где уже был Сергей и девушка из отдела планирования Яндекс Маркета, назовём ещё Светлана.Светлана представилась, рассказала чем занимается их отдел, как он связан с отделом аналитики, наговорила кучу умных слов (мне, как студенту 3го курса МФТИ, не вся информация была понятна и как человеку, который никогда не сталкивался с подобными вещами), от которых я остался под впечатлением. Далее, Светлана спросила, как я понял задачи, про которые мне рассказал Сергей. В целом, я рассказал очень кратко, тк получил мало информации на первом интервью. Потом, она задавала классические для интервью вопросы: «Какая у тебя суперспособность?», «Как ты определяешь приоритет задач?», «Сколько времени я смогу уделять стажировке?» спросила ещё, собираюсь ли я в магистратуру(видимо, для того, чтобы понять, может ли компания в дальнейшем на меня рассчитывать), но не идти туда я не могу, тк там военная кафедра. Спросила ещё какие языки программирования я знаю, я сказал, что Python. Меня спросили про sql, но на тот момент я его не знал (после интервью сразу пошёл осваивать, не повторяйте моих ошибок). После этого Сергей дал ещё 2 задачки на аналитику, даже скорее на продуктовую аналитику, здесь было немного тяжело, потому что продуктовой аналитики нас не учили и я отвечал исходя из логических соображений. 1ая задача:»Кто является конкурентом у Яндекс Маркета?». Я назвал только 3/4 основных пунктов — онлайн магазины(dns, ozon, wb, перекрёсток, авито и тд по списку) и офлайн магазины (любой ларёк является также конкурентом) и реклама на сайтах. До чего я не догадался, так это до социальных сетей, тк сейчас это направление растёт и там уже довольно много покупок/продаж.Вторая задача была аналогичной, только вопрос был про Яндекс.Бразуер. Дополнительным был вопрос о том, какую метрику используют в Яндекс Браузере. Я подумал, что количество кликов на рекламу, но позже сообразил (с подсказкой), что это время, проведённое пользователем в браузере.Далее, меня спросили, чем бы я хотел заниматься из возможных задач. Я сказал, что визуализацией дашбордов в Tableau, ещё задали пару простеньких вопросов на аналитику. После этого интервью закончилось и Сергей сказал, что дальнейшую информацию передаст через рекрутера.
Про организацию стажировок
Стажировки всегда проходят по одному сценарию, различаются только проекты. Перед открытием вакансии мы изучаем, что может быть интересно стажёрам. Или в какой проект мы можем их привлечь, чтобы научить и потом пригласить к себе. Я обсуждаю план стажировки со своим руководителем, затем рассказываю ребятам. Как правило, они соглашаются: у нас в отделе задачки всегда классные.
Далее мы двигаемся по этому плану, я ввожу в курс дела, чтобы стажёр познакомился с системой. Обычно бывает как: человек решал в университете абстрактные математические задачи, а на стажировке от него требуют применять знания на практике. Поэтому я рассказываю не только о внутренних сервисах и инструментах, но и о самом проекте. Если стажёр всё схватывает на лету, одной-двух вводных встреч достаточно. Если нужно рассказать ещё, даю небольшие задания — что-то улучшить или поправить. Они не связаны с основным проектом, но помогают втянуться в процесс и войти в коллектив. И дальше я записываю стажёра на встречи — ежедневные, еженедельные
Начинаем ходить вместе на обеды, это важно, так человек чувствует себя комфортнее в новой обстановке. Правда, в пандемию с совместными обедами были, конечно, сложности
Когда я вижу, что человек адаптировался, даю две-три простые задачки, которые можно сделать за пару недель, чтобы потом приступить к большому проекту. Он может длиться месяц и больше.
Часть 2. Первое интервью
Интересный момент, что получилось провести интервью только через неделю, тк то у меня не получалось, то интервьюера. Мы созвонились в зуме, он представился, сказал, что возглавляет отдел аналитики Яндекс.Маркета, начал общение сразу на «ты», позднее мне рекрутер сказал, что в Яндексе так принято. Интервьюер, назовём его Сергей, рассказал как будет устроено интервью: 10 минут я должен рассказать о себе, потом ТЗ (задача на питоне) и задачи на теорвер.Я вкратце рассказал о себе, своем проекте про алгоритмы кластеризации, которым я занимаюсь в институте. Он позадавал пару стандартных вопросов из разряда: «Почему Яндекс?», «Какие качества мне стоит развивать?», «Что было моим успехом?» .Далее была ТЗ: вывести список уникальных слов, считываемых из файла. Я код написал, в целом, ему важна была идея и знания синтаксиса. Всё подводные камни я разгадал у этой задачи, но не сразу. Вот сами камни:
-
Если файл пустой
-
Английский и русский язык (что будет?)
-
Отделение знаков препинания
-
Первые слова в предложении
Сергей сказал (в конце интервью), что я с задачей справился и что были ребята, которые не до всех пунктов могли додуматься(я был польщён). Далее были задачи по теорверу:
-
Бросаем монетку 10 раз. Какова вероятность, что выпадет 10 орлов? [(1/2)^10]
-
Бросаем монетку 10 раз. Какова вероятность, что выпадет 9 орлов? [10*(1/2)^10]
-
В ящике есть 4 вида носков. Носков бесконечно много. Сколько нужно изьятий, чтобы получить пару?
Далее, задача на математику: «У Аркадия много жён. У него есть коллекция кактусов, которые он решил раздать всем жёнам. Первой жёне отдал 1000 кактусов и 10% от остатка. Второй жене 2000 кактусов и 10% от остатка. И так далее… Каждая жена получила поровну. Сколько жён у Аркадия?Ход решения я тоже рассказал. Чтобы не ждать, пока я посчитаю, он мне сказал, сколько всего было кактусов и я дал ответ. . Последней была задачка на проверку аналитических способностей:20 детям в детском садике задали вопрос: живут ли их родители вместе? На что 2 ребёнка ответили, что не живут. На следующий день в местной газете выходит статья с заголовком: «10% семей в нашем городе в разводе». Почему данное утверждение неверно? Всего есть 6 ключевых пунктов, до 2х последних я, к сожалению, не додумался:
-
Дети могут быть из одной семьи
-
Разный возраст детей, и, соответственно, разные группы, то-то более осознанный, кто-то ещё не понимает вопроса.
-
Месторасположение садика, может выборка была только в благополучном/неблагополучном районе.
-
У ребёнка может быть один родитель или у ребёнка может быть мачеха/отчим, отсюда неверные результаты.
-
Дети врут.
-
Есть семьи, где дети не ходят в садик.
После этой задачи Сергей рассказал мне как я в целом отвечал и рассказал, чем занимается отдел аналитики.У них есть 2 типа задач:
-
Визуализация данных, представление менеджерам отчётов, в частности, работа в Tableau, то есть создание дашбордов.
-
Прогонка данных из одного сервиса в другой
Я позадавал вопросы и Сергей сказал, что назначит через рекрутера ещё одно интервью, где мне подробнее расскажут про задачи.
После интервью создалось приятное впечатление о интервьюере и о возможных задачах и в целом от общения.
Часть 1. Подача заявки и Я.Контест
После прохождения десятка курсов на степике, я понял, что хочется применить этот опыт где-то и решил подать заявку на стажировку в Яндекс на позицию стажёра по направлению «Аналитик данных». Зашёл на сайт, заполнил анкету, через час получил ссылку на тестовое задание в Яндекс Контест. Увидел, что даётся 6 часов на решение задач и принял решение выделить утро субботы на прохождение теста.
UPD: условия задач удалены по просьбе
Тест оказался не очень сложным, было 6 задач. 2 из них на математическую статистику (задачи A и B), 2 стандартные задачи на Питоне (C и D), 1 задача на базовые знание библиотеки Pandas (E) и задача на логику и аналитическое мышление.С последними двумя задачами я справился за полчаса, с первой задачей по матстату ещё минут за 10, на вторую задачу было потрачено 20 минут, и осталось целых 5 часов на 2 задачи на питоне. На каждую я потратил минут по 30, но в одной задаче не прошёл несколько тестов (скорее всего, условие мною было проинтерпретировано неверно), а в другой выдавал memory limit. В итоге, оптимизировать код и дорешать задачи до конца не вышло. Ещё раз проверил 4 прошлые задачи и отправил решения.На следующий день мне приходит письмо счастья от рекрутера о том, что со мной готовы провести техническое интервью и предложили выбрать время, также предупредили, что оно займёт около часа.