🏢 The situation
Monday, 9:30 am. You are the new Junior ML Engineer at Datacore — a marketplace with 2M active users and its own fintech product (installment payments and a wallet).
You are greeted by Lena, the ML team lead:
"Welcome! Our team is me, senior data scientist Igor, data engineer Anya, and now you. We build models that actually move money: product recommendations, anti-fraud, demand forecasting, installment scoring. No code today — figure out how an ML project works here. On Wednesday there's a sync with Max, the product manager. He loves asking newcomers how ML differs from 'just writing if-else'. Be ready."
🎯 Your task
- Understand what machine learning is and when it is needed — and when it isn't.
- Learn the lifecycle of an ML project.
- Understand team roles: who is responsible for what.
📚 Theory
What machine learning is
Arthur Samuel's classic definition (1959): machine learning is the field that gives computers the ability to learn without being explicitly programmed.
A practical definition for the sync with Max:
- Regular code: a human writes rules → the program applies them to data → we get an answer.
- ML: a human provides data and answers (examples) → the algorithm finds the rules itself (a model) → the model answers on new data.
ML is needed when there are too many rules, they are non-obvious, or they constantly change. You cannot tell a cat from a dog in a photo with if-else — but a model learns it from 100,000 labeled photos.
When ML is a bad idea
Juniors often want to "add ML" everywhere. Experienced engineers first ask:
| Question | If the answer is "no" — you don't need ML |
|---|---|
| Is there data (a lot, and relevant)? | Without data there is nothing to train on |
| Are the rules hard to write by hand? | 3 clear rules → write if-else |
| Are errors acceptable? | ML always errs in some % of cases |
| Can quality be measured? | Without a metric you can't tell if the model works |
Types of ML tasks
- Supervised learning: there are examples of "input → correct answer".
- Regression — predict a number (delivery cost, demand).
- Classification — predict a class (customer will churn / stay, fraud / not fraud).
- Unsupervised learning: no answers; we look for structure in the data (customer clustering, anomaly detection).
- Reinforcement learning: an agent learns through rewards (feed recommendations, robotics).
At Datacore, 90% of tasks are supervised. That's how it is in almost every business.
The ML project lifecycle
Andrew Ng describes the cycle in his Machine Learning Specialization, and in real teams it looks the same:
Important truths from practice:
- 60–80% of the time goes into data, not models.
- The first model should be simple — a baseline. Logistic regression first, neural networks later.
- The project does not end at deployment: data "drifts", the model degrades, it must be monitored.
Team roles
| Role | What they do | At Datacore |
|---|---|---|
| Data Engineer | data pipelines, storage, data quality | Anya |
| Data Scientist | research, hypotheses, models, metrics | Igor |
| ML Engineer | models + production: services, deployment, monitoring | you |
| Product Manager | business problem, priorities, user value | Max |
| Team Lead | solution architecture, reviews, team growth | Lena |
The boundaries are blurry: in small teams the ML engineer does everything from EDA to deployment. That's exactly why this simulator takes you through the whole cycle.