15 days ago

Logo of Constructor

Backend Engineer - Ranking Team

$90k - $110k

Constructor

SpainRemote

About the Team

The Ranking team, within the Machine Learning chapter, plays a central role in implementing algorithms that optimize for business KPIs like revenue & conversions. We focus on metrics over features, arming our ranking algorithms with powerful capabilities that bring value to customers in the way they care the most about. 

As a member of the Ranking team, you will be surrounded by and encouraged to use world-class analytical, engineering and machine-learning techniques on big data to shape the evolution and scale of our ranking algorithms. The team owns all stages of products ranking for Search, Browse, and Autocomplete experiences, including base ranking, second-stage ranking, and ranking explanation.

One of the main services the Ranking team owns is the ML Ranking Service which is a high-load distributed REST service deployed in the cloud and developed in Python programming language. The service extensively uses in-memory and NoSQL DBs (for signals and model metadata storage). We support service deployment and stability. We have monitoring set up with Prometheus, PagerDuty, Sentry, and custom internal APIs with FastAPI).

Challenges you will tackle

A primary focus of this job is to design, deliver & maintain highload real-time web services in close collaboration with other great engineers from the Ranking team. The job can consist of, but is not limited to:

  • Build, deploy, and support robust high-load machine learning-based real-time systems for search and browse experiences. 
  • Collaborate with technical and non-technical business partners to develop and update ranking functionalities
  • Optimize current ranking service performance to process requests faster
  • Optimize signals delivery and retrieval (aka Feature Store) for machine learning model inference
  • Communicate with stakeholders within and outside the team

Hard skills:

  • Experience in designing, developing & maintaining high-load distributed real-time services (in cloud)
  • Proficiency in Infrastructure as Code (IaC) tools like CloudFormation or Terraform for managing cloud resources.
  • Experience with MLOps is a huge plus (delivering, loading, and serving ML models and related infrastructure)
  • Hands-on experience with setting up and improving CI/CD pipelines
  • Proficiency with Python and, as a plus, compiled languages like C, Rust, or Go.  
  • Experience in server-side coding for web services, and a good understanding of API design principles.
  • Skilled in setting up and managing observability tools like Prometheus, Grafana, and integrating alert systems like PagerDuty.
  • Familiarity with Service-Oriented Architecture, knowledge of communication protocols like Protobuf & familiarity with networking principles
  • Experience with NoSQL and relational databases, distributed systems, and caching solutions.
  • Experience with any of the major public cloud formation: AWS (ideally), Azure, GCP

Soft skills:

  • Experience collaborating in cross-functional teams.
  • Excellent English communication skills.
  • Enjoy helping others around you grow as developers and be successful
  • Pick up new ideas and technologies quickly, love learning and talking to others about them
  • Love to experiment and use data and customer feedback to drive decision-making