Получить доступ

Индивидуальный план развития: Data Scientist

Выберите текущий и целевой грейд — останутся темы, которые нужно освоить, с проверяемыми критериями, практическими заданиями и оценкой трудоёмкости. План можно скопировать в документ компании, скачать таблицей или распечатать.

1 этап База разработчика

Основы Git Основа

Junior
  • Создаёт ветку, делает осмысленные коммиты и отправляет их в удалённый репозиторий
  • Объясняет разницу между merge и rebase и не переписывает опубликованную историю
  • Отменяет изменения через revert, reset и restore в подходящих ситуациях
  • Разрешает конфликт слияния и проверяет результат тестами

Практика. Провести учебный проект через 10 веток с pull request, специально создать и разрешить 3 конфликта, откатить один неудачный коммит через revert.

Pull request и код-ревью Основа

Junior
  • Оформляет небольшой pull request с описанием, что и как проверить
  • Исправляет замечания ревью и поддерживает ветку в актуальном состоянии

Практика. Сделать 5 pull request в учебный или открытый проект с описанием и пройти ревью.

Middle
  • Ревьюит чужой код по существу — ошибки, поддержка, безопасность — а не по вкусу
  • Объясняет выбор между trunk-based и GitFlow для своей команды

Практика. Отревьюить 10 чужих pull request с письменными замечаниями и разобрать с автором самые спорные.

Командная строка Основа

Junior
  • Перемещается по файловой системе, создаёт, копирует и удаляет файлы без файлового менеджера
  • Находит строку в сотне файлов через grep и считает совпадения пайпом
  • Задаёт переменные окружения и объясняет, почему команда «не найдена» (PATH)
  • Заходит на сервер по SSH-ключу и смотрит логи сервиса через tail -f

Практика. Неделю работать с проектом только из терминала — запуск, тесты, Git, поиск по коду, просмотр логов — и записать 20 команд, которые пригодились.

Алгоритмы и сложность Основа

Junior
  • Оценивает сложность своего кода в O-нотации, включая вложенные циклы и операции со словарём
  • Объясняет, как работают быстрая сортировка и сортировка слиянием, и что такое устойчивость
  • Пишет бинарный поиск без ошибок на границах
  • Решает задачи на два указателя и скользящее окно уровня easy

Практика. Решить 30 задач уровня easy на массивы, строки, хеш-таблицы и бинарный поиск, у каждой записать сложность.

Middle
  • Решает задачи уровня medium на графы (BFS, DFS), рекурсию и динамическое программирование
  • Проговаривает решение вслух, оценивает сложность и проверяет граничные случаи до запуска

Практика. Решить 40 задач уровня medium и пройти 2 пробные алгоритмические секции по 45 минут с решением вслух.

Структуры данных Основа

Junior
  • Выбирает между списком, словарём и множеством по нужным операциям и их сложности
  • Объясняет устройство хеш-таблицы — хеш, коллизии, расширение — и почему ключ неизменяемый
  • Применяет стек и очередь в задачах (скобки, обход в ширину)

Практика. Реализовать с нуля хеш-таблицу с цепочками и расширением и сравнить скорость со встроенным словарём.

Middle
  • Использует кучу для топ-K и приоритетных очередей
  • Объясняет амортизированную сложность и устройство B-дерева в индексах баз данных

Практика. Решить задачу «топ-10 самых частых запросов из потока на миллион строк» с кучей, оценить память и время.

2 этап Математика

Линейная алгебра Основа

Junior
  • Выполняет операции с векторами и матрицами в NumPy и объясняет их смысл для данных
  • Объясняет скалярное произведение и косинусное сходство

Практика. Реализовать линейную регрессию в матричной форме на NumPy и сравнить с scikit-learn.

Middle
  • Объясняет собственные векторы и SVD и их связь с PCA и рекомендательными системами

Практика. Реализовать PCA через SVD на NumPy и сжать изображение, сравнив качество при разном числе компонент.

Анализ и оптимизация Основа

Junior
  • Объясняет производную и градиент и шаг градиентного спуска
  • Объясняет влияние learning rate на сходимость

Практика. Реализовать градиентный спуск для линейной регрессии и построить кривую потерь при трёх значениях шага.

Middle
  • Выводит градиент функции потерь логистической регрессии
  • Объясняет цепное правило в обратном распространении и оптимизаторы с моментом и Adam

Практика. Вывести градиент логистической регрессии и реализовать её обучение на NumPy с проверкой градиента численно.

Вероятность Основа

Junior
  • Объясняет основные распределения — нормальное, биномиальное, Пуассона — и где они встречаются
  • Считает условную вероятность и применяет теорему Байеса

Практика. Смоделировать распределения в NumPy и сравнить выборочные характеристики с теоретическими.

Middle
  • Объясняет метод максимального правдоподобия и связь с функциями потерь

Практика. Вывести кросс-энтропию из правдоподобия бинарной модели и объяснить на примере.

3 этап Python для данных

NumPy и pandas Основа

Junior
  • Загружает, фильтрует, группирует и объединяет таблицы в pandas
  • Обрабатывает пропуски и типы данных

Практика. Провести анализ открытого датасета поездок такси — очистка, агрегации, объединение со справочником.

Middle
  • Пишет векторизованный код вместо циклов и apply
  • Работает с временными рядами в pandas — ресемплинг, скользящие окна
  • Обрабатывает данные больше памяти по частям или в Polars и DuckDB

Практика. Ускорить медленный скрипт обработки на pandas минимум в 10 раз векторизацией и сравнить с Polars.

Senior
  • Обрабатывает данные, не помещающиеся на одну машину, в Spark или аналоге и оптимизирует такие расчёты

Практика. Перенести расчёт признаков на сотни миллионов событий в Spark и сократить время расчёта, разобрав план выполнения.

Разведочный анализ и визуализация Основа

Junior
  • Проводит EDA нового датасета — структура, пропуски, выбросы, распределения, связи
  • Строит понятные графики в matplotlib или seaborn

Практика. Провести EDA открытого датасета и оформить ноутбук с 10 выводами и графиками.

Middle
  • Находит проблемы сбора данных и потенциальные утечки на этапе EDA
  • Представляет выводы заказчику графиками, ведущими к решению

Практика. Подготовить для заказчика 5-слайдовую презентацию выводов из EDA с рекомендациями.

4 этап SQL для анализа данных

SQL и реляционные базы Основа

Junior
  • Пишет запросы с фильтрами, сортировкой, JOIN и GROUP BY
  • Проектирует таблицы для пользователей, диалогов и сообщений с внешними ключами
  • Использует параметризованные запросы и объясняет, как они защищают от SQL-инъекций

Практика. Спроектировать схему БД для чат-ассистента (пользователи, диалоги, сообщения, оценки ответов) и написать 5 запросов для аналитики диалогов.

Middle
  • Находит медленный запрос через EXPLAIN и ускоряет его индексом
  • Объясняет транзакции и выбирает уровень изоляции для конкурентных обновлений
  • Хранит эмбеддинги в PostgreSQL с pgvector рядом с обычными данными

Практика. Добавить в схему pgvector-таблицу фрагментов документов с фильтром по правам доступа, замерить время поиска до и после индекса HNSW.

Аналитический SQL Основа

Junior
  • Пишет запросы с оконными функциями — ранги, накопительные суммы, LAG и LEAD
  • Выбирает топ-N в каждой группе и удаляет дубли

Практика. Решить 20 задач на оконные функции на учебной базе заказов.

Middle
  • Считает когортный retention, воронки и сессии на SQL
  • Находит ошибки размножения строк при JOIN и проверяет результаты запросов

Практика. Посчитать на SQL когортный retention, воронку покупки и среднюю длительность сессии по таблице событий.

5 этап Статистика и эксперименты

Проверка гипотез Основа

Junior
  • Объясняет p-value, уровень значимости и доверительный интервал без типичных ошибок
  • Выбирает среднее или медиану для описания данных

Практика. Проверить гипотезу о различии средних двух групп t-тестом и бутстрапом и объяснить результат.

Middle
  • Объясняет ошибки первого и второго рода и мощность теста
  • Применяет бутстрап для метрик без удобного распределения

Практика. Смоделировать в Python ошибки первого и второго рода для разных размеров выборки и построить кривую мощности.

A/B-тесты Основа

Junior
  • Проектирует A/B-тест — гипотеза, метрика, единица рандомизации, критерий

Практика. Описать дизайн A/B-теста новой кнопки оформления заказа с метриками и критериями.

Middle
  • Рассчитывает размер выборки и длительность теста
  • Находит проблемы — подглядывание, SRM, множественные сравнения, эффект новизны
  • Анализирует метрики-отношения дельта-методом или бутстрапом

Практика. Проанализировать результаты учебного теста с проверкой SRM и анализом среднего чека бутстрапом.

Senior
  • Ускоряет эксперименты снижением дисперсии (CUPED) и выстраивает процесс экспериментов в компании

Практика. Применить CUPED к данным теста и показать сокращение необходимой длительности.

Причинный вывод без эксперимента Основа

Middle
  • Оценивает эффект изменения без A/B-теста методом разности разностей
  • Объясняет смещение отбора и почему корреляция не даёт причинности

Практика. Оценить эффект запуска функции в одном городе разностью разностей с проверкой параллельных трендов.

Senior
  • Выбирает метод причинного вывода под ситуацию и честно оценивает его допущения
  • Строит uplift-модели для выбора, на кого воздействовать

Практика. Построить uplift-модель на открытом датасете кампании и сравнить с моделью отклика по выгоде.

6 этап Основы машинного обучения

Валидация и переобучение Основа

Junior
  • Делит данные на обучающую, валидационную и тестовую выборки и объясняет зачем
  • Распознаёт переобучение по кривым обучения

Практика. Обучить модель с разными глубинами дерева и построить кривые ошибки на обучении и валидации.

Middle
  • Выбирает схему валидации — стратифицированную, групповую, по времени — под задачу
  • Находит утечки данных в признаках и в схеме валидации
  • Объясняет компромисс смещения и разброса

Практика. Найти и исправить утечку в учебном соревновательном решении, показав разницу в оценке до и после.

Senior
  • Проектирует схему валидации для нестандартной задачи (несколько горизонтов, иерархия, сдвиг распределения) и защищает её перед командой

Практика. Спроектировать валидацию для прогноза спроса по тысячам товаров с разными горизонтами и проверить, что офлайн-оценка совпадает с результатом на отложенном периоде.

Метрики качества Основа

Junior
  • Считает precision, recall, F1, MAE и RMSE и объясняет их смысл

Практика. Посчитать метрики классификатора вручную по матрице ошибок и сверить с scikit-learn.

Middle
  • Выбирает метрику и порог по стоимости ошибок бизнеса
  • Объясняет, когда ROC-AUC обманывает и нужен PR-AUC
  • Работает с несбалансированными классами

Практика. Выбрать порог модели оттока, максимизирующий прибыль при заданной стоимости удержания и потерь.

Senior
  • Согласует с бизнесом метрику успеха модели и её связь с деньгами до начала разработки

Практика. Для модели скоринга подготовить с заказчиком документ метрик — офлайн-метрика, порог, бизнес-эффект, критерий остановки.

Признаки Основа

Junior
  • Кодирует категориальные признаки и масштабирует числовые там, где это нужно модели

Практика. Подготовить признаки для табличного датасета в Pipeline scikit-learn с кодированием и масштабированием.

Middle
  • Строит признаки из предметной области и истории без утечки будущего
  • Применяет target encoding корректно внутри фолдов
  • Отбирает признаки по валидации и важности

Практика. Улучшить базовую модель на соревновательном датасете только за счёт признаков и задокументировать вклад каждого.

Senior
  • Организует переиспользование признаков между моделями (feature store) и контроль их совпадения при обучении и в работе

Практика. Спроектировать хранилище признаков для трёх моделей с пакетным и онлайн-расчётом и проверкой расхождений.

7 этап Модели машинного обучения

Линейные модели Основа

Junior
  • Обучает линейную и логистическую регрессию и интерпретирует коэффициенты

Практика. Построить модель цены квартир линейной регрессией с интерпретацией коэффициентов.

Middle
  • Объясняет регуляризацию L1 и L2 и её влияние на веса
  • Объясняет, почему логистическая регрессия выдаёт вероятность и что такое калибровка

Практика. Сравнить L1, L2 и ElasticNet на данных с множеством коррелированных признаков и объяснить отличия весов.

Деревья, ансамбли и бустинг Основа

Junior
  • Объясняет, как строится дерево решений и чем случайный лес отличается от бустинга

Практика. Сравнить дерево, случайный лес и бустинг на табличном датасете по качеству и времени обучения.

Middle
  • Обучает и настраивает бустинг с ранней остановкой и выбирает между XGBoost, LightGBM и CatBoost
  • Объясняет ключевые гиперпараметры бустинга и их влияние на переобучение

Практика. Настроить LightGBM или CatBoost на соревновательном датасете с кросс-валидацией и ранней остановкой, обыграв базовую линию.

Senior
  • Доводит бустинг до продакшена с ограничениями по задержке и памяти — упрощение модели, квантизация признаков, дистилляция

Практика. Ускорить предсказание бустинга в 5 раз при потере качества не более 1% и описать выбранные компромиссы.

Обучение без учителя Основа

Junior
  • Кластеризует данные k-means и выбирает число кластеров

Практика. Сегментировать клиентов k-means по поведенческим признакам и описать сегменты для бизнеса.

Middle
  • Применяет PCA и UMAP и объясняет ограничения визуализации
  • Ищет аномалии с разметкой и без неё

Практика. Найти аномальные транзакции Isolation Forest и сравнить с моделью на размеченных данных по PR-AUC.

Подбор гиперпараметров и интерпретация Основа

Middle
  • Подбирает гиперпараметры байесовской оптимизацией с кросс-валидацией без переобучения на валидации
  • Объясняет предсказания модели через SHAP

Практика. Подобрать параметры бустинга в Optuna и построить SHAP-объяснения для пяти предсказаний.

Senior
  • Объясняет модель нетехническому заказчику и регулятору, понимая ограничения методов интерпретации

Практика. Подготовить для заказчика объяснение модели кредитного скоринга с ограничениями и рисками.

8 этап Прикладные задачи

Временные ряды и прогнозирование Основа

Middle
  • Строит прогноз с базовой линией и обыгрывает её моделью
  • Валидирует прогноз по времени скользящим окном и выбирает бизнес-метрику ошибки
  • Строит лаговые и календарные признаки без утечки горизонта

Практика. Спрогнозировать продажи магазинов на открытом датасете на 4 недели вперёд, сравнив сезонный наивный прогноз, ETS и бустинг.

Senior
  • Строит иерархический или вероятностный прогноз и доводит его до решений о запасах или мощностях

Практика. Сделать вероятностный прогноз спроса и рассчитать по нему страховой запас с оценкой потерь от нехватки и излишков.

Рекомендательные системы Полезно знать

Middle
  • Строит двухэтапную рекомендательную систему — кандидаты и ранжирование
  • Оценивает рекомендации офлайн-метриками ранжирования с валидацией по времени

Практика. Построить рекомендации фильмов на MovieLens — ALS для кандидатов и бустинг для ранжирования, сравнить NDCG@10 с популярным.

Тексты Полезно знать

Middle
  • Строит классификатор текстов с базовой линией на TF-IDF и улучшает его эмбеддингами или энкодером
  • Выбирает между классическим ML, дообученным энкодером и LLM по разметке и стоимости

Практика. Классифицировать отзывы на русском тремя способами — TF-IDF, эмбеддинги, LLM с примерами — и сравнить качество и стоимость.

9 этап Глубокое обучение

Нейросети и обучение Основа

Junior
  • Объясняет устройство полносвязной сети, функции активации и функцию потерь
  • Описывает градиентный спуск и обратное распространение ошибки на уровне идеи
  • Объясняет, что происходит при слишком большом и слишком маленьком learning rate

Практика. Обучить небольшую сеть в PyTorch на MNIST, построить кривые обучения при трёх значениях learning rate и объяснить разницу.

Трансформеры и внимание Основа

Junior
  • Объясняет идею механизма внимания и почему трансформер обрабатывает контекст целиком
  • Отличает модели-декодеры (генерация) от энкодеров (эмбеддинги, классификация)

Практика. Разобрать «The Illustrated Transformer» и пересказать путь одного токена через слой трансформера своими словами.

Middle
  • Объясняет квадратичную стоимость внимания и её связь с ценой длинного контекста
  • Читает описание архитектуры модели (слои, головы, размер контекста) и делает выводы о памяти и скорости

Практика. Посчитать память под веса и KV-кэш для открытой модели на 8 млрд параметров при контексте 32 тысячи токенов.

PyTorch на практике Основа

Middle
  • Пишет цикл обучения в PyTorch с DataLoader, валидацией и сохранением лучшей модели
  • Дообучает предобученную модель (ResNet, BERT) на своей задаче

Практика. Дообучить предобученную модель изображений на своём наборе из 5 классов и добиться заданной точности с аугментациями.

LLM для data scientist Полезно знать

Middle
  • Использует LLM для разметки и извлечения структурированных данных с проверкой качества
  • Использует эмбеддинги текстов как признаки в табличных моделях

Практика. Разметить 2000 текстов LLM, проверить качество на 200 ручных метках и обучить на разметке маленькую модель.

10 этап Продуктовая аналитика

Продуктовые метрики Основа

Junior
  • Объясняет DAU, MAU, retention, конверсию и ARPU и считает их

Практика. Посчитать основные продуктовые метрики по логу событий приложения.

Middle
  • Строит дерево метрик от North Star до управляемых метрик команды
  • Объясняет юнит-экономику — LTV, CAC, окупаемость

Практика. Построить дерево метрик для сервиса доставки и выбрать метрики для трёх команд.

Senior
  • Определяет стратегию метрик продукта и согласует её с руководством

Практика. Предложить и защитить перед руководством систему метрик нового продукта с North Star и ограничивающими метриками.

Аналитические кейсы Основа

Middle
  • Разбирает падение метрики по шагам — данные, сегменты, внешние факторы, изменения продукта
  • Принимает решение при противоречивых метриках теста

Практика. Разобрать 3 кейса «метрика упала» письменно по единой структуре.

Senior
  • Ведёт обсуждение с продуктом и защищает рекомендацию данными

Практика. Провести с продуктом разбор результатов эксперимента с противоречивыми метриками и зафиксировать решение.

11 этап Модели в продакшене

Воспроизводимость и эксперименты Основа

Junior
  • Фиксирует окружение, сиды и версии данных так, чтобы эксперимент повторялся

Практика. Сделать эксперимент из ноутбука воспроизводимым — фиксированное окружение, сиды, скрипт запуска.

Middle
  • Ведёт эксперименты в MLflow с параметрами, метриками и артефактами
  • Переносит код из ноутбука в модули с тестами и конфигурацией

Практика. Перенести обучение модели в пайплайн с MLflow, реестром моделей и конфигурацией.

Senior
  • Вводит стандарты экспериментов и воспроизводимости для команды data science

Практика. Описать и внедрить в команде шаблон проекта, правила версионирования данных и моделей и ревью экспериментов.

Docker Основа

Junior
  • Пишет Dockerfile для Python-сервиса и запускает его с переменными окружения
  • Поднимает сервис вместе с PostgreSQL через docker compose
  • Объясняет разницу между образом и контейнером, томом и bind mount

Практика. Упаковать FastAPI-сервис с RAG в контейнер, поднять вместе с PostgreSQL и pgvector через compose.

Middle
  • Уменьшает образ multi-stage сборкой и кэшем слоёв зависимостей
  • Настраивает корректную остановку (SIGTERM) и healthcheck
  • Не допускает секретов в образе и запускает контейнер не от root

Практика. Уменьшить образ сервиса минимум вдвое, добавить healthcheck и graceful shutdown, проверить, что незавершённые запросы к модели дорабатывают при остановке.

Внедрение и мониторинг моделей Основа

Middle
  • Внедряет модель пакетным расчётом или сервисом на FastAPI в Docker
  • Отслеживает дрейф признаков и качество модели с учётом задержки разметки

Практика. Развернуть модель сервисом на FastAPI в Docker и настроить отчёт о дрейфе признаков.

Senior
  • Проектирует жизненный цикл модели — переобучение, A/B-проверку новой версии, откат

Практика. Описать и реализовать процесс выкатки новой версии модели через теневой режим и A/B-тест.

12 этап ML system design

ML system design Основа

Senior
  • Проводит секцию ML system design — бизнес-задача, постановка, данные, метрики, модель, инфраструктура, эксперимент, мониторинг
  • Ведёт DS-проект от постановки до внедрения с измеримым эффектом
  • Определяет, где ML не нужен и задачу решают правила или аналитика

Практика. Разобрать письменно 3 задачи ML system design (отток, рекомендации, антифрод) по единой структуре и пройти пробное собеседование.

13 этап Командные и лидерские навыки

Технические решения Основа

Middle
  • Предлагает минимум два варианта решения задачи с плюсами и минусами
  • Проверяет спорное решение прототипом или замером, а не мнением

Практика. Для ближайшей задачи средней сложности описать два варианта реализации с критериями выбора и обсудить с тимлидом до начала работы.

Senior
  • Пишет design doc для крупной задачи и проводит его обсуждение с командой
  • Фиксирует архитектурные решения (ADR) с причинами и условиями пересмотра
  • Различает обратимые и необратимые решения и тратит время пропорционально

Практика. Написать design doc для крупной задачи (контекст, варианты, расчёты, риски, план), провести ревью с командой и зафиксировать итог в ADR.

Ведение задач до результата Основа

Middle
  • Разбивает задачу на части по 1–3 дня и даёт оценку диапазоном с допущениями
  • Сообщает об отставании сразу, с причиной и вариантами

Практика. Для задачи на 2–3 недели составить декомпозицию, оценку диапазоном и список рисков, по завершении сравнить план и факт.

Senior
  • Ведёт проект из нескольких задач и людей до выкатки и измерения эффекта
  • Снимает главные риски в начале проекта и выпускает результат частями
  • Сам доводит неясную задачу до понятной постановки вместе с заказчиком

Практика. Провести проект на 1–2 месяца с 2–3 участниками — план с контрольными точками, еженедельный статус заказчику, выкатка по частям, разбор итогов.

Рост коллег и менторство Основа

Middle
  • Вводит в работу нового сотрудника и объясняет на ревью не только что, но и почему
  • Поддерживает документацию по своей части системы в актуальном виде

Практика. Провести онбординг нового сотрудника или стажёра и обновить по его вопросам документацию для новичков.

Senior
  • Ведёт подопечного по плану развития с измеримым результатом
  • Распространяет знания на команду — внутренние доклады, разборы, гайды
  • Снижает зависимость команды от себя как единственного эксперта

Практика. Полгода наставлять младшего коллегу по письменному плану с ежемесячными встречами и измеримой целью; провести 2 внутренних доклада.

Коммуникация с бизнесом и командой Основа

Middle
  • Объясняет техническую проблему и её последствия неспециалисту без жаргона
  • Решает рабочие разногласия обсуждением фактов, а не позиций

Практика. Подготовить для продакта одностраничное описание технического долга в своей области — что это стоит бизнесу и что предлагаете.

Senior
  • Влияет на решения продукта аргументами о стоимости, рисках и пользе
  • Выполняет принятое решение, с которым не согласен, зафиксировав риски
  • Представляет результат работы руководству в цифрах эффекта

Практика. Подготовить и провести презентацию результатов проекта для руководства — эффект, затраты, риски, следующие шаги.

Участие в найме Полезно знать

Senior
  • Проводит техническое собеседование по заранее заданным критериям и задаче
  • Пишет отзыв по критериям с примерами из ответов кандидата
  • Участвует в калибровке оценок с другими интервьюерами

Практика. Провести 5 собеседований в паре с опытным интервьюером, затем 5 самостоятельно, сравнить свои оценки с итоговыми решениями.

← Карта «Data Scientist»

Закрытая бета

План есть — пора на собеседование

sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем