Yandex Backend Tour: по городам России в поисках backend-разработчиков

Программисты уровня middle+ не готовы тратить месяц жизни на длительные интервью. Поэтому Яндекс приглашает backend-специалистов пройти собеседование всего за неделю, без стресса и ожидания. В ходе Yandex Backend Tour с 13 по 17 ноября кандидаты смогут встретиться офлайн с разработчиками сервисов Яндекса в пяти городах России — Москве, Санкт-Петербурге, Нижнем Новгороде, Екатеринбурге, Новосибирске, а затем за неделю пройти отбор и до 26 ноября узнать результаты.

Перед тем как отправиться в тур, разработчики Яндекса рассказали Хабру о своих продуктах и о том, кого они ищут в свои команды.

«Для нас ценнее умение человека разбираться в требованиях, формулировать правильные абстракции, оперировать ими, думать об отказоустойчивости и консистентности».

c3a70ac2b45a0d86c2db86d61227b387.pngЛев Орехов

Яндекс Путешествия, CTO

Яндекс Путешествия — сервис достаточно гетерогенный, потому что включает очень разные бизнес-направления: поезда, автобусы, самолёты, отели. Последнее направление для нас — одно из самых важных: сейчас на этом рынке происходит перераспределение долей после ухода зарубежных игроков. Поэтому на Yandex Backend Tour мы будем искать разработчиков в первую очередь именно в отельный стрим Яндекс Путешествий. На сегодня в нашей команде 40 backend-разработчиков, и мы хотим нанять ещё примерно столько же.

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

Что для нас «хороший разработчик»? Baseline — технические hard skills: умение писать код и знакомство со стеком, способность придумывать и имплементировать на нём решения. Уровень выше — когда разработчик может осознать большую бизнес-область и сформулировать для неё архитектуру — построить сложный сервис. Если же он готов нести ответственность сразу за несколько сервисов, это ещё лучше.

bf26b09ca6f62418686612850d32461e.jpg

На Yandex Backend Tour соискателям не стоит ожидать сверхсложных задач — это будет, скорее, уровень medium. Подготовиться к испытанию можно на том же LeetCode. Можно почитать, как проводится system design interview.

На собеседовании нам важнее понять, как разработчик подходит к проблеме, придумывает решение и выражает его в коде.И — ближе к финалу — узнать, какой у кандидата кругозор в IT: быть может, он знаком с базами данных или какими-то другими аспектами. Но даже это необязательные требования: в моей практике был случай, когда мы наняли backend-программиста без опыта работы с БД, веб-приложениями и API, — и человек встроился и сейчас стал одним из самых успешных наших разработчиков.

Скажу больше: когда нанимаешь backend-разработчика, не так важны язык и технологии, с которыми он работает. Мы в Яндекс Путешествиях готовы нанимать разработчиков с любого стека — для нас ценнее умение человека разбираться в требованиях, формулировать правильные абстракции, оперировать ими, думать об отказоустойчивости и консистентности. 

Потому что обычно бо́льшая часть бизнес-логики находится на бэкенде. И именно backend-разработчики — те люди, которые должны проанализировать бизнес-требования, понять домен и переложить это в код. А поскольку backend хранит состояние, то разработчику нужно не только понять бизнес-логику и придумать решение, но и подумать, как не потерять и не испортить состояние.

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

На Yandex Backend Tour я еду с чувством любопытства. Я побываю в городе, где раньше никогда не был, — Нижнем Новгороде. А ещё хочу посмотреть на кандидатов, пообщаться с ними вживую и найти несколько человек к нам в команду. Буду рассказывать про Яндекс Путешествия: историю сервиса и проекты, которые мы делаем в 2023 году. И конечно, о том, кого мы ищем в команду.

«В найме backend-разработчиков самое трудное — услышать кандидата, понять, в чём он силён, провалидировать это и сопоставить с нашими ожиданиями».

728684869d74c4f4a2bf7fe41c9e6156.pngКонстантин Крамлих

Yandex Cloud, руководитель поднаправления сетевых продуктов

Одна из базовых задач Yandex Cloud — предоставление инфраструктуры для размещения сайтов, веб-приложений. Ты приходишь, заказываешь виртуалку, разворачиваешь на ней какой-то функционал — и пользуешься: не нужно делать у себя всю инфраструктуру и содержать штат админов для её обслуживания. Но, пользуясь облаком, ты, с одной стороны, ожидаешь, что виртуальные машины будут связаны между собой по сети, а с другой — что у тебя будет изоляция от остальных клиентов. Это две базовые задачи, которые мы делаем: связываем ресурсы пользователя воедино и делаем изоляцию от других пользователей. Под капотом это выливается в большое количество сервисов, которые простираются от низкоуровневой обработки трафика, где важно быстродействие и соответствие гарантиям, до высокоуровневых control-plane-сервисов, которые конфигурируют всю эту систему.

Особенность Yandex Cloud в том, что наш продукт — это инфраструктура, которую мы продаём клиенту. Поэтому мы должны строить её как отказоустойчивую, масштабируемую и понятную —, а это сложные технические задачи. Безопасность и стабильность — то, чего ожидает клиент от сети в облаке. Мы должны также давать клиенту такую инфраструктуру, которую удобно использовать и конфигурировать.

9e37a6c61884ff0002751032bae0ba6d.jpg

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

Хочешь — есть задачи на бизнес-логику. Наскучило? Есть задачи, связанные с большим трафиком. Если и это неинтересно — вот задачи дизайна новых фич. Задачи о повышении стабильности, о мониторинге, о выкладках… А ещё можно помочь другой команде — посмотреть, что они там делают. Например, делать задачи и data plane, и control plane. Мы можем даже поручать сквозные проекты, которые затрагивают все слои: полностью их делегировать разработчику, чтобы он отвечал за большой кусок работы.

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

Я активно занимаюсь наймом, провожу 2–4 секции в неделю: у меня за плечами уже более 600 секций. И я вам скажу: нанимать разработчиков очень сложно, никто не умеет это делать идеально правильно. Как ни стараемся, всё равно не всегда можем адекватно проверить навыки человека. В найме backend-разработчиков самое трудное — услышать кандидата, понять, в чём он силён, провалидировать это и сопоставить с нашими ожиданиями.

Считаю, что главный навык разработчика — умение учиться. Например, я пять лет проработал разработчиком в Яндекс Браузере — десктопном продукте, но когда мне захотелось челленджа, я перешёл в Yandex Cloud. Здесь в команде есть много людей, пришедших из других областей, — кто-то был админом, кто-то писал десктопные приложения. Такое разнообразие в команде делает нас сильнее. Поэтому мы нацелены на поиск потенциально сильных людей и готовы при необходимости их дополнительно обучать.

В Яндексе наём устроен по принципу секций: через их череду мы извлекаем сигналы, знакомимся с человеком и дальше уже выносим решение. Но в сообществе разработчиков многие буквально говорят: «Я не хочу собеседоваться в компанию, где меня будут 20 собеседований мучить». Week Offer — отчасти ответ на такой запрос сообщества. И не надо бояться участвовать в нём. Это в любом случае разговор с техническими специалистами с богатым опытом, с которыми можно обсудить проблематику или узнать фидбэк. Если у вас не выйдет с первого раза, это не помешает вам попробовать ещё и получить офер в будущем. Плюс вы узнаете, что ещё стоит прокачать.

На Yandex Backend Tour я в первую очередь хочу рассказать об облаке и наших челленджах за последние годы, о технических задачах и почему они такие сложные.

А ещё этот тур для меня — возможность встретиться с разработчиками в разных городах. Мне кажется, это здорово, когда появляются такие локальные комьюнити.

«Разработчики, которые придут к нам, будут делать продукт, работающий в реальном мире».

c0948e4cc2fd439254bb8fbd2da09246.pngАндрей Захрямин

Яндекс Маркет, руководитель службы разработки и инструментов для поставок

Мой продукт — логистическая платформа Яндекс Маркета, та её часть, которая связана с закупками, управлением поставками, тендерными процедурами. Кроме того, в моём контуре принимаются решения о том, какой ассортимент будет представлен на Яндекс Маркете. 

Наш продукт делает жизнь людей проще: в Маркете можно заказать товар и получить его даже день в день. В городах-миллионниках мы стремимся к тому, чтобы 99% заказов доставлялись максимум на следующий день. А ещё покупатель может выбрать доставку по клику: в день, когда будет точно дома, нажать кнопку — и курьер приедет уже через 15 минут. Магия, — ничего подобного нет у наших конкурентов.

993711ee8485a46b536956c60c96b2e2.jpg

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

В моём отделе разработки сейчас четыре команды. Одна занимается разработкой тендеров, другая — личным кабинетом взаимодействия с нашими поставщиками. Третья разрабатывает ассортиментный комитет — систему принятия решений о закупке ассортимента. И небольшая четвёртая команда делает инструмент, позволяющий гибко управлять настройками поставок на определённые склады. 

Разработчики, которые придут к нам, будут делать продукт, работающий в реальном мире. На улице мы видим пункты выдачи заказов Маркета, постаматы в супермаркетах, курьеров. На складах — тысячи квадратных метров хранения, конвейеры, роботы. Это не виртуальные продукты — всё можно пощупать. Код, который мы пишем, — осязаемый. 

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!

© Habrahabr.ru