Понимает базовую сложность алгоритмов O(n), O(n log n), O(n²). Знает основные алгоритмы сортировки и поиска. Применяет знания при выборе структур данных для feature engineering.
Роли · ML Engineer · Junior
Что должен уметь Junior }
25 ключевых навыков, всего 58. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Junior }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Backend Development, API и интеграции.
Ключевые навыки для Junior
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Основы программирования · 4
Пишет читаемый Python-код для ML. Следует PEP 8 и использует black/ruff для форматирования. Пишет docstrings для функций. Понимает важность воспроизводимости в ML.
Понимает базовые концепции ООП в Python: классы, наследование, абстрактные базовые классы, инкапсуляция. Применяет простые принципы SOLID при структурировании кода ML-пайплайнов. Следует командным паттернам классов-обёрток моделей и организации модулей обработки данных.
Знает основные структуры данных: массивы, словари, множества. Использует pandas DataFrame и numpy arrays. Понимает разницу между list и numpy array для ML-задач.
Backend Development · 1
Использует FastAPI/Flask для создания простых ML API endpoints. Понимает request/response lifecycle. Реализует predict endpoint для ML-модели.
API и интеграции · 1
Создаёт CRUD endpoints для ML-сервисов. Использует правильные HTTP-методы и статус-коды. Понимает JSON request/response для ML API. Реализует /predict endpoint.
Облако и инфраструктура · 2
Пишет Dockerfile для ML-проектов. Устанавливает ML-зависимости (PyTorch, scikit-learn) в Docker. Использует docker-compose для локальной ML-разработки. Понимает multi-stage builds.
Понимает базовые концепции Kubernetes для деплоя ML-задач обучения и эндпоинтов сервинга моделей. Следует командам kubectl для проверки статуса подов обучения и выделения GPU-ресурсов. Использует предоставленные командой манифесты для деплоя inference-сервисов с KServe или Seldon.
Тестирование и QA · 1
Пишет unit-тесты для ML-кода: data processing, feature engineering. Использует тестовые инструменты. для ML-проектов. Тестирует input/output shapes и types.
Data Engineering · 4
Понимает основы Apache Spark для ML-инженерии: пайплайны Spark MLlib, трансформеры признаков и распределённое обучение/инференс моделей. Следует командным паттернам для PySpark ML workflow'ов, сериализации моделей и интеграции с MLflow tracking.
Понимает важность data quality для ML. Выполняет базовые проверки: null values, duplicates, distribution shifts. Использует pandas profiling для EDA.
Эффективно использует pandas для ML: загрузка данных, EDA, feature engineering. Знает основные операции: groupby, merge, pivot. Понимает dtypes для оптимизации памяти.
Пишет SQL для извлечения training данных. Понимает ETL для ML: extract features, transform, load в training format. Использует pandas.read_sql для загрузки данных.
Machine Learning и AI · 9
Понимает concept model monitoring: prediction quality, data drift, latency. Настраивает базовые метрики модели (accuracy, latency). Визуализирует model performance.
Логирует ML эксперименты: параметры, метрики, модели. Использует MLflow или W&B для сравнения экспериментов. Понимает важность воспроизводимости.
Обучает baseline модели с scikit-learn: Linear Regression, Logistic Regression, Random Forest. Выполняет cross-validation и train/test split. Использует Pipeline для preprocessing + model.
Понимает concept feature store: online vs offline store, feature reuse. Читает features из Feast для training. Понимает feature freshness и consistency.
Обучает модели XGBoost/LightGBM/CatBoost с дефолтными параметрами. Понимает concept of gradient boosting. Использует feature importance для анализа модели.
Понимает concept ML pipeline: data → features → training → evaluation → deployment. Пишет простые pipeline скрипты. Использует Airflow DAG для basic ML workflow.
Использует MLflow для логирования экспериментов: параметры, метрики, артефакты. Сравнивает эксперименты в MLflow UI. Сохраняет модели через mlflow.log_model.
Деплоит ML-модель как REST API через веб-фреймворк/Flask. Понимает inference pipeline: preprocessing -> prediction -> postprocessing. Использует pickle/joblib для сериализации моделей.
Обучает нейронные сети в PyTorch с использованием nn.Module. Пишет циклы обучения с DataLoader, вычислением loss, backpropagation и шагами оптимизатора. Понимает формы тензоров, управление устройствами (CPU/GPU) и чекпоинтинг моделей. Использует torchmetrics для оценки.
Observability и мониторинг · 1
Добавляет логи в код (info, warning, error). Использует logging framework (logging/winston/logback). Логирует ошибки с traceback/stacktrace.
Контроль версий и коллаборация · 2
Участвует в code review как ревьюи. Понимает feedback от senior разработчиков. Учится писать код по стандартам команды.
Использует Git для ML-проектов: branching, committing, PRs. Знает .gitignore для ML-артефактов (models, data). Понимает basics DVC для data versioning.
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
Что меняется на Middle
42 навыков получают более высокое ожидание или становятся ключевыми при переходе с Junior на Middle. Сначала самые большие скачки.
- Prometheus и Grafana: Осведомлённость → Применение · становится ключевым
- Мониторинг моделей: Осведомлённость → Применение
- Структурированное логирование: Применение → Продвинутый
- Трекинг экспериментов: Осведомлённость → Применение
- Apache Spark: Осведомлённость → Применение
- Classical ML (scikit-learn): Осведомлённость → Применение
- Code Review: Осведомлённость → Применение
- Data Quality: Осведомлённость → Применение
- Docker: Осведомлённость → Применение
- Feature Stores: Осведомлённость → Применение
} в открытой матрице компетенций: 58 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.