Olá, Habr! Meu nome é Anatoly Orlov e sou o CTO do AliExpress Rússia. O serviço está disponível para usuários que falam russo há 11 anos, enquanto o escritório da empresa em Moscou foi inaugurado há apenas cinco anos e uma equipe de desenvolvimento local apareceu apenas no ano passado. Sua principal tarefa é adaptar a plataforma, inicialmente aprimorada à maneira chinesa, às realidades de Runet e torná-la mais clara e fácil para os usuários que falam russo.
Por que o mecanismo de busca chinês não é adequado para Runet, como ajudar os vendedores locais a obterem mais pedidos, quais tecnologias e por que você precisa se adaptar para isso - no primeiro artigo em nosso blog sobre Habré falaremos sobre o processo de transferência de desenvolvimento, dificuldades ao longo do caminho, os primeiros projetos e planos de engenharia. Vai!
Por que você adiou o desenvolvimento?
A decisão de transferir o empreendimento para a Rússia foi tomada após a criação de uma joint venture (JV), da qual participaram Alibaba, Mail.Ru Group, Megafon e RDIF. Isso foi feito para desenvolver uma plataforma de comércio eletrônico de acordo com as regras e leis do mercado russo e para a conveniência dos usuários e vendedores russos.
Wsou eu
Nos últimos anos, a parte de língua russa do AliExpress se desenvolveu intensamente e exigiu mais recursos e foco. Ao mesmo tempo, o negócio russo para o Grupo Alibaba como um todo é um segmento muito pequeno em comparação com qualquer serviço chinês da empresa, por isso foi muito difícil obter os recursos para realizar as mudanças. Quando o desenvolvimento de uma plataforma no idioma russo não está localizado na Rússia, o projeto precisa aguardar sua vez para obter recursos de desenvolvimento. E como a fila é priorizada em termos de tamanho de mercado, os usuários do Runet tiveram que esperar muito tempo por melhorias. Se os engenheiros trabalhassem na Rússia e estivessem constantemente envolvidos no AliExpress russo, entendendo como fazer um produto que tem demanda aqui, isso abriria mais espaço para desenvolvimento.
Após a criação da joint venture, a situação mudou nessa direção, começamos ativamente a formar nossa equipe técnica. Então, se em janeiro de 2020 éramos cerca de 40, em janeiro de 2021 o número de engenheiros aumentou para quase 400. O que todas essas pessoas estão fazendo?
Adaptação do serviço global para o runet
Tudo parece muito simples: você só precisa "pegar" partes do sistema que são importantes para o mercado local (por exemplo, pesquisa) sob seu controle, adaptá-las e desenvolver o site no futuro. Na prática, as coisas não são tão fáceis.
A infraestrutura do AliExpress não foi originalmente projetada pelo fato de que no futuro possam haver projetos em diferentes países, que se desenvolverão de acordo com as regras do mercado local e pelo esforço de especialistas locais. O código foi escrito por desenvolvedores chineses, usando ferramentas convenientes para eles, incluindo as tecnologias internas do Alibaba, que são difíceis de aplicar fora da China. Por exemplo, pode haver uma grande tecnologia com documentação apenas em chinês e exigindo um login de dois caracteres para começar.
Foto: Oleg Lozovoy / RBC
Apesar de Java ser uma das principais linguagens de programação em todo o ecossistema, quase todos os ambientes e ferramentas são proprietários. Forks de soluções de código aberto conhecidas são bastante comuns, mas não há tantos deles na infraestrutura total. Freqüentemente, esses sistemas são totalmente "acabados" e têm pouco em comum com o projeto original. Por exemplo, o Alibaba tem uma tecnologia MaxCompute maravilhosa, que aparentemente é quase indistinguível do hadoop e aparentemente já foi bifurcada do hadoop, mas o tamanho dos clusters sob seu controle faria os desenvolvedores do hadoop estremecerem de inveja.
Uma localização típica do desenvolvimento de algo fica assim: pegamos uma parte do sistema AliExpress e fazemos sua bifurcação local - no sentido de copiar serviços, implantar uma segunda cópia de aplicativos e comutar o tráfego. Depois disso, temos a capacidade de alterar o código sem afetar as partes chinesas do sistema em outros países.
Interagir com outros engenheiros chineses também é uma experiência incomum. Existem características culturais da abordagem do trabalho e da própria ética do trabalho, e a grande diferença de tempo não pode ser descartada. Além disso, o fato de os engenheiros na China e na Rússia estarem acostumados a trabalhar com tecnologias diferentes se faz sentir - e leva tempo para que pessoas com experiências diferentes sintonizem o mesmo comprimento de onda nas discussões.
Na cultura chinesa, o feedback indireto é adotado. É quando o interlocutor não é apontado diretamente as falhas em seu trabalho, e mesmo publicamente - para não incomodar e humilhar - mas dar uma dica cuidadosa. Geralmente não há dificuldade de compreensão. Por exemplo, a palavra sugerir (em russo "oferecer") para os chineses tem um significado diferente. Se tal "proposta" vier da cabeça - você deve interpretá-la como uma ordem que precisa ser executada. Quando um colega de outra equipe “sugere” mudar algo, isso significa um pedido bastante persistente.
Isso nem sempre é claro para os desenvolvedores que falam russo, com seu hábito de dar feedback direto, e os colegas chineses costumam ficar chocados com a frase russa padrão “você fez a coisa errada, precisa refazer”. Os resultados podem ser alcançados em qualquer caso, mas as negociações e discussões podem demorar um pouco mais do que estamos acostumados.
Até o próprio processo de comunicação com colegas chineses parece diferente: eles usam emoticons muito ativamente, mesmo em correspondência puramente comercial. Por mais sério que seja o assunto que você está discutindo, o chat estará cheio de emojis:
Mudança de pilha de tecnologia, substituição do mecanismo de pesquisa, promoções de vendedores locais
Para o AliExpress na Rússia, tomamos a decisão de abandonar a pilha de tecnologia proprietária nas áreas em que faz sentido. Por exemplo, onde no código aberto existem análogos comparáveis em qualidade e onde a transição pode ser feita com relativamente pouco sangue.
Freqüentemente, em vez de Java, usamos Kotlin, escrevemos serviços separados em Go e .Net, usamos Kubernetes, GitLab, k8s, Prometheus, Grafana, Opsgenie, etc.
Ao mesmo tempo, muitos projetos do Grupo Alibaba permanecerão na pilha porque são bons e / ou necessários. Por exemplo, a fonte de conhecimento sobre produtos transfronteiriços (ou seja, que podem ser comprados de fornecedores estrangeiros) sempre será o sistema Alibaba; podemos escrever o nosso próprio, mas será muito difícil forçar 100 milhões de vendedores chineses a ir para lá.
Uma das primeiras mudanças: começamos a substituir o mecanismo de busca chinês. Agora, nem sempre é aplicável para consultas em russo, por exemplo, em alguns lugares uma consulta de pesquisa é truncada para 30 caracteres - ao mesmo tempo no meio de uma palavra. À primeira vista - algum tipo de horror, mas para a máquina chinesa isso é bastante lógico, porque não há espaços e as consultas com um comprimento de 30 caracteres (ou seja, hieróglifos) não são encontradas na vida real. Na verdade, não é difícil consertar esse recurso, mas quando há muitos defeitos, é mais confiável fazer seu próprio mecanismo de busca. Com tudo isso, a plataforma de busca do Alibaba está tecnologicamente próxima do estado da arte.
Outra mudança importante: começamos a trabalhar na alocação de vendedores locais na entrega de mercadorias. O problema com o AliExpress global era que, mesmo que houvesse um produto que pudesse ser comprado de um vendedor russo e pagasse menos pela entrega, os usuários russos talvez não soubessem disso.
Foto: Oleg Lozovoy /
Os algoritmos de aprendizado de máquina do RBC Alibaba são voltados para a promoção de produtos com o maior volume de vendas, e o problema do ovo e da galinha surge naturalmente: o segmento russo da plataforma aqui não pode competir com a China e, como resultado, os vendedores locais sim não obter posições suficientes na pesquisa. Depois de uma série de tentativas e experimentos sem sucesso, conseguimos melhorar a posição dos produtos russos, mas o sistema ainda está longe do ideal, vamos melhorá-lo.
Como resultado, a equipe de engenharia russa assumiu o desenvolvimento do site aliexpress.ru, um aplicativo móvel russo, e em breve todos os outros aspectos, como o programa de fidelidade, serão incluídos em sua esfera de responsabilidade.
O que vem a seguir: completamente sua própria pesquisa, ainda mais tráfego para produtos locais, correção de bugs
Estamos ativamente "testando" uma nova pesquisa, que incluirá um algoritmo para promover produtos locais para as consultas mais populares e fornecer recomendações para não perder vendas. E, claro, pesquisará da forma como os usuários que falam russo estão acostumados. Situação atual: realizamos o primeiro teste a / b, cujos resultados nos agradam.
Sabemos de algumas das “lesões de parto” do AliExpress, que incomodam a todos, em particular o constante logout no site, bugs de localização, que ainda não conseguimos vencer, pois ainda não “tiramos” o necessário código, mas estamos trabalhando nisso.
Obviamente, algumas partes do sistema AliExpress nunca serão totalmente localizadas, mas queremos atingir um estado em que a plataforma seja o mais conveniente possível para o usuário e o vendedor, sem restrições. Estaremos ativamente engajados nisso e falaremos sobre nossa experiência no blog do Habré. Então, inscreva-se e escreva nos comentários, o que nos contar nos próximos artigos.