Живете в Польше? Поддержите devby 1,5% налога: бесплатно и за 5 минут 🤗
Support us

Здравствуй, Яндекс: первое откровенное интервью минского офиса

39 комментариев
Здравствуй, Яндекс: первое откровенное интервью минского офиса

Белорусскому офису Яндекс больше года, но за все это время о минском подразделении мало что было известно. Чем оно занимается? Кто там работает? Что делает в рамках «большого» Яндекса? Все эти вопросы оставались без ответа. Dev.by решил исправить эту ситуацию: мы встретились с руководителем белорусского офиса Алексеем Сикорским, который без  тайн и прикрас рассказал, как обстоят дела.

Как живет белорусский офис Яндекс в рассказе Алексея Сикорского

Офис в Минске не занимается локализацией

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

Почему-то сложилось такое ошибочное мнение, что мы здесь занимаемся локализацией карт и переводом интерфейсов с русского на белорусский. Правда же в том, что офис в Минске не занимается локализацией. Когда вышел пресс-релиз об открытии белорусского подразделения, мы говорили, что будем заниматься разработкой поиска и карт. А потом как в анекдоте, каждый, кто прочитал анонс, додумал немножко своего, и оказалось, что мы здесь локализуем продукты «большого» Яндекса.

Проекты, над которыми мы работаем, относятся ко всему Яндексу. За все время нашей деятельности у нас был только один сотрудник, который имел прямое отношение к локализации продуктов: он занимался белорусской формулой ранжирования. Но потом мы поняли, что именно эту задачу лучше решать там, где разрабатывается основная часть поиска, в Москве. Ведь большинство алгоритмов едины для всех: будь то Беларусь, Тайвань или любой регион России. Просто есть региональные факторы, которые в большей или, наоборот, в меньшей степени влияют на ранжирование.

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

Стартовали мы с поиска и карт, они же, с точки зрения объема, по-прежнему остаются лидирующими

Минский офис работает над несколькими продуктами, которые относятся к разным направлениям. Это поиск, карты, мобильные приложения, тестирование, автоматизация и, с недавних пор, — браузер. Стартовали мы с поиска и карт. Они же, с точки зрения объема, по-прежнему остаются лидирующими.

Поиском в Минске занимается несколько команд, которые решают разные задачи. Первая занимается факторами ранжирования, о которых я уже говорил. Вторая отвечает за анализ данных и API к нашему основному хранилищу данных. Третья — за технологии геопоиска.

Команда, отвечающая за факторы ранжирования для всего Яндекса, занимается проверкой состоятельности различных гипотез (факторов), которые могут повлиять на поисковую выдачу. Это очень интересный, наукоемкий R&D процесс, в основе которого лежит машинное обучение. Вторая команда работает над сервисом Sita, объединяющим возможности различных API контент-системы. Контент-система, или поисковый робот, обходит интернет в поисках веб-документов, обрабатывает их и хранит. Сервис Sita реализует различные сценарии работы с данными в этих хранилищах и предлагает единообразный интерфейс доступа к ним. Некоторые из сценариев, например, в рамках RichContent API, доступны и внешним разработчикам. Наконец, третья команда занимается поиском по географическим объектам. Пока в этой группе всего три человека.

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

Белорусские разработчики Яндекс.Карт отвечают за целый ряд компонентов. Например, за общественный транспорт, за маршрутизацию электричек. Кроме этого, наши ребята принимали участие в создании довольно уникальной вещи — кратковременного прогноза пробок. Обычно ситуация на дорогах прогнозируется на основании статистики. Скажем, мы знаем, что несколько недель подряд по пятницам в 19:00 на такой-то улице пробки. Мы понимаем, что такая пробка, скорее всего, будет и в следующие пятницы по вечерам. Но существуют и другие обстоятельства, такие как ДТП, ремонт дороги или ее перекрытие. Как предсказать их влияние на затор? Мы разработали сложный алгоритм, который позволяет определить, как будет развиваться дорожная обстановка с учетом непредвиденных обстоятельств. Это действительно нетривиальная задача, и для ее решения задействовано множество источников информации, в том числе и сами пользователи, которые делятся с нами своими обезличенными треками, данными о перемещениях, скорости, векторе и пр. Мы собираем их, анализируем и отображаем на карте общую ситуацию на конкретном участке дороги. Но с пользователями тоже все не так просто. Например, как определить, что человек с телефоном сначала ехал в машине, а потом вышел и пошел пешком (то есть скорость его резко снизилась), при этом продолжая делиться треком? Или что он сначала быстро ехал, а потом припарковался, а не встал в пробке? Или что это велосипедист, едущий по тротуару, чья скорость не зависит от потока автомобилей? Мы все эти сценарии умеем достаточно точно вычислять и учитывать. Могу сказать, что адекватных аналогов нашей разработке нет.

У нас еще есть группа, отвечающая за мобильную разработку. В частности, она работает над Яндекс.Store — магазином приложений для Android, который уже запустился и сегодня полностью разрабатывается в Минске.Также мы пробуем взрастить команду для участия в разработке браузера. Есть еще целый ряд внутренних проектов. Так, например, в Минске работают над системой автосборки. В Яндексе создан огромный объем исходного кода, поэтому доступными на рынке системами автосборки мы не обходимся, приходится дорабатывать их самим.

Еще есть команда автоматизации тестирования и группа, которая работает над системой управления Яндекс.Каталогом и над системой анализа трафика.

Мне кажется, что для семидесяти человек это не так уж мало. В «большом» Яндексе уровнем белорусских специалистов довольны, поэтому не боятся делегировать нам неординарные продукты.

Обычно сотрудники сами выбирают главного

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

Сквозное транслирование персональной ответственности работает и снизу вверх. В Яндексе не принято назначать руководителя волюнтаристским решением сверху, ведь команда может не признать такого руководителя, а это всегда ведет к демотивации. Быть руководителем без признания команды в Яндексе невозможно. Если разобраться, то в каждой группе так или иначе проявляется человек с наивысшим авторитетом. Обычно это высочайшего класса специалист, который на деле доказал правильность своих идей и решений и, как следствие, добился признания в коллективе. Такой «избранный» руководитель, как показывает практика, наиболее эффективен.

Вообще, у нас больше принято разговаривать и договариваться

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

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

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

Минское подразделение мы тоже, можно сказать, «прорастили». Перед тем как открыть офис, компания хотела убедиться, что в Беларуси достаточно специалистов необходимой квалификации. Казалось бы, что сложного — могли бы сразу опубликовать вакансии и набрать людей, но мы все делали постепенно. Сначала технические специалисты из штаб-квартиры провели лекцию в БГУ, рассказали о том, как все устроено в Яндексе с технологической стороны. Интерес был довольно высоким — на лекцию пришло около 200 человек. Затем мы посмотрели на реакцию слушателей: нравятся ли им сложные задачи, требующие нелинейного мышления. Когда стало понятно, что реакция положительная, опубликовали вакансии. С теми, кто откликнулся, коллеги из головного офиса проводили предварительные интервью. И только когда все перспективы стали ясны, мы приняли решение об открытии офиса.

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

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

Если говорить про технологической стек, то в основном мы работаем на C++ и Python. На C++ у нас вся «хардкорная» часть. Карты и поиск делаются на C++, потому что это наиболее ресурсоемкие проекты, и, соответственно, сервисы должны быть максимально эффективными, ведь они работают на десятках тысяч серверов. А Python используется больше для вспомогательных функций, где производительность не так важна. Мобильная разработка — Android/Java, iOS/Objective C. Браузер тоже C++. Еще есть Java для прикладных сервисов в поиске, системы управления Яндекс.Каталогом и системы анализа трафика.

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

У нас можно прийти в двенадцать и уйти в два. Главное, чтобы работа была сделана

Хороших разработчиков мало. У нас как бывает: если прочитал книжку «C++ за 21 день» — сразу Junior, если написал код, который скомпилировался — прыгаешь на уровень Middle, а если этот код еще и запустился — уже Senior. А все ведь намного сложнее. У Яндекса в этом плане, можно сказать, завышенные требования к сотрудникам, хотя и не настолько, что к нам как-то архитрудно попасть.

Почему-то считается, что Яндекс охотится за участниками олимпиад. Это не совсем так. Просто жизнь показывает, что люди, которые с детства занимались решением нестандартных логических задач, активны по жизни, любят соревноваться, принимают вызовы, хотят должного применения своих знаний. Так получается, что в таких компаниях, как Яндекс, они как раз могут найти возможность самореализации. Уже знакомые подходы и алгоритмы можно применить для анализа огромного объема данных, более того, знания можно еще и приумножить. Нам подходят именно такие люди. Но для того чтобы работать в Яндексе, совсем не обязательно быть победителем или участником каких-то соревнований среди разработчиков. Хотя нам самим очень нравится дух открытого, честного состязания умов. Яндекс проводит или спонсирует целый ряд как внутренних, так и внешних конкурсов, чемпионатов и олимпиад для разработчиков, дизайнеров, менеджеров.

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

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

А еще мы очень хорошо относимся к рекомендациям

Не всегда, но часто наши математические модели довольно сложны и требуют знаний, превышающих стандартную академическую программу. Поэтому еще два года назад мы запустили минскую Школу анализа данных Яндекса на базе БГУ. В нашу школу можно поступить и бесплатно осваивать основы машинного обучения, теорию алгоритмов, статистику и многое другое. В этом году мы набрали в ШАД около 30 человек на два года. Мне очень нравится программа школы, на нее потрачено немало сил, это не просто кружок любителей программирования, а нечто очень большое. Но стоит понимать, что это общеобразовательный проект: по окончании ШАД студенты не обязаны работать в Яндексе, а мы не гарантируем, что возьмем их на работу.

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

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

Фотографии: Александр Васюкович

Поддержите редакцию 1,5% налога: бесплатно и за 5 минут

Как помочь, если вы в Польше

Читайте также
Лукашенко запустил производство в сфере микроэлектроники и сказал не париться насчёт ИИ
Лукашенко запустил производство в сфере микроэлектроники и сказал не париться насчёт ИИ
Лукашенко запустил производство в сфере микроэлектроники и сказал не париться насчёт ИИ
15 комментариев
Айтишный СЕО поделился вопросом, которым спасается от заученных ответов на собесах
Айтишный СЕО поделился вопросом, которым спасается от заученных ответов на собесах
Айтишный СЕО поделился вопросом, которым спасается от заученных ответов на собесах
Минский сисадмин похитил ноутбуки, чтобы расплатиться в онлайн-казино
Минский сисадмин похитил ноутбуки, чтобы расплатиться в онлайн-казино
Минский сисадмин похитил ноутбуки, чтобы расплатиться в онлайн-казино
Роботы оказались в 2-3 раза дешевле живых курьеров
Роботы оказались в 2-3 раза дешевле живых курьеров
Роботы оказались в 2-3 раза дешевле живых курьеров
3 комментария

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.