Title
Recommendation Systems Engineer
Quick Summary
AffinityGraph Labs is hiring a Recommendation Systems Engineer to design and ship personalization across web and mobile surfaces. You will build retrieval and ranking models, construct robust feature pipelines, and run trustworthy online experiments that move engagement and revenue. We welcome strong graduates and early-career engineers with demonstrable projects in machine learning, while providing mentorship and clear growth paths.
Project Category or Industry
Personalization and recommender systems for consumer and B2B SaaS products.
Type
Full-time employment.
Experience Level
Entry to mid-level, with opportunities for freshers who can show solid fundamentals and practical projects.
Duration
Permanent role.
Location
Remote-first with optional hubs in Toronto and Barcelona. Maintain at least four hours of collaboration overlap with teams operating between UTCβ5 and UTC+2.
Salary
USD 95,000β140,000 base depending on location and experience, plus benefits and an annual performance bonus.
Payment Mode
Monthly payroll where supported; compliant contractor arrangements available in select countries.
Hiring Company Name
AffinityGraph Labs
Required Skills or Tools
Strong Python, SQL, and data modeling; understanding of offline metrics and online experimentation; experience with large-scale data processing and modern ML frameworks; ability to turn product goals into measurable, reliable recommendation outcomes.
Project Description
AffinityGraph Labs builds personalization that helps customers discover relevant content and products with minimal friction. As a Recommendation Systems Engineer, you will design retrieval and ranking stacks that combine embeddings, candidate generation, and learned rankers. You will partner with product, data, and platform teams to translate opportunities into shipped features, with a focus on reproducibility, observability, and long-term impact.
Core Responsibilities and Expected Deliverables
Design candidate generation (ANN/embedding retrieval) and ranking models for feeds, notifications, and on-site recommendations.
Build and maintain feature stores and real-time pipelines for user, item, and context features.
Define offline evaluation suites and launch online experiments; analyze lift, guardrail metrics, and user cohorts.
Implement exploration/exploitation strategies (bandits, epsilon-greedy, Thompson sampling) with safety constraints.
Ship production-grade services and batch jobs with clear SLIs/SLOs for latency, freshness, and correctness.
Deliver artifacts including reproducible training code, data contracts, dashboards, runbooks, and concise documentation.
Required Experience and Preferred Qualifications
Proficiency in Python and SQL with sound engineering practices (testing, code review, CI/CD).
Experience with one or more of PyTorch, TensorFlow, or JAX; working knowledge of scikit-learn.
Familiarity with embeddings, factorization, gradient-boosted trees, and modern ranking losses.
Comfortable with large-scale data processing (Spark or Flink) and event instrumentation.
Preferred: experience with vector databases, feature stores, and experimentation platforms; background in causal inference or counterfactual evaluation is a plus.
Evidence of impact through internships, open-source contributions, coursework, or shipped personalization features will be valued.
Tools or Platforms to Be Used
Modeling and experimentation: PyTorch or TensorFlow, XGBoost/LightGBM, Hugging Face, MLflow or Weights & Biases.
Data and features: Spark, Kafka, Feast or similar feature store, dbt where appropriate, Parquet/Delta Lake.
Retrieval and storage: FAISS or pgvector, Elasticsearch or OpenSearch, Postgres or BigQuery.
Services and infrastructure: FastAPI, Docker, Kubernetes, GitHub Actions, AWS or GCP, Terraform with platform support.
Observability and experiments: Prometheus, Grafana, OpenTelemetry-compatible logging, in-house or third-party experimentation platform.
Language Requirement
Professional English is required. Additional languages are welcome for global collaboration.
Communication Style
Written-first collaboration with design docs and pull requests on GitHub; Slack for daily coordination; Zoom for stand-ups, reviews, and experiment readouts. Clear documentation is expected for all launches.
Time Commitment or Working Window
Standard 40 hours per week with flexible scheduling. Maintain a predictable daily block overlapping at least four hours with the core team between 09:00 and 17:00 in your local time.
Payment Terms
Salary paid monthly via payroll. For contractors, invoices are processed on net-30 terms upon acceptance of deliverables and timesheets.
Evaluation Criteria
Portfolio or code samples demonstrating recommendation pipelines, feature engineering, and experiment analysis.
Practical exercise focused on building a small retrieval-plus-ranking system with offline metrics and an A/B test plan.
Technical interview covering ranking losses, bias/variance trade-offs, exploration, and observability.
Final conversation on collaboration, product sense, and communication.
References may be requested.
Other Requirements
New hires sign a confidentiality agreement and follow security and data-handling policies. Light time-tracking may be used for distributed coordination. Occasional on-call for personalization systems is shared across the team.
About AffinityGraph Labs
AffinityGraph Labs is a privately held product company focused on personalization and applied machine learning for digital businesses in commerce, media, and SaaS. Headquartered in Toronto with a distributed team across North America and Europe, we combine rigorous engineering with pragmatic experimentation to deliver recommendations that users trust. Learn more at https://www.affinitygraph.com and reach our hiring team at careers@affinitygraph.com.
