В Коммунарке начинается осень, значит пришло время пересмотреть Бегущего (теперь уже два), открыть бутылочку Амаретто и написать следующую статью про всеми любимый Python. В данном случае поговорим о том, сколько на самом деле у нас вакансий на Python для веб-разработчиков.
Коварность Python и его обманчивый маркетинг
В многочисленных рекламных буклетах про обучение Python приводятся какие-то безумные цифры про то, сколько сейчас на рынке требуется Python-разработчиков. И если открыть hh.ru и вбить туда что-то типа python, приплюсовать туда python вакансии с хабр-карьеры и различных пабликов телеги по ремоут работе, то дейсвительно получается серьезная цифра. Которая так и говори: «Глупец, беги скорее учи Python, осваивай мощь бескобочного программирования».
Но как всегда есть небольшой нюанс, который полностью меняет все - Python, чертовски вездесущий язык, который словно сущий макро терран, захватывает все области, где его хоть как-то можно использовать. Как итог, вакансии на Python у нас есть в области:
Backend
DevOps
QA-Manual/QA-Automation
GameDev
Mobile Dev
Data Science
Computer vision
Web Scraping
Desktop dev
Embedded dev
И еще что-то 100%
И фишка заключается в том, что если человек занимается Backend разработкой на Python, то он не может просто так взять и пойти работать Data Science на Python, так как это две совершенно разные отрасли, где требуется специфичный опыт и огромный пласт отличных знаний.
Веб-разработчику на Python проще освоить веб-разработку на условном php, чем освоить Data Science на том же Python. Специализация первична, язык вторичен.
Посчитаем вакансии для веб-разработчика на Python
Для беглого анализа мы возьмем всеми любимый hh.ru, где посчитаем python вакансии в Москве. Почему именно в Москве, когда у нас эпоха удаленки? Потому что это самая большая локация в РФ, которая достаточно хорошая показывает общую картину на рынке.
1) 6376 вакансий в Москве, где в ключевиках используется слово Python.
Конечно, тут огромное число нерелевантных вакансий, так как python могут указать даже в неайтишных вакансиях между делом. Поэтому давайте сократим выборку до веб-разработки. Сделать это мы сможем с помощью поиска по веб-фреймворкам из экосистемы python. Конечно, мы можем пропустить несколько вакансий, где используется какой-то кастом, но это буквально несколько штук.
2) Поиск по веб-фреймворкам
Django - 491 - вакансии
Flask - 324 - вакансии
aiohttp - 126 вакансии
Tornado - 50 вакансии
Twisted - 9 вакансии
Итого: 1000 вакансий (реально, я не подбивал циферку =) )
3) Выглядит неплохо, но теперь проведем расширенный поиск по ключивикам, чтобы выделить уникальные вакансии по каждому фремворку, которые не входят в более крупное множество.
Django - 491 - вакансии
Flask - 126 - вакансии
aiohttp - 51 вакансии
Tornado - 13 вакансии
Twisted - 1 вакансии
Итого: 682 вакансий
4) Уже лучше, удивляет, что кому-то еще нужны программисты на поддержку twisted, но да ладно. Дальше нам нужно очистить вакансии от мусора, когда python добавляют в качестве догрузки.
Нам нужен Java (Spring) разработчик, но если вы знаете python, django или имели грамоту за участие в кружке «умелые ручки» - это будет плюсом.
Django - 426 - вакансии
Flask - 119 - вакансии
aiohttp - 48 вакансии
Tornado - 12 вакансии
Twisted - 1 вакансии
Итого: 606 вакансий
Получается, что хотя в Москве 6,3к вакансий, где упоминается python, уникальных и целевых для веб-разработчика на python 606. Это неплохая цифра, но это не те тысячи вакансий, на которых ждут людей, которые закончили курсы.
А если из этого пула убрать все вакансии для middle/senior разработчиков и оставить те, на которые теоретически может податься джун, то цифра становится меньше сотни.
А что на других стеках
И так, неочищенные данные по python, django - у нас 491
java, spring - 1725
Php, symfony - 425
Php, laravel - 524
C#, net - 1197
Ruby, ROR - 402
Другими словами, хотя везде говорят, как python востребован и популярен, на самом деле смежные стеки показывают цифры не хуже python, а если говорить про java и .net сильно лучше.
Комментарии (29)
builder8
16.09.2021 08:41+1Для каждого применения свой инструмент, Python хорош для работы с данными и математикой, вот и пусть работает с данными и математикой. Если затраты на обёртку этого как веб сервиса затратны, то проще допилить web нем , если нет, то есть свои инструменты для этого. Делать блог на Python по моему мнению лишнее, как и делать машинное зрение на PHP.
shpaker
16.09.2021 09:38Делать блог на Python по моему мнению лишнее
Но почему? )) Питон прекрасно ложиться на web и это внесло не малый вклад в его популярность наравне с датасаинсом.
DigitalBerd
16.09.2021 14:13Всё верно написано: Python лучше всего себя показывает в работе с данными.
Но в чём вся его прелесть: раньше я не изучал бэкенд разработку, но простенький REST API смог сделать буквально за 2-3 дня, язык то я уже знаю.
Очень низкий порог входа и легко переучиваться...
12rbah
16.09.2021 08:58+2Одна из популярных вакансий — это преподаватель на питоне для школьников, туда можно устроиться студентом без опыта.
tmnhy
16.09.2021 09:11+8Делать блог на Python по моему мнению лишнее
Например, почему? Шаблонизаторы есть, web-серверы и фреймворки есть. Хочешь, делай «классический» бэк на шаблонах, хочешь API (json, REST, graphql, ws и т.д.). Что не так?
iiwabor
16.09.2021 10:15+2Если посчитать действительно реальные вакансии на которые возьмут джуна, то это будет чуть больше 0. И это не только в Питоне, но и в других языках тоже
oOKIBrTlUTohw4Sc
16.09.2021 10:29Дык а зачем вакансии на джуна, джуны сами все найдут и сами закидают резюме. Можно просто на синьора выложить вакансию, полюбому прилетят резюме и джунов в комплекте. Ну вернее не джунов, а "курсы я закончил, где мои стотыщ?"
Но если с головой все в порядке, думаю многие компании не откажутся взять толкового спеца в помощь за недорого, даже если вакансии нет. Но это не уровень курсов, да.
П.с. забавно, автозамена хочет заменить "джуны" на "дауны"
Casus
16.09.2021 10:27Но мой взгляд с питоном слишком много что не так.
Конкретно с вебом, нет дефакто стандарт фреймворка. Тоесть если идёт речь о разработке n продуктов в n командах, компании проще взять что то типа symfony или spring который покроет 95% требований. С тем же джанго, каждая команда будет собирать свой стек.
defaultvoice
16.09.2021 10:34А как же django?
Casus
16.09.2021 10:57Неуверен что есть смысл сравнивать, там пропасть в зрелости экосистем. В symfony/spring думать особо не надо - все решено и описано в доках. И речь не только о web reqest/response. Я в целом, дб миграции, scaffolding, модульность и т.д.
DMGarikk
16.09.2021 10:45-1или spring который покроет 95% требований
и разработка займёт на 50% больше времени, ага
==
и да, а какже django+drf и flask?Casus
16.09.2021 10:52За то время на дальнейшую разработку и поддержку окупят сполна затраты на началный сетап.
Вы давно заглядывали в доки фласка? Вы серьезно предлагаете это для компаний с ~100 разрабами?
Как там CLI командами? Typehints, ORM, IoC...
DMGarikk
16.09.2021 11:04+1Ну я как бывший когдато java-разработчик, не могу с вами не согласится. и работая сейчас python-бэком я уже успел насмотрется на крупные проекты (в т.ч. со 100 разрабами)… и то как с какогото момента начинают и типы прикручивать и подобие IoC…
и основная проблема почему сейчас берут python — это скорость старта и простота поиска разрабов
елси стоит задача 'запустить сервис прямщас… и мы команду в течении полугода постараемся набрать'… то на яве только обвязку архитектуры в сокращенной команде вы будете месяца два писать… а на питоне за месяц уже mvp можно выкатить, да корявый, но он будет работать уже
и бизнесу такой подход оч оч нравится.
а то что программерам не нравится — так их никто и не спрашивает особо
Я уже как минимум два проекта видел перешедших на 'питончик', один с явы другой с руби… во многом потому что народ устал искать разработчиков… а работа стоитCasus
16.09.2021 18:52+1Бизнес требования часто важнее технических. А бизнес зависит от рынка. Все так.
Забавно что в моем городе, еще лет 8-10 назад ситуация была с точностью на оборот. Проекты на питоне закрывались изза отсутствия разрабов, а те что жили агресивно хантили с других яп.
HiveTyrant89
16.09.2021 11:32SQLAlchemy и flask-sqlalchemy что-то мешает установить? У django своя ORM с миграциями и еще очень много всего интересного, особенно если drf поставить и не программировать на темплейтах.
PyCharm или VSCode с кучей расширений на питон вообще могут все вопросы с IoC и TypeHints закрыть, просто надо не полениться настроить все нормально. Один раз настраивает синьор или лид (если берется джун, как в статье), время почти не тратится. А можно так вообще все устанавливать на иксы через баш скрипт автоматически при выдачи компьютера, если 100+ разрабов с текучкой в джунах. было бы желание.
И по поводу доков фласки - а что с ними не так? Ну если опустить, что кроме самой фласки понадобится еще с десяток дополнительных модулей от CORS до JWT и ORM, на которые доки лежат в других местах. Но уже через неделю во всем этом зоопарке можно неплохо ориентироваться.
Casus
16.09.2021 18:38Ни где и не утверждал что этого нет или это невозможно. Но и задачи усложнить себе жизнь не было. Зачем решать то что на других платформах нет как проблемы?
С доками у фласка все хорошо, если сравнивать в среднем по питону. Но нет смысла сравнивать с тем же симфони.
Все что вы описали работает для, условно одного разраба, а на 100+ с установкой придёт и поддержка и недовольные и т.д. Подозреваю что реального опыта реализации того что вы предлагаете на 100+, у вас не было?!
GarretThief
16.09.2021 11:29Как итог, вакансии на Python у нас есть в области:
- GameDev
- Mobile Dev
- Desktop dev
- Embedded dev
Разработка в игр и мобилок на практике ограничивается лишь стаковскими вопросами студентов про PyGame и Kivi; про встройки не знаю точно, но из вроде, далеко не на питоне пишут, а любой питоновский десктоп окончательно заканчивается на попытке студента компилировать pyqt-овскую гуишку в ехешник.
Вообще, да, вакансий на питон мало, это чувствуется не только по сухой статистике, но и в обычной жизни. Но тут есть важный момент, что закон спроса-продложения работает не только на спрос, но и на предложение. Есть на рынке десять тысяч питонистов, которые просят в полтора раза меньше джависта из-за большой конкуренции? Будут появляться и новые вакансии специально под питон. И, субъективно, рынок питонистов как раз активно развивается в данный момент.
katletmedown
20.09.2021 23:16Кто ж виноват, что в этой экосистеме комфортно делать все понемногу¯\_(ツ)_/¯
Это удобно для тех, кто интересуется разными отраслями человеческой деятельности, и, вероятно, не слишком удобно для остальных, как раз тут вам на помощь и придут все перечисленные конкуренты.
dopusteam
Python никогда не позиционировался как язык для веба, даже наоборот, странно ограничиваться именно веб разработкой
Плюс, можно было и нормальные источники посмотреть, кому этот хх вообще сдался)
Areso
Критикуешь - предлагай. Автор ваши вкусы по источнику данных вряд ли угадает.
dopusteam
LinkedIn, Хабр Карьера, телеграм чаты, например
Но я скорее имел в виду, что следовало посмотреть не один источник, чтоб объективно было