Я проанализировал 100 вакансий Python-разработчиков. Вот что требуют работодатели.
Я снова вернулся. На этот раз я взял 100 реальных вакансий Python-разработчиков — с Hh, Хабр Карьеры и LinkedIn — и разобрал их по косточкам. Мне было важно понять одно: что на самом деле нужно работодателю, когда он пишет «Python-разработчик»? И есть ли среди этих требований место для джуниора?
Спойлер: место есть, но его нужно искать. И я расскажу, как именно.
Я проанализировал 100 вакансий: 60 с Hh, 25 с Хабр Карьеры и 15 с LinkedIn. Отбирал только те, где в названии было «Python» или «Python-разработчик». Junior-вакансий среди них было всего 12. Остальные — Middle и Senior. Это уже о многом говорит.
Что требуется почти всегда
Три навыка встречаются в подавляющем большинстве вакансий. Без них даже не стоит откликаться.
Python. Очевидно, но уточню: не «знаю синтаксис», а уверенное владение. В 94 из 100 вакансий Python указан как основной язык. При этом в половине случаев требуют не просто Python, а Python 3.10+ с пониманием async/await.
SQL. В 78 вакансиях. Причём не только «знание SQL», а умение писать сложные запросы, работать с JOIN, индексами и оптимизацией. PostgreSQL упоминается в 52 вакансиях, MySQL — в 11, остальные — ClickHouse, MS SQL, SQLite.
Git. В 91 вакансии. Это уже гигиенический минимум. Если вы не умеете работать с ветками и pull request, вас не возьмут даже джуном.
Фреймворки: Django или FastAPI?
Здесь рынок разделился почти пополам. Django и Django REST Framework встречаются в 44 вакансиях. FastAPI — в 39. Flask — в 14. Многие компании требуют знание обоих, особенно если это продуктовые команды.
Интересный момент: FastAPI обгоняет Django в вакансиях для стартапов и продуктовых компаний, которые пишут новые сервисы с нуля. Django чаще встречается в крупных компаниях с legacy-кодом и в проектах, где важна админка и быстрый старт.
Вывод для джуна: учите Django как базу, но обязательно добавляйте FastAPI. Это даёт +30% к релевантности вашего резюме.
Docker — не опция, а требование
В 67 вакансиях. Docker перестал быть «плюсом». Это требование. Причём не просто «знаю, что такое контейнер», а умение писать Dockerfile, работать с docker-compose и понимать, как деплоить приложение.
Kubernetes встречается в 23 вакансиях, в основном для Middle и Senior. Для джуна это не обязательно, но если вы разберётесь с основами K8s — это выделит вас среди других кандидатов.
CI/CD упоминается в 41 вакансии. GitLab CI, GitHub Actions, Jenkins. Достаточно понимать принципы и уметь настроить простой пайплайн.
Асинхронность: почти must have
В 56 вакансиях есть требование «понимание асинхронного программирования». Это asyncio, async/await, работа с асинхронными библиотеками. Для FastAPI это критично, для Django — полезно.
Раньше асинхронность была фишкой сеньоров. Сейчас это базовое требование для любого Python-разработчика, который работает с высоконагруженными сервисами.
Тестирование: pytest и не только
В 49 вакансиях. pytest упоминается в 38, unittest — в 12. Для джуна достаточно уметь писать базовые тесты. Но если вы покажете, что умеете писать тесты с фикстурами, моками и параметризацией — это большой плюс.
Что ещё требуют
Redis — 34 вакансии. Используется для кэширования, очередей, сессий. Для джуна достаточно понимать, зачем он нужен.
Linux — 45 вакансий. Не «пользовался Ubuntu», а умение работать с командной строкой, понимать права доступа, процессы, логи.
REST API — 61 вакансия. Это база. Если вы не понимаете, как проектировать API, — сначала изучите это, потом откликайтесь.
Английский — 38 вакансий. Обычно достаточно Intermediate для чтения документации. Для удалёнки в международные компании — Upper-Intermediate и выше.
Что НЕ требуют (вопреки мифам)
Алгоритмы и структуры данных в глубоком виде требуют только в 19 вакансиях, и это в основном крупные компании с собственными собеседованиями. Для большинства позиций достаточно базового понимания.
Высшее образование требуют в 28 вакансиях. Это уже не обязательное условие, особенно для удалённых позиций и стартапов.
Что это значит для джуна
Рынок требует много. Но не всё сразу. Если вы джун, ваш минимальный набор выглядит так:
- Python: уверенно, с OOP и async/await.
- Django или FastAPI: один из них — хорошо, оба — отлично.
- PostgreSQL: базовые запросы, JOIN, понимание индексов.
- Docker: уметь написать Dockerfile и поднять контейнер.
- Git: ветки, merge, pull request.
- REST API: понимать, как устроено, уметь описать эндпоинты.
- pytest: уметь написать простой тест.
Это тот минимум, с которым можно откликаться на junior-вакансии. Всё остальное — Redis, Kubernetes, CI/CD, Linux — приходит с опытом. Но если вы покажете в pet-проекте, что разбираетесь хотя бы на базовом уровне, это выделит вас среди других кандидатов.
Главный вывод
Я проанализировал 100 вакансий и увидел то, что вижу каждый день. Джуну сложно. Но возможно. Рынок требует много, но он же и даёт подсказки: какие навыки учить, в каком порядке и что показывать в портфолио.
Я создал «Джунгли», чтобы этот путь был чуть проще. Там я собираю вакансии и заказы, которые реально подходят начинающим. Без «опыт от 3 лет». Без «знание Kubernetes обязательно». Только то, что можно взять и сделать первым шагом.
Если вы джун и ищете первую работу или заказ для портфолио — заходите. Если вы просто хотите понять, что учить дальше — там тоже будет полезно.
👉 Telegram-канал «Джунгли»: t.me/jungli_jobs
Подписывайтесь, чтобы не пропустить вакансии и заказы для Junior.