Из разработки в Data Scientist: путь и план
Содержание:
Зачем разработчик переходит в DS
Разработчик пишет код, который решает понятные задачи. DS — про исследование, гипотезы, моделирование. Переход даёт: больше research-составляющей, работа с данными вместо UI, выход на ML-задачи (рекомендации, NLP, CV), часто более высокая медианная зарплата в senior-grades.
Типичный путь: backend-разработчик с 3-5 годами опыта → ML Engineer junior+/middle → DS. Backend-опыт даёт огромное преимущество в production ML — деплой, масштабирование, latency optimization — это уже навыки разработчика.
На собесе Data Scientist разработчик имеет фору: алгоритмы, Python, production code, system design. Нужно добрать ML-теорию, статистику, продуктовое мышление.
Что общего и в чём разница
Общее:
- Python (если разработчик Python-ник) или общее знание программирования
- Алгоритмы и структуры данных (Leetcode — на одном уровне)
- System design (DS тоже его делает, но в ML-контексте)
- Git, testing, code review culture
- Production mindset
Разница:
| Разработчик | DS | |
|---|---|---|
| Цель | реализовать спеку | исследовать гипотезу |
| Метрики | время отклика, downtime | accuracy, AUC, NDCG |
| Эксперименты | tests | A/B-тесты |
| Математика | basic | глубокая (linear algebra, probability) |
| Statistics | rare | основа работы |
| ML | редко | основное |
| Business context | средний | высокий |
Что доучить
1. ML-теория (3-6 месяцев)
- Bias-variance trade-off, overfitting, regularization
- Algorithms: linear/logistic regression, decision trees, ensembles, gradient boosting
- Validation strategies (cross-validation, time-based)
- Metrics: precision, recall, F1, AUC, NDCG. Когда какая
- Deep learning basics (если в NLP/CV направление)
Подробнее — ML-теория на собесе DS.
2. Статистика и probability (2-3 месяца)
- Distributions (нормальное, биномиальное, Пуассон)
- Hypothesis testing, p-value, MDE
- A/B-тесты: размер выборки, peeking, CUPED
- Causal inference: причинность vs корреляция
3. Продуктовое мышление (2-3 месяца)
- Метрики продукта: DAU, MAU, retention, LTV
- A/B-тесты в продуктовом контексте
- Кейсы: как метрика влияет на бизнес, обоснование impact-а
Это самое отсутствующее у разработчиков. Прокачивается чтением продуктовых блогов, общением с product managers, и pet-projects с реальным A/B.
4. Math fundamentals (2-3 месяца)
- Linear algebra (vectors, matrices, eigenvalues)
- Calculus (gradient, optimization)
- Probability (distributions, expected value, variance)
- Optimization (gradient descent variants)
Курс: Stanford CS229, Khan Academy.
5. SQL (1-2 месяца)
Если backend-разработчик уже знает SQL — повторить + углубить window functions, retention queries, cohort analysis.
План перехода
Месяцы 0-3: ML-теория + математика
- Курс Andrew Ng (Coursera) или fast.ai
- Книга «ISLR» (Introduction to Statistical Learning)
- Khan Academy: linear algebra + probability
- Pet-project: классическая задача (Titanic / House Prices) end-to-end
Месяцы 3-6: Статистика + A/B + продуктовое мышление
- Курс по статистике (Stanford / MIT OpenCourseWare)
- Книга «Trustworthy Online Controlled Experiments» (Kohavi)
- Чтение продуктовых блогов: VK, Yandex, Tinkoff tech blogs
- Pet-project: ML-модель с реальной бизнес-метрикой
Месяцы 6-9: ML system design + углубление
- Книга «Designing Machine Learning Systems» (Chip Huyen)
- 10+ ML system design кейсов вслух
- Deep learning (PyTorch) для NLP/CV
- Kaggle участие
Месяцы 9-12: Подача
- Резюме с упором на ML и квантитативные результаты
- ML system design до автоматизма
- Pet-projects на GitHub с описанием
- Подача на ML Engineer / Junior DS позиции
Где брать DS-опыт
1. ML Engineer как переходная роль. Логичный мост — позиция между разработкой и DS. Работа: деплой моделей, MLOps, оптимизация inference. Опыт в production ML.
2. Pet-projects. End-to-end ML: данные → модель → deploy → API. Streamlit / FastAPI / Docker / cloud.
3. Kaggle. Не для топ-1, для practical-навыков. Top-25% = хороший signal.
4. На текущей работе. Если в компании есть ML-команды — попроси задачу. Backend-разработчик с интересом к ML — ценен.
5. Open-source. Контрибуть в scikit-learn, PyTorch, MLflow. Высокий signal.
Частые ошибки
- Прыгать в deep learning сразу. Classical ML — основа. Без неё DL не пойдёт.
- Игнорировать математику. Без linear algebra и probability ML — это магия, а не наука.
- Слабое продуктовое мышление. Разработчик привык к спекам. DS должен сам формулировать задачу.
- Pet-project «обучил модель в notebook». Без deploy и метрик это не впечатляет.
- Игнорировать SQL. В большинстве DS-команд SQL — must.
Связанные темы
- Собеседование на Data Scientist
- Из аналитика в Data Scientist
- ML-теория на собесе DS
- Causal inference: причинность vs корреляция
- Из разработки в продакт-менеджеры
FAQ
Сколько занимает переход?
В среднем 9-15 месяцев активного обучения. Если в текущей компании есть ML-команда — быстрее (внутренний transfer за 6-12 месяцев).
Backend или frontend проще переходит?
Backend — алгоритмы, данные, production. Frontend — больше работы с математикой и data structures, чтобы догнать.
ML Engineer vs DS — что выбрать?
ML Engineer — больше про инженерию (деплой, MLOps). DS — больше про research и моделирование. Backend-разработчик часто стартует с ML Engineer и потом смотрит ближе к DS / research.
Нужно ли получать дополнительное образование?
Не обязательно. Сильное самообучение + pet-projects + open-source = хорошее портфолио. Магистратура по ML — плюс, но не критично.
Какие компании дружелюбны к переходящим?
Большие технологические — Yandex, Tinkoff, Сбер AI, Avito. У них есть структурированные ML-команды и культура внутреннего transfer.