Сегодня Python один из самых популярных языков программирования, области его применения только расширяются. Последние несколько лет он входит в ТОП-3 самых востребованных языков на рынке IT.
Python используется для решения научных и бизнес-задач. На западе его используют учёные (математики, физики, биологи), так как изучить этот язык не слишком сложно. Он чаще используется для написания front-end веб-сайтов и back-end для мобильных и веб-приложений, а также создания разного рода сервисов и API. В целом это универсальный язык, входящий в тройку языков для анализа больших данных.
Веб-разработчику, работающему на Python, нужно знать дополнительные технологии из front-end разработки и язык программирования JavaScript для полноценного сопровождения любого проекта.
В течение последних 5 лет Python-разработчики востребованы на рынке труда, специалистов в этой сфере до сих пор не хватает.
Где искать вакансии для Python разработчика
Вакансии в России стоит искать на популярных специализированных сайтах:
Лидеры по количеству предложений работодателей — HeadHunter и Indeed.
Предложения вакансий в других странах попадаются на https://ru.indeed.com/. Есть специализированный сайт по поиску работы заграницей — в СНГ, Китае, в Европе и США — https://24ru.com/, но на нем уровень зарплат занижен. Возможность трудоустроиться заграницей предоставляют и платформы для программистов-фрилансеров, например https://www.upwork.com/, где после удачного выполнения проекта вас могут заметить и предложить сотрудничество.
На указанных сайтах есть предложения как для начинающих — даже студентов, так и для опытных. Предлагается полная, частичная занятость и удаленная работа. В основном, на удаленной работе чаще платят меньше, но реально найти удаленную работу со свободным графиком и зарплатой 150-200 тысяч рублей. Все зависит от политики фирмы и вашей квалификации.
Стажерам на последних курсах института некоторые компании предлагают всего 20 000 рублей, но в целом, зарплаты на рынке далеко не всегда соответствуют квалификации программиста (обычно они занижены), поэтому очень важно для соискателя правильно оценивать свою квалификацию и рынок труда.
Требования к Python-разработчику
Требования к кандидатам варьируются в зависимости от сферы деятельности и, конечно, от конкретного проекта. Если говорить о типичной вакансии, то актуальны следующие требования:
- Уверенное знание языка и библиотек Python
- Знание фреймворка Django или Flask/Pyramid/Tornado
- Базовые знания HTML, CSS, JavaScript – для верстки страниц
- Умение работать с Git
- Знание SQL, опыт работы с реляционными базами данных (PostgreSQL, MySQL), умение использовать ORM (например, Django ORM)
- Английский язык, от базового технического до продвинутого разговорного, в зависимости от вакансии
- Опыт работы с не реляционными базами данных, например, MongoDB
- Умение работать в команде, разбираться в чужом коде. Паонимание Agile (Scrum) и традиционных методологий разработки
- Высшее образование — преимущественно в сфере информационных технологий и математики, но некоторые организации принимают на работу специалистов без высшего образования (обучившихся программированию на python на курсах или самостоятельно).
Это общие требования. Диапазон вакансий и программных продуктов, с которыми придется работать, очень широк. Поэтому каждая организация требует знания, которые будут полезны именно в ее работе. Общее правило таково, что чем больше популярных и необходимых языков программирования, фреймворков и баз данных вы знаете (Js, HTML, С, С++, PHP, Django, SQL, Mongo), и чем больше ваш опыт работы, тем больше шансы на удачное трудоустройство и достойную зарплату.
Достаточно популярен сейчас язык Go. Например, программисту с квалификацией Senior Backend разработчик, знанием Go, и опытом разработки под Linux/Unix известный маркетплейс Joom предлагает зарплату от 270000 рублей в месяц.
Знания английского также влияют на зарплату, особенно если вы ищите работу за границей. Дополнительным преимуществом будет не только английский в совершенстве, но и знания языка интересующей страны.
Типичные вакансии со знанием python
Python-разработчик может занимать такие должности:
Junior Python Developer — от 6 месяцев до 1,5 лет опыта работы. Пишет программный код. Человек, который сам решает небольшие задачи, но сложные не осилит. Либо потратит на них много времени и будет нуждаться в проверке работы более опытными коллегами.
Middle Python Developer — опыт от года до 3 лет. Специалист, который самостоятельно пишет код по средним и сложным задачам, почти не ошибаясь. Либо способен быстро найти ошибку. Консультирует джуниоров.
Senior Python Developer — опыт работы от 4 до 6 лет. Эксперт, способный разрабатывать сложные приложения на фреймворке. Его знания могут быть применены в архитектуре приложения, уровень оплаты намного выше, чем у начинающих. Руководит проектом или командой.
Python Team Lead — должность выше Senior. В обязанности входит управление своей командой разработчиков, владение технической стороной, участие в работе над архитектурой проекта, ревью кода, а также разработка некоторых сложных заданий на проекте. Совмещает в себе основные знания специалистов уровней Senior и Software Engineer.
QA Automation Engineer — тестировщик, специалист по обеспечению качества программного обеспечения. В обязанности входит нахождение ошибок в программе. Без тестирования нельзя получить программу высокого качества – поэтому QA-специалисты очень востребованы в IT-компаниях, занятых разработкой.
Python Backend Developer — создает серверную часть в веб-приложениях, администрирует базы данных, архитектуру, программную логику. Back-end разработчик должен знать серверные языки программирования, такие как PHP, Python, Ruby, Java, Perl, Node JS (программные платформы). Дополнительно к Node JS этому специалисту полезно изучить Express (библиотеку для взаимодействия платформы Node JS с сервером) и Mongo DB (базу данных для получения и хранения информации).
Data Scientist — это специалист, обладающий практическими знаниями методов статистического анализа данных, навыками построения математических моделей (от нейронных сетей до кластеризации, от факторного до корреляционного анализа). Он должен уметь работать с большими массивами данных и находить закономерности.
Уровень зарплат в России и в других странах
В Москве программист Python получает от 30 000 до 450 000 рублей в зависимости от компании и его уровня квалификации. В Санкт-Петербурге от 25 000 до 350 000. Средняя зарплата разработчика составляет 120-150 тысяч в городах федерального значения и 75-100 в региональных центрах.
В странах СНГ сильный разброс зарплат. Например, в Узбекистане средний доход составляет от 20 до 40 тысяч в пересчете на российские рубли. В Белоруссии средняя зарплата — 2-3 тысячи долларов.
Зарплата в странах Европы составляет от 1500 до 5000 долларов в месяц в зависимости от страны и квалификации сотрудника. В США программистам предлагают от 2500 до 8500 тысяч долларов в месяц.