Reach out directly about this role
By city
3-5 years
Experience
Full-time
Employment
Hybrid, Onsite
Work Format
Middle
Grade
Backend
Specialization
IT & Tech
Industry
Corporation
Company Type
C++ Developer for Ecom-Scenarios
Ecom-scenarios is a new approach to online product selection based on ML and AI. The user can generate a wide variety of scenarios that will help quickly and conveniently find what they need, compare offers, see pros and cons, view favorable prices and purchasing methods.
We are creating the largest product database in the Runet and strive to take product search to the next level, optimizing it by reducing query processing time and memory consumption several times. We have many architectural and algorithmic tasks: developing data delivery infrastructure, high-load runtime, product functionality, and analytics. Our work helps hundreds of thousands of users and is aimed at results measurable in the company's real profit.
Our team is growing rapidly, with many participants from olympiads and the School of Data Analysis. We know how to work hard and have fun, organizing joint trips to different cities. We regularly talk about our launches and technologies at major conferences and meetups: * HighLoad: How to Get Anything from the Entire Internet * HighLoad: How to Efficiently Rank the Entire Product Runet * ML Party in Belgrade
Development of the Content System The content system is the heart of the entire service. It must store billions of documents and be able to process them very quickly. An example of one of our recent tasks: integrating offer-to-SKU merging into the content system. Such tasks are suitable for those who are proficient with C++, want to understand the architecture of complex systems, and are willing to learn new things.
Scaling the Service We started with a database of hundreds of millions of documents, and now there are over a billion in the search index. The path to this transformation was not easy: it required rewriting several inefficient parts, switching to SSD-friendly data structures, and moving some data to separate microservices for horizontal scaling. Currently, there is a product request to hold an order of magnitude more documents in specific surfaces. For experts in low-level programming, those who enjoy fine-tuning network requests and writing multithreaded code, we have many interesting tasks.
Content Development at the Intersection with ML Offer content (images, description, specifications, videos) is a key parameter, alongside price, on which the user bases their purchase decision. We need to learn to show such content directly from sellers. We need to train several strong models that will understand content quality, assess its ethicality, and select the best (e.g., most conversion-effective) type of content for a specific offer. This will involve a lot of work with data, communication with analysts, and experimentation.
More about Backend at Yandex — in the channel Yandex for Backend