Перейти к основному контенту
Tech Path Finder
Junior vs Middle Python: что конкретно надо знать на каждом уровне

Junior vs Middle Python: что конкретно надо знать на каждом уровне

Константин Потапов
28 марта 2026 г.
15 мин
Карьера

Зачем вообще разделять

Путаница в уровнях — одна из главных причин, почему джуниоры застревают. Они либо думают что уже готовы (и получают отказы), либо думают что ещё не готовы (и не откликаются на вакансии). Эта статья даёт конкретные критерии.

Данные собраны из реальных технических интервью и описаний вакансий.


Python: что знает Junior

Типы данных — использует правильно

Junior понимает изменяемость и умеет выбирать структуру под задачу:

ООП — базовое понимание

Функции — уверенно

Что Junior обычно не знает (и это нормально)

  • Метаклассы
  • Протоколы и structural subtyping
  • __slots__ и оптимизации памяти
  • asyncio internals (event loop, Future, Task)
  • Профилирование и оптимизация производительности

Python: что знает Middle

Асинхронность — глубоко

Типизация — продвинутая

Контекстные менеджеры — пишет свои

Производительность — умеет измерять и улучшать


Базы данных

Junior знает

ТемаУровень
SELECT, INSERT, UPDATE, DELETEУверенно
JOIN (INNER, LEFT)Понимает
WHERE, GROUP BY, ORDER BYУверенно
Индексы — что это и зачемБазово
ORM (SQLAlchemy или Django ORM)Базово
Миграции (alembic или django)Запускает команды

Типичный Junior-запрос:

Middle знает

ТемаУровень
Составные индексы, EXPLAIN ANALYZEПонимает
Транзакции и уровни изоляцииОбъясняет
N+1 проблема и её решениеВидит и чинит сам
Window functionsИспользует
Партиционирование таблицЗнает зачем
Connection poolingНастраивает

Middle решает N+1:


Архитектура и паттерны

Junior

  • Знает MVC/MVP на уровне "понимаю зачем"
  • Пишет код в одном файле или слабо организованный
  • Слышал про SOLID, может объяснить S и O
  • Знает Repository Pattern

Middle

  • Применяет SOLID на практике (а не только на словах)
  • Выделяет слои: API → Service → Repository
  • Понимает когда нужен паттерн, а когда он усложняет

Тестирование

Junior

Middle


DevOps и инструменты

Junior должен знать

  • Git: add, commit, push, pull, branch, merge, rebase
  • Docker: написать Dockerfile, запустить docker-compose
  • Linux: ls, cd, cat, grep, ps, kill, chmod
  • Виртуальное окружение: venv или Poetry

Middle должен знать

  • CI/CD: GitHub Actions / GitLab CI — написать пайплайн
  • Docker: multi-stage builds, оптимизация слоёв
  • Мониторинг: логи в структурированном формате (JSON), метрики
  • Kubernetes: базовое понимание (Pod, Deployment, Service)
  • Секреты: как правильно работать с .env, secrets management

Soft skills

АспектJuniorMiddle
Code reviewПринимает замечанияДаёт конструктивный фидбек
ЗадачиВыполняет описанныеУточняет требования, видит edge cases
ПомощьПросит помощиПомогает джунам
ОценкаТеряется с оценкойДекомпозирует и оценивает
Архитектурные решенияСпрашиваетПредлагает и обосновывает

Как понять, что ты готов к Middle

Честный тест — возьми задачу из рабочего проекта и ответь:

  1. Ты видишь проблемы с производительностью до code review, а не после?
  2. Ты сам пишешь тесты, а не только когда просят?
  3. Ты можешь объяснить новому человеку как работает твоя часть системы?
  4. Ты предлагаешь решения, а не только описываешь проблемы?
  5. Ты обоснуешь почему выбрал именно этот паттерн?

Если "нет" на 3+ вопроса — пока Junior. Это не плохо, это точка роста.


Что дальше

На Tech Path Finder можно проверить свой текущий уровень в квизах — курсы разделены по темам, и аналитика показывает конкретно где пробелы. Это лучше, чем гадать "а вдруг я уже Middle?".