Разработку «AliExpress Россия» перенесли из Китая в РФ: как проходил процесс, трудности и первые проекты

AliExpress работает в России уже 10 лет. Пять лет назад в Москве открылся офис компании и появилась небольшая команда инженеров, которая занималась поддержкой локальных фич.

Разработку «AliExpress Россия» перенесли из Китая в РФ: как проходил процесс, трудности и первые проекты

Всё изменилось с созданием СП осенью 2019-го: было принято решение перенести основную разработку, которая активно началась весной прошлого года, из Китая в Россию. За прошедшее время в новую инженерную команду приняли более 300 специалистов, еще почти столько же планируется привлечь в наступившем году.

Иван Каздым, руководитель департамента IT в логистике «AliExpress Россия», рассказал, зачем понадобились столь масштабные изменения и как проходил процесс переноса разработки из Поднебесной в нашу страну.

Иван Каздым
руководитель департамента IT в логистике «AliExpress Россия»

Зачем это было нужно

Осенью 2019 года произошло важное событие в жизни «AliExpress Россия»: Alibaba Group, Mail.ru Group, «Мегафон» и Российский фонд прямых инвестиций (РФПИ) создали совместное предприятие в сфере электронной коммерции.

Основная цель новой компании — активное развитие новых продуктов в России, включая их разработку с нуля или серьезную адаптацию сервисов «AliExpress Россия». Не секрет, что подходы к разработке продуктов и предпочтения пользователей в Азии и Европе довольно сильно различаются, а инженерам достаточно трудно перестроиться под новые требования. В результате продукт получается специфическим для местных пользователей и не учитывает все их потребности.

Кроме того, находясь в Китае, очень сложно понять многие особенности, характерные только для России. Например, нюансы русского языка при поиске, активное использование пунктов выдачи заказов и постаматов вместо обычной почты. Помимо этого, восприятие UX в Европе и Азии разное.

Кроме того, в рамках Alibaba Group российскому подразделению было трудно получить ресурсы на развитие: проекты холдинга внутри Китая имели приоритет из-за гораздо больших масштабов последних. Если стоял выбор — условно — сделать новую фичу для AliExpress.ru и TaoBao, то приоритет отдавался китайскому проекту, потому что изменение в нем потенциально принесло бы гораздо больше денег. Обо всём этом мы подробно писали ранее в блоге.

После того как AliExpress стал в том числе российским проектом, ситуация изменилась. Началась активная разработка в России, для чего вновь собранной команде инженеров пришлось взять многие процессы под свой контроль. Это был увлекательный, но не всегда простой процесс. Вот с какими трудностями мы столкнулись.

Незнакомый стек технологий

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

В итоге, даже несмотря на то что одним из главных языков программирования во всей экосистеме является Java, многие окружающие его инструменты всё равно часто проприетарны. Как правило, это очень мощные и эффективные инструменты, но весьма специфические. Встречаются и форки (скопированная и измененная версия) известных открытых решений, но в общем объеме инфраструктуры их не так много. К тому же часто форк сильно допилен и имеет мало общего с публичным проектом.

С одной стороны, усилия местных китайских инженеров имеют свои неоспоримые плюсы. Однако развитие продукта на внешних рынках иностранными специалистами сопряжено с трудностями. Среди самых очевидных: потребуется немало времени, чтобы разобраться с кодом, а развивать его с помощью незнакомых инструментов непросто. Это усложняет онбординг новых инженеров, они дольше «втягиваются», им тяжелее выйти на максимальную продуктивность. Специалистов, которые бы имели опыт работы с такими технологиями в России, по понятным причинам нет.

Именно поэтому для AliExpress в России мы приняли решение в конечном итоге отказаться от изначального стека технологий в тех областях, где в open source есть сравнимые по качеству аналоги. В частности, от Java перешли к Kotlin, остальные технологии также старались брать по принципу современности и лучшей совместимости: Kubernetes, GitLab, C# и т. п. При этом многие проекты Alibaba Group останутся — например, среди инструментов, которые доступны и вне группы, можно назвать MaxCompute.

Разработку «AliExpress Россия» перенесли из Китая в РФ: как проходил процесс, трудности и первые проекты

Построение коммуникаций

Alibaba — огромная компания, в которой работают тысячи людей. Это может затруднять коммуникации даже без учета некоторых различий в менталитете сотрудников. Скажем, при возникновении вопросов по устройству внутренних систем часто было трудно «найти концы» и понять, к кому обращаться за консультациями.

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

Отдельная тема — менталитет. В китайской культуре принят indirect feedback, то есть более мягкая обратная связь: в рабочих отношениях, когда что-то не нравится, принято «намекать», а не говорить напрямую. Например: «Всё очень здорово, вот это можно улучшить». Это сильно отличается от direct feedback, подчас принятого в России. Если в отечественных компаниях всегда есть кто-то, кто скажет: «Этот код не работает», то в китайских компаниях такая обратная связь без дополнительных вводных может быть воспринята некорректно. В итоге фидбэк китайских коллег не всегда хорошо считывается российскими инженерами и увеличивает время работы над задачей.

Другой подход к менеджменту

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

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

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

На этом в целом с основными трудностями всё, теперь поговорим о том, что конкретно нам удалось сделать за последние несколько месяцев.

Разработку «AliExpress Россия» перенесли из Китая в РФ: как проходил процесс, трудности и первые проекты

Чем занимались в первые месяцы

Задачи инженеров AliExpress в России делились на несколько категорий:

  • Создание собственной инфраструктуры, не привязанной к проприетарным китайским решениям. Это было нужно для более быстрой разработки, совместимости с современными технологиями и высокой надежности.
  • Качественная локализация — поиск, усовершенствование и адаптация UX/UI под привычки российских пользователей, новые удобные инструменты для продавцов из России.

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

Первым полностью российским продуктом стал проект «Есть!». Это приложение в приложении, где можно покупать продукты питания и товары повседневного спроса. Весь процесс разработки до запуска занял всего три месяца, включая и технические работы, и заключение договоров с партнерами. Мы использовали микросервисную архитектуру, backend был написан на С#, net core 3.1, frontend — на React, QA использовали Python. Инфраструктура приложения включает Kubernetes кластер, Gitlab — ci / cd, graylog, jaeger, grafana, apache kafka — то есть это уже привычный разработчикам инструментарий. В качестве БД используем родной Postgres.

Планы

Останавливаться мы не собираемся: в планах масштабные работы по корректировке UX и UI в части совершения заказа и взаимодействия продавцов с платформой, расширение географии сервиса «Есть!». О решении всех этих задач мы будем подробно рассказывать в блоге.

1919
65 комментариев

Как переключить сайт на глобальную англоязычную версию?

12

В профиле просто выбираешь язык англ и все.

Есть смысл пользовать англ версию хотя бы из-за традиционно ушлепского поиска и корявого перевода.

1

Давайте вы нам поможете лучше русскую починить. Что в ней не так по сравнению с английской?

Я как-то давно там все настройки (валюту тоже) сменил на англ/доллары. Винду не локализованную накатал. Вроде сейчас у меня глобальная версия.

А где тот розовощекий мужчина в полном расцвете сил, который год назад бодро раздавал интервью о том, что в Али наберут 300 программистов за год и все будет зашибись?

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

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

Судя по изменениям за год, набрали пару студентов, которые кодят то, что им интересно и как им интересно после учебы. А потом исправляют косяки в том, что накодили.

В общем, не особо жизнеспособно это все...

3

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

2

Мужчина тут, поиска да пока как не было так и нет - пишем, это не так быстро