Pick a depth. Each prompt opens in your AI pre-loaded with the lesson. Click a row to preview the prompt.
MLOps is a team sport, and one of the most common causes of stalled ML projects is unclear ownership of the boundaries between roles. Data scientists build models, ML engineers productionize them, data engineers own the pipelines, and SREs/platform engineers keep them running — but the handoffs between these roles are exactly where systems break. In small teams one person wears all the hats, which is fine, but they still need to know which hat they're wearing for a given task. Understanding the roles isn't org-chart trivia; it's how you reason about who owns the data contract, who owns the eval gate, and who gets paged at 3am when latency spikes.
The demo maps each lifecycle stage to the role that typically owns it, surfacing the handoff points — model handoff to production, data-contract ownership, on-call — where most failures actually occur.
lifecycle = [
("frame problem & metrics", "Product + Data Scientist"),
("build data pipeline", "Data Engineer"),
("train & evaluate model", "Data Scientist"),
("productionize / serve", "ML Engineer"),
("deploy & monitor", "ML Engineer + SRE/Platform"),
("on-call / incidents", "SRE/Platform"),
]
handoffs = [(lifecycle[i][1], lifecycle[i+1][1])
for i in range(len(lifecycle)-1)
if lifecycle[i][1] != lifecycle[i+1][1]]
print("Risky handoffs (ownership changes hands):")
for a, b in handoffs:
print(f" {a} -> {b}")
# In a small team one person owns all stages — but must know WHICH role each task is.python3 main.py