Python любят начинающие, потому что его относительно легко изучить. Существует множество учебников, ресурсов и курсов. Плюс большой выбор библиотек и фреймворков. Потом все эти знания становятся востребованными во многих сферах. Но перед джунами встаёт вопрос: где искать вакансии, если знать только Python и ничего больше. Мы попытались разобраться, достаточно ли базы для трудоустройства, и что придётся навёрстывать. 

Согласно рейтингу TIOBE, Python — востребованный язык программирования: в 2022 году он обогнал по популярности даже C. Ведущие мировые компании: Google, Dropbox, Netflix, Reddit, Amazon, Uber, NASA, Spotify — используют его для своих разработок.

На практике Python применяется в разных сферах: 

  • разработке игр и мобильных приложений, 

  • веб-разработке, в первую очередь для серверной части сайта при помощи фреймворков Django и Flask, 

  • разработке визуальных интерфейсов — для этого подходят дополнительные графические библиотеки Dabo и PythonCard,

  • автоматизации бизнес-процессов с помощью небольших скриптов для стандартных процедур,

  • сложных математических расчётов с помощью расширения NumPy, 

  • работе с базами данных, в том числе для анализа и визуализации данных,

  • автоматизированном тестировании в сочетании с Selenium WebDriver, 

  • технологиях искусственного интеллекта и машинного обучения с дополнительными библиотеками TensorFlow и scikit-learn.

Открытый код, бесплатный доступ, возможность одинаково эффективно работать на Linux, Windows и macOS — важные аргументы в пользу Python. Он прост для изучения, но в нём есть ряд особенностей, которых в большинстве других распространённых языков нет: отступы вместо фигурных скобок, удобный, но нетипичный синтаксис генераторов списков, динамическая типизация (отличающаяся от таковой в JS). Если начинать с Python, а потом осваивать другие языки, лучше быть к этому всему морально готовым.

Я использовал Python для исследования безопасности сайтов и обработки файлов. Сейчас основная сфера его применения — написание скриптов для охоты на новые вирусы, эмуляция сетевого поведения вирусов и извлечение из них информации. Параллельно мне оказываются нужны HTTP, JSON, XML: эти технологии я использую постоянно.

Человек, только что научившийся писать код на Python, может попробовать себя в роли бэкенд-разработчика, Django-разработчика (но для этого надо знать Django), углубиться в анализ данных и data science. Один мой бывший коллега ушёл в геймдев, где использовал Python для простых математических расчётов: мы шутили, что он два и два складывает на питоне за приличную зарплату.

Начинающему специалисту я бы посоветовал изучить основы работы с сетью в Python (модуль Requests) и JSON (модуль json). А ещё type hints — при грамотном применении позволяет ловить хитрые ошибки.

Владимир Мартьянов, вирус-аналитик, Белград

Для изучения языка программирования можно выбрать курсы или высшее образование по специальности «Прикладная информатика». В вузах существуют бесплатные бюджетные места, а стоимость года коммерческого обучения может превышать 300 000 рублей.

Что нужно знать: мнение преподавателей

Для успешного применения Python на практике необходимо осваивать смежные технологии. Их выбор зависит от того, в какую сферу деятельности хочет погрузиться программист. Если он хочет освоить анализ данных, потребуются R, NumPy и сопутствующие пакеты. Если веб-программирование — HTML и CSS, Django и хотя бы на базовом уровне JavaScript: это облегчит коммуникацию с фронтендерами. В разработке прикладных приложений требуются графические библиотеки, чтобы делать интерфейсы. Например, TKinter или Qt, и разные библиотеки самого Python.

Python — язык широкого применения. У него много дополнительных библиотек, поэтому его можно применять при разработке прикладных программ, решать задачи обработки естественного языка, выполнять анализ данных. Особенно хорош Python при работе с текстовыми данными, в том числе большими. Ещё одно достоинство Python — низкий порог вхождения. Но язык программирования нельзя выучить, можно научиться писать на нём. На первых порах стоит разобраться с основными конструкциями языка и составлением алгоритмов. После этого всё зависит от конкретных задач. 

Екатерина Латухина, старший преподаватель кафедры информатики, Архангельск

Чтобы полноценно работать в ИТ, надо ещё кучу всего знать дополнительно к Python: как минимум, владеть фреймворками, старейший и самый известный — Django. Начинающему специалисту логичнее всего развиваться в сторону анализа данных, хотя некоторые и идут в бэкенд. Поначалу придётся работать за еду на стажёрской позиции, потом в процессе работы достичь уровня джуниора. Младшему аналитику, помимо Python, необходимо знать основы архитектуры баз данных и SQL, математической статистики и теории вероятностей, нелишним будет владение R.

Светлана Нерадова, частный преподаватель математики и информатики, Москва

Что нужно делать: мнение разработчиков

За изучение Python берутся люди с опытом работы в сферах, далёких от программирования, и желанием переквалифицироваться в айтишники. Шансы на трудоустройство высокие: знание Python требуются в 5,4% вакансий в ИТ-сфере. Но карьерный рост и хороший доход — вопрос времени. Зарплата специалистов с опытом работы от трёх лет в два раза превышает оклад инженеров без опыта. Учиться придётся много и постоянно, причём не столько по книгам и мануалам, сколько уже на конкретных проектах.

Я ландшафтный архитектор, работаю ведущим инженером-проектировщиком в компании, которая занимается парками и общественными пространствами.

Учиться кодить я начал три года назад для личного проекта — онлайн-сервиса по подбору растений для ландшафтного дизайна. Ландшафтники до сих пор пользуются бумажными каталогами, а я захотел сделать удобный инструмент. Чтобы сайт на Wordpress с кучей плагинов работал и не разваливался, я стал разбираться в HTML, CSS, JS. В итоге понял, что на готовых решениях без знания бэкенда далеко не уйти, и начал учить Python.

Прошёл несколько онлайн-курсов и стал тренироваться на мелких задачках: написал парсер, который собирает информацию с сайтов питомников растений, чтобы потом я мог добавить её в свой каталог. В порядке эксперимента написал бота, который торговал на криптобирже и отправлял мне отчёты в телеграм. Бот проработал неделю, принёс мне 15 рублей 38 копеек. Я пришёл к выводу, что эксперимент теоретически удался, а рисковать нормальными деньгами я пока не буду.

Но понял, что программирование интересует меня больше, чем проектирование, и решил сменить профессию. Думаю устроиться на джуниорскую позицию бэкенд-разработчика и набираться опыта уже на рабочем месте. В деньгах, конечно, на первых порах потеряю, но я к этому готов.

Сергей Иноземцев, архитектор, Хургада

Начинающий специалист может попробовать себя на стажёрской или джуниорской позиции как QA, аналитик данных или разработчик. Зарплата начинающего питониста — от 70 тысяч рублей. Для стажёрских вакансий цифра может быть и 30–40 тысяч рублей, однако по мере роста опыта и умений она будет расти и составит 250–300 тысяч для опытного специалиста. Зарплаты в ИТ не меняются в худшую сторону даже в условиях кризиса, а 22% сотрудников компаний увеличили доход.

Python никогда не был моим основным языком программирования, но я с ним работал. В компании, занимающейся исследованиями рынка, я использовал его для парсинга соцсетей: надо было получать посты и извлекать из них ключевые слова. В нескольких букмекерских конторах Python применял для сбора статистики. Когда я столкнулся с Python, у меня за плечами был вуз и опыт. Так что я просто читал мануалы, если чего-то не понимал.

Начинающему специалисту рекомендую изучить принципы и навыки именно программирования как такового. Технологии потом добавятся. Я в профессии 12 лет, и за это время та же веб-разработка полностью обновилась дважды.

Георгий Комаров, разработчик C#, Москва


После базового курса Python реально устроиться стажером или джуниором, выполнять учебные проекты для стартового портфолио. Но чтобы стать полноценным специалистом, необходимо сочетать язык программирования с чем-то ещё и постоянно совершенствовать свои знания, но в ИТ это давно норма. Чтобы Python превратился в профессию, важно определиться с конкретной сферой применения и развиваться в ней. 

Поделитесь историями вашего знакомства с Python в комментариях.

Комментарии (4)


  1. Goupil
    18.06.2022 14:25
    +2

    Я бы сказал куда пойти молодому специалисту-питонисту в текущих обстоятельствах, на какие три байта, но за это меня забанят.


  1. TsarOrgasmatron
    18.06.2022 15:19
    +4

    Я хоть ещё даже не джун, и изучаю си шарп, но имхо, чтобы хотя бы называться джуном - нужен большой пласт знаний, который нужно уметь использовать. Язык выучить - не сложно, а вот умение его применять - ценится.

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


    1. Rockkley
      20.06.2022 09:55

      So True. Я уже около пытаюсь запрыгнуть на работу по Python, есть и собственные проекты, и решённые тестовые задания с собеседований, но почти каждый день открываю для себя что-то новое в языке, и понимаю что мне ещё не раз переписывать все свои репозитории, чтобы это хотя бы на джун-левел было похоже.


  1. conopus
    19.06.2022 13:31
    +1

    Поделитесь историями вашего знакомства с Python в комментариях.

    Пошел работать начинающим тестировщиком в компанию, где писали на Python, соответственно и автотесты начал писать на нем, проработал там девять месяцев и перешел работать уже как QA Automation и так и занимаюсь этим уже 5 лет.

    Чтобы начать писать тесты UI вполне достаточно базовых знаний Python, но также потребуется знание основ HTML, git, тестового фреймворка pytest, паттерна PageObject и базовых знаний в теории тестирования. То есть одного языка и библиотеки Selenium недостаточно, тут я с остальными комментаторами согласен. Но, есть и хорошая новость: все остальное учится тоже не очень долго. По собственному примеру могу сказать, что можно работая в ручном тестировании в свободное время осваивать остальное. Теории тестирования достаточно в объеме учебника Куликова, знаний git хватит в объеме любого базового курса, например: на Hexlet. Остальное поместилось в курс по автотестам на Python и Selenium на Stepik.

    Плюсы Python в автоматизации тестирования -- это унифицированная среда. Есть основной тестовый фреймворк - pytest, одна библиотека для работы с HTTP - requests, если вы научились работать с Selenium, то сможете писать Web UI тесты и с другими библиотеками. То есть, такого разнобоя инструментов, как, например, в JavaScript, -- там нет, и это облегчает вхождение для новичков. Говорю это на основе своего анализа вакансий тестировщиков с HH.ru. Вот, например, сравнение популярности фреймворков тестирования для различных языков. Там же можно посмотреть, какие навыки чаще всего упоминаются в вакансиях и облако тегов на основе текстов описаний вакансий. Ну и конечно уровень зарплат в тестировании в зависимости от опыта за последние четыре года.

    А тем, кто хочет найти оплачиваемое применение своим знаниям, желаю упорства, а с ним придет и удача. Да, вакансий "джунов" стало меньше, но они не исчезнут, и спад на рынке рано или поздно сменяется подъемом.