В Коммунарке начинается осень, значит пришло время пересмотреть Бегущего (теперь уже два), открыть бутылочку Амаретто и написать следующую статью про всеми любимый 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)


  1. dopusteam
    16.09.2021 08:01
    -4

    Python никогда не позиционировался как язык для веба, даже наоборот, странно ограничиваться именно веб разработкой

    Плюс, можно было и нормальные источники посмотреть, кому этот хх вообще сдался)


    1. Areso
      16.09.2021 08:59
      +4

      Критикуешь - предлагай. Автор ваши вкусы по источнику данных вряд ли угадает.


      1. dopusteam
        16.09.2021 23:14
        -1

        LinkedIn, Хабр Карьера, телеграм чаты, например

        Но я скорее имел в виду, что следовало посмотреть не один источник, чтоб объективно было


  1. builder8
    16.09.2021 08:41
    +1

    Для каждого применения свой инструмент, Python хорош для работы с данными и математикой, вот и пусть работает с данными и математикой. Если затраты на обёртку этого как веб сервиса затратны, то проще допилить web нем , если нет, то есть свои инструменты для этого. Делать блог на Python по моему мнению лишнее, как и делать машинное зрение на PHP.


    1. shpaker
      16.09.2021 09:38

      Делать блог на Python по моему мнению лишнее

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


    1. DigitalBerd
      16.09.2021 14:13

      Всё верно написано: Python лучше всего себя показывает в работе с данными.

      Но в чём вся его прелесть: раньше я не изучал бэкенд разработку, но простенький REST API смог сделать буквально за 2-3 дня, язык то я уже знаю.

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


  1. 12rbah
    16.09.2021 08:58
    +2

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


    1. Areso
      16.09.2021 09:08
      +2

      Да, но там не будет зарплаты "от ста тысяч".


      1. 12rbah
        16.09.2021 11:39

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


  1. danial72
    16.09.2021 09:10

    Питон для мобилки,

    Питон для хардвара

    … лол , никогда


  1. tmnhy
    16.09.2021 09:11
    +8

    Делать блог на Python по моему мнению лишнее

    Например, почему? Шаблонизаторы есть, web-серверы и фреймворки есть. Хочешь, делай «классический» бэк на шаблонах, хочешь API (json, REST, graphql, ws и т.д.). Что не так?


  1. iiwabor
    16.09.2021 10:15
    +2

    Если посчитать действительно реальные вакансии на которые возьмут джуна, то это будет чуть больше 0. И это не только в Питоне, но и в других языках тоже


    1. oOKIBrTlUTohw4Sc
      16.09.2021 10:29

      Дык а зачем вакансии на джуна, джуны сами все найдут и сами закидают резюме. Можно просто на синьора выложить вакансию, полюбому прилетят резюме и джунов в комплекте. Ну вернее не джунов, а "курсы я закончил, где мои стотыщ?"

      Но если с головой все в порядке, думаю многие компании не откажутся взять толкового спеца в помощь за недорого, даже если вакансии нет. Но это не уровень курсов, да.

      П.с. забавно, автозамена хочет заменить "джуны" на "дауны"


  1. Casus
    16.09.2021 10:27

    Но мой взгляд с питоном слишком много что не так.

    Конкретно с вебом, нет дефакто стандарт фреймворка. Тоесть если идёт речь о разработке n продуктов в n командах, компании проще взять что то типа symfony или spring который покроет 95% требований. С тем же джанго, каждая команда будет собирать свой стек.


    1. defaultvoice
      16.09.2021 10:34

      А как же django?


      1. Casus
        16.09.2021 10:57

        Неуверен что есть смысл сравнивать, там пропасть в зрелости экосистем. В symfony/spring думать особо не надо - все решено и описано в доках. И речь не только о web reqest/response. Я в целом, дб миграции, scaffolding, модульность и т.д.


    1. DMGarikk
      16.09.2021 10:45
      -1

      или spring который покроет 95% требований

      и разработка займёт на 50% больше времени, ага
      ==
      и да, а какже django+drf и flask?


      1. Casus
        16.09.2021 10:52

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

        Вы давно заглядывали в доки фласка? Вы серьезно предлагаете это для компаний с ~100 разрабами?

        Как там CLI командами? Typehints, ORM, IoC...


        1. DMGarikk
          16.09.2021 11:04
          +1

          Ну я как бывший когдато java-разработчик, не могу с вами не согласится. и работая сейчас python-бэком я уже успел насмотрется на крупные проекты (в т.ч. со 100 разрабами)… и то как с какогото момента начинают и типы прикручивать и подобие IoC…
          и основная проблема почему сейчас берут python — это скорость старта и простота поиска разрабов
          елси стоит задача 'запустить сервис прямщас… и мы команду в течении полугода постараемся набрать'… то на яве только обвязку архитектуры в сокращенной команде вы будете месяца два писать… а на питоне за месяц уже mvp можно выкатить, да корявый, но он будет работать уже
          и бизнесу такой подход оч оч нравится.
          а то что программерам не нравится — так их никто и не спрашивает особо
          Я уже как минимум два проекта видел перешедших на 'питончик', один с явы другой с руби… во многом потому что народ устал искать разработчиков… а работа стоит


          1. Casus
            16.09.2021 18:52
            +1

            Бизнес требования часто важнее технических. А бизнес зависит от рынка. Все так.

            Забавно что в моем городе, еще лет 8-10 назад ситуация была с точностью на оборот. Проекты на питоне закрывались изза отсутствия разрабов, а те что жили агресивно хантили с других яп.


        1. HiveTyrant89
          16.09.2021 11:32

          SQLAlchemy и flask-sqlalchemy что-то мешает установить? У django своя ORM с миграциями и еще очень много всего интересного, особенно если drf поставить и не программировать на темплейтах.

          PyCharm или VSCode с кучей расширений на питон вообще могут все вопросы с IoC и TypeHints закрыть, просто надо не полениться настроить все нормально. Один раз настраивает синьор или лид (если берется джун, как в статье), время почти не тратится. А можно так вообще все устанавливать на иксы через баш скрипт автоматически при выдачи компьютера, если 100+ разрабов с текучкой в джунах. было бы желание.

          И по поводу доков фласки - а что с ними не так? Ну если опустить, что кроме самой фласки понадобится еще с десяток дополнительных модулей от CORS до JWT и ORM, на которые доки лежат в других местах. Но уже через неделю во всем этом зоопарке можно неплохо ориентироваться.


          1. Casus
            16.09.2021 18:38

            Ни где и не утверждал что этого нет или это невозможно. Но и задачи усложнить себе жизнь не было. Зачем решать то что на других платформах нет как проблемы?

            С доками у фласка все хорошо, если сравнивать в среднем по питону. Но нет смысла сравнивать с тем же симфони.

            Все что вы описали работает для, условно одного разраба, а на 100+ с установкой придёт и поддержка и недовольные и т.д. Подозреваю что реального опыта реализации того что вы предлагаете на 100+, у вас не было?!


  1. GarretThief
    16.09.2021 11:29

    Как итог, вакансии на Python у нас есть в области:

    - GameDev

    - Mobile Dev

    - Desktop dev

    - Embedded dev

    Разработка в игр и мобилок на практике ограничивается лишь стаковскими вопросами студентов про PyGame и Kivi; про встройки не знаю точно, но из вроде, далеко не на питоне пишут, а любой питоновский десктоп окончательно заканчивается на попытке студента компилировать pyqt-овскую гуишку в ехешник.

    Вообще, да, вакансий на питон мало, это чувствуется не только по сухой статистике, но и в обычной жизни. Но тут есть важный момент, что закон спроса-продложения работает не только на спрос, но и на предложение. Есть на рынке десять тысяч питонистов, которые просят в полтора раза меньше джависта из-за большой конкуренции? Будут появляться и новые вакансии специально под питон. И, субъективно, рынок питонистов как раз активно развивается в данный момент.


    1. kipzshady
      26.09.2021 11:54

      PyInstaller легко делает из гуй в ехе, и даже в один файл вместит все это.


  1. Mox
    16.09.2021 11:47

    А что это за питон для мобильной разработки?


    1. Foxonn
      16.09.2021 12:59
      +1

      Возможно имелось ввиду Kivy фреймворк


  1. vba
    16.09.2021 18:44

    Поиск по веб-фреймворкам

    А FastAPI !?


    1. shpaker
      18.09.2021 12:06

      Согласен с тем, что не хватает starlette/FastAPI.

      @hatman если это не сложно, то было бы круто посмотреть статистику и по этой сладкой парочке.


  1. katletmedown
    20.09.2021 23:16

    Кто ж виноват, что в этой экосистеме комфортно делать все понемногу¯\_(ツ)_/¯

    Это удобно для тех, кто интересуется разными отраслями человеческой деятельности, и, вероятно, не слишком удобно для остальных, как раз тут вам на помощь и придут все перечисленные конкуренты.