Yandex Backend Tour: по городам России в поисках backend-разработчиков
Программисты уровня middle+ не готовы тратить месяц жизни на длительные интервью. Поэтому Яндекс приглашает backend-специалистов пройти собеседование всего за неделю, без стресса и ожидания. В ходе Yandex Backend Tour с 13 по 17 ноября кандидаты смогут встретиться офлайн с разработчиками сервисов Яндекса в пяти городах России — Москве, Санкт-Петербурге, Нижнем Новгороде, Екатеринбурге, Новосибирске, а затем за неделю пройти отбор и до 26 ноября узнать результаты.
Перед тем как отправиться в тур, разработчики Яндекса рассказали Хабру о своих продуктах и о том, кого они ищут в свои команды.
«Для нас ценнее умение человека разбираться в требованиях, формулировать правильные абстракции, оперировать ими, думать об отказоустойчивости и консистентности».
Яндекс Путешествия, CTO
Яндекс Путешествия — сервис достаточно гетерогенный, потому что включает очень разные бизнес-направления: поезда, автобусы, самолёты, отели. Последнее направление для нас — одно из самых важных: сейчас на этом рынке происходит перераспределение долей после ухода зарубежных игроков. Поэтому на Yandex Backend Tour мы будем искать разработчиков в первую очередь именно в отельный стрим Яндекс Путешествий. На сегодня в нашей команде 40 backend-разработчиков, и мы хотим нанять ещё примерно столько же.
Ключевая черта нашей команды — человекоцентричность. Для нас люди важнее процессов, поэтому помимо пользователей мы всегда думаем о коллегах и их комфорте в команде. К кандидатам у нас простые и понятные требования: если ты в целом хороший разработчик и хороший человек, то этого достаточно.
Что для нас «хороший разработчик»? Baseline — технические hard skills: умение писать код и знакомство со стеком, способность придумывать и имплементировать на нём решения. Уровень выше — когда разработчик может осознать большую бизнес-область и сформулировать для неё архитектуру — построить сложный сервис. Если же он готов нести ответственность сразу за несколько сервисов, это ещё лучше.
На Yandex Backend Tour соискателям не стоит ожидать сверхсложных задач — это будет, скорее, уровень medium. Подготовиться к испытанию можно на том же LeetCode. Можно почитать, как проводится system design interview.
На собеседовании нам важнее понять, как разработчик подходит к проблеме, придумывает решение и выражает его в коде.И — ближе к финалу — узнать, какой у кандидата кругозор в IT: быть может, он знаком с базами данных или какими-то другими аспектами. Но даже это необязательные требования: в моей практике был случай, когда мы наняли backend-программиста без опыта работы с БД, веб-приложениями и API, — и человек встроился и сейчас стал одним из самых успешных наших разработчиков.
Скажу больше: когда нанимаешь backend-разработчика, не так важны язык и технологии, с которыми он работает. Мы в Яндекс Путешествиях готовы нанимать разработчиков с любого стека — для нас ценнее умение человека разбираться в требованиях, формулировать правильные абстракции, оперировать ими, думать об отказоустойчивости и консистентности.
Потому что обычно бо́льшая часть бизнес-логики находится на бэкенде. И именно backend-разработчики — те люди, которые должны проанализировать бизнес-требования, понять домен и переложить это в код. А поскольку backend хранит состояние, то разработчику нужно не только понять бизнес-логику и придумать решение, но и подумать, как не потерять и не испортить состояние.
Что касается формата Week Offer, то он очень удобен для соискателей: можно устроиться к нам всего за неделю, притом что в обычных условиях получение офера часто занимает гораздо больше времени. Поэтому мы стараемся ускорять процесс и проводить такие мероприятия. В нашей команде уже есть люди, которые пришли к нам именно через Week Offer.
На Yandex Backend Tour я еду с чувством любопытства. Я побываю в городе, где раньше никогда не был, — Нижнем Новгороде. А ещё хочу посмотреть на кандидатов, пообщаться с ними вживую и найти несколько человек к нам в команду. Буду рассказывать про Яндекс Путешествия: историю сервиса и проекты, которые мы делаем в 2023 году. И конечно, о том, кого мы ищем в команду.
«В найме backend-разработчиков самое трудное — услышать кандидата, понять, в чём он силён, провалидировать это и сопоставить с нашими ожиданиями».
Yandex Cloud, руководитель поднаправления сетевых продуктов
Одна из базовых задач Yandex Cloud — предоставление инфраструктуры для размещения сайтов, веб-приложений. Ты приходишь, заказываешь виртуалку, разворачиваешь на ней какой-то функционал — и пользуешься: не нужно делать у себя всю инфраструктуру и содержать штат админов для её обслуживания. Но, пользуясь облаком, ты, с одной стороны, ожидаешь, что виртуальные машины будут связаны между собой по сети, а с другой — что у тебя будет изоляция от остальных клиентов. Это две базовые задачи, которые мы делаем: связываем ресурсы пользователя воедино и делаем изоляцию от других пользователей. Под капотом это выливается в большое количество сервисов, которые простираются от низкоуровневой обработки трафика, где важно быстродействие и соответствие гарантиям, до высокоуровневых control-plane-сервисов, которые конфигурируют всю эту систему.
Особенность Yandex Cloud в том, что наш продукт — это инфраструктура, которую мы продаём клиенту. Поэтому мы должны строить её как отказоустойчивую, масштабируемую и понятную —, а это сложные технические задачи. Безопасность и стабильность — то, чего ожидает клиент от сети в облаке. Мы должны также давать клиенту такую инфраструктуру, которую удобно использовать и конфигурировать.
«Сеть в облаке» — звучит немножко по-админски, будто мы маршрутизаторы конфигурируем. На самом же деле это высоконагруженный и очень сложный программный продукт. И здесь можно найти для себя задачи на любой вкус.
Хочешь — есть задачи на бизнес-логику. Наскучило? Есть задачи, связанные с большим трафиком. Если и это неинтересно — вот задачи дизайна новых фич. Задачи о повышении стабильности, о мониторинге, о выкладках… А ещё можно помочь другой команде — посмотреть, что они там делают. Например, делать задачи и data plane, и control plane. Мы можем даже поручать сквозные проекты, которые затрагивают все слои: полностью их делегировать разработчику, чтобы он отвечал за большой кусок работы.
Ещё скажу, что облако не ограничено сетью, и если сеть тебе неинтересна, то вот буквально за соседним столом есть ребята, которые делают сервис виртуальных машин и решают задачи, например, распределения ресурсов по кластеру. Дальше другие ребята занимаются биллингом. А по соседству — команда виртуальных дисков, которые делают так, чтобы данные клиентов хранились надёжно и безопасно. В этом и состоит крутость работы в облаке: ты всегда сможешь найти то, что тебе понравится.
Я активно занимаюсь наймом, провожу 2–4 секции в неделю: у меня за плечами уже более 600 секций. И я вам скажу: нанимать разработчиков очень сложно, никто не умеет это делать идеально правильно. Как ни стараемся, всё равно не всегда можем адекватно проверить навыки человека. В найме backend-разработчиков самое трудное — услышать кандидата, понять, в чём он силён, провалидировать это и сопоставить с нашими ожиданиями.
Считаю, что главный навык разработчика — умение учиться. Например, я пять лет проработал разработчиком в Яндекс Браузере — десктопном продукте, но когда мне захотелось челленджа, я перешёл в Yandex Cloud. Здесь в команде есть много людей, пришедших из других областей, — кто-то был админом, кто-то писал десктопные приложения. Такое разнообразие в команде делает нас сильнее. Поэтому мы нацелены на поиск потенциально сильных людей и готовы при необходимости их дополнительно обучать.
В Яндексе наём устроен по принципу секций: через их череду мы извлекаем сигналы, знакомимся с человеком и дальше уже выносим решение. Но в сообществе разработчиков многие буквально говорят: «Я не хочу собеседоваться в компанию, где меня будут 20 собеседований мучить». Week Offer — отчасти ответ на такой запрос сообщества. И не надо бояться участвовать в нём. Это в любом случае разговор с техническими специалистами с богатым опытом, с которыми можно обсудить проблематику или узнать фидбэк. Если у вас не выйдет с первого раза, это не помешает вам попробовать ещё и получить офер в будущем. Плюс вы узнаете, что ещё стоит прокачать.
На Yandex Backend Tour я в первую очередь хочу рассказать об облаке и наших челленджах за последние годы, о технических задачах и почему они такие сложные.
А ещё этот тур для меня — возможность встретиться с разработчиками в разных городах. Мне кажется, это здорово, когда появляются такие локальные комьюнити.
«Разработчики, которые придут к нам, будут делать продукт, работающий в реальном мире».
Яндекс Маркет, руководитель службы разработки и инструментов для поставок
Мой продукт — логистическая платформа Яндекс Маркета, та её часть, которая связана с закупками, управлением поставками, тендерными процедурами. Кроме того, в моём контуре принимаются решения о том, какой ассортимент будет представлен на Яндекс Маркете.
Наш продукт делает жизнь людей проще: в Маркете можно заказать товар и получить его даже день в день. В городах-миллионниках мы стремимся к тому, чтобы 99% заказов доставлялись максимум на следующий день. А ещё покупатель может выбрать доставку по клику: в день, когда будет точно дома, нажать кнопку — и курьер приедет уже через 15 минут. Магия, — ничего подобного нет у наших конкурентов.
Как руководитель я действую в нескольких плоскостях. Первая часть моей работы — ресурсное управление. В моём непосредственном подчинении находятся несколько тимлидов, руководящих командами разработки, и я же участвую в выстраивании процессов, формировании команды. Вторая часть — архитектурное видение того, что и как мы делаем. Я смотрю, что происходит вокруг и влияет на нас, слежу, чтобы мы без противоречий встраивались в поток разработки других команд. Ещё я ежедневно взаимодействую с бизнесом и продактами: новые идеи, как правило, проходят через меня, и мы вместе с командой придумываем, как закрыть потребность бизнеса наиболее эффективным способом.
В моём отделе разработки сейчас четыре команды. Одна занимается разработкой тендеров, другая — личным кабинетом взаимодействия с нашими поставщиками. Третья разрабатывает ассортиментный комитет — систему принятия решений о закупке ассортимента. И небольшая четвёртая команда делает инструмент, позволяющий гибко управлять настройками поставок на определённые склады.
Разработчики, которые придут к нам, будут делать продукт, работающий в реальном мире. На улице мы видим пункты выдачи заказов Маркета, постаматы в супермаркетах, курьеров. На складах — тысячи квадратных метров хранения, конвейеры, роботы. Это не виртуальные продукты — всё можно пощупать. Код, который мы пишем, — осязаемый.
IT-рынок в целом и ecom-рынок в частности быстро меняется, и это касается требований к соискателям. Если раньше мы искали узконаправленного специалиста, то сейчас тренд такой, что от backend-разработчика ожидаем кроссфункциональности и умения решать проблемы в смежных областях. Например, понимания DevOps-практик, базовых навыков продакта — на уровне спецификации задач, выяснения требований у бизнес-заказчиков.
На Yandex Backend Tour я расскажу о специфике разработки для логистики на своём примере: я бо́льшую часть карьеры провёл в финтехе, но, оказавшись в логистике, осознал, насколько это сложный бизнес — как в целом, так и e-comm в частности. И понял, что здесь есть множество вещей, которыми очень интересно заниматься. Также я затрону тему cultural code в Яндексе: как мы относимся к работе, какие мы.
Я возлагаю на наш тур большие надежды: очень хочу найти к себе в команду хороших кандидатов — таких, которые будут заинтересованы в работе у нас и классно себя проявят на испытаниях.
Yandex Backend Tour: почему стоит участвовать
Обычно кандидаты встречаются с нанимающими менеджерами уже после основных секций интервью, и до этого момента соискателям сложно понять, случится ли match с командой.
В Yandex Backend Tour кандидаты смогут увидеть руководителей команд ещё до того, как начнут проходить секции. Для этого в тур с выступлениями отправятся разработчики 14 сервисов Яндекса — они и будут первыми общаться с кандидатами, говорить о технологиях и рабочих задачах.
Как всё будет проходить
Офлайн-встречи пройдут в офисах команд разработки Яндекса, — это удобный случай примерить на себя стиль рабочей жизни в Яндексе, своими глазами увидеть офисы и оценить атмосферу в них. После каждого офлайн-мероприятия участников ждут фуршет, нетворкинг и выступление айтишника в прошлом, а ныне стендап-комика, подкастера и популяризатора науки Севы Ловкачёва.
Расписание встреч
13 ноября — Москва
14 ноября — Нижний Новгород
15 ноября — Екатеринбург
16 ноября — Новосибирск
17 ноября — Санкт-Петербург
Отбор разработчиков в команды сервисов Яндекса начнётся после завершения офлайн-мероприятий.
Этапы отбора
До 19 ноября — контест: участники регистрируются и решают задачи в Яндекс.Контесте (нужно решить их на 100 баллов). Этот этап заменяет традиционную первую секцию собеседования, пройти его можно онлайн в спокойной обстановке.
20–25 ноября — две технические секции с интервьюером: нужно написать работающий код в онлайн-редакторе и ответить на вопросы.
20–25 ноября — финалы: кандидаты знакомятся с командами.
И до 26 ноября все участники смогут точно узнать, получат ли офер.
Для подготовки к секциям можно порешать задачки из Яндекс.Контеста или LeetCode (уровня medium) и почитать здесь о найме backend-разработчиков в Яндексе.
Кого ищут команды. Backend-программистов с опытом коммерческой разработки не менее трёх лет на одном из следующих языков: Python, Java, C++, С#, Go, Scala.
Зарегистрироваться на мероприятия тура, узнать о программе и деталях можно здесь. До встречи на Yandex Backend Tour!