ml system design
Atlassian
GitHub
GitLab

Atlassian ML System Design: Design Jira Recommender

Topics:
Recommender System
Personalization
Candidate Generation
Roles:
Machine Learning Engineer
Data Scientist
ML Infrastructure Engineer
Experience:
Mid Level
Senior
Staff

Question Description

Problem overview

You are asked to design a recommendation system for Jira that surfaces relevant issues, projects, and teammates to millions of users. The system must provide personalized suggestions based on user behavior (views, comments, assignments), project metadata, and recent activity while integrating seamlessly with dashboards, notifications, and search.

What you'll be evaluated on

Start by clarifying scope: which entities to recommend (issues, projects, people), real-time vs batch freshness, and privacy constraints. Then present a two-stage architecture: candidate generation (recall) and ranking (personalized scoring). Explain data sources (issue text, metadata, activity logs, social graphs), feature engineering (recency, role, similarity, embeddings), and model choices (matrix factorization, session-based models, dense embeddings + shallow ranker). Cover online components: low-latency feature store, online scoring service, cache, and event-driven updates for real-time personalization.

Flow of the interview

You’ll typically walk through: requirements and tradeoffs; high-level architecture; ML pipelines (offline training, online serving); latency, scalability, and fault-tolerance strategies; and evaluation (offline metrics, A/B testing, feedback loop). Expect questions that probe cold-start, diversity, bias mitigation, and maintainability.

Skill signals to demonstrate

You should show knowledge of recommender systems (candidate generation vs ranking), embedding methods, feature stores, streaming/event-driven pipelines, real-time inference, A/B testing, evaluation metrics (precision@k, NDCG), and operational concerns like instrumentation, rollback, and model lifecycle.

Common Follow-up Questions

  • How would you handle cold-start for new users, new projects, and new issues? Discuss content-based vs collaborative strategies.
  • Compare candidate generation approaches: graph-based walk, embedding nearest neighbors, and query-expansion. How do you choose and evaluate them?
  • Describe the design of an online feature store and low-latency scorer to meet <100ms SLA. How do you cache, shard, and fail gracefully?
  • What evaluation pipeline and metrics would you implement (offline and online) to measure quality and business impact? How do you set up A/B testing?
  • How do you ensure privacy, access control, and tenant isolation for recommendations in an enterprise product like Jira?

Related Questions

1Design a personalized activity feed for a collaboration platform (news feed recommender)
2Design a people-recommendation/search system for an enterprise (find collaborators or subject-matter experts)
3How to build a real-time feature pipeline and feature store for low-latency ML inference
4Compare ranking models for recommendation: GBDT, shallow neural nets, and deep learning rankers
5How to evaluate and mitigate bias and spam in recommender systems for enterprise tools

Explore More Questions

Practice This Question with AI

Get real-time hints, detailed requirements, and insightful analysis of the question.

Jira Recommendation System Design - Atlassian ML Eng | Voker