Python — один из языков программирования, который многие года занимает лидерские позиции в различных рейтингах востребованности по миру. Это значит, что область разработки на Python популярна, как и специалисты в ней. Разрабатывают на этом языке скрипты и плагины, а также игры для мобильных гаджетов и ПК, программы, приложения и различные фичи для сопровождения ПО. Сам язык довольно простой в отличие от других — в нем минимальный набор символов, поэтому его легче изучать и применять для написания кода. Давайте разберем, чем занимаются Python-разработчики, какие навыки нужны специалисту, и как им стать.
Python-разработчик — это специалист, который с помощью своих знаний может писать коды и конструировать игры, приложения, скрипты и плагины. Как уже было сказано, сфера довольна популярна, судя по мировым рейтингам.
По рейтингу PYPL Python занимает первое место по востребованности в мире. Рейтинг TIOBE демонстрирует, что язык на втором месте по популярности, хотя в 2021 году он также занимал первое место.
Чтобы стать разработчиком, недостаточно просто выучить язык Python — для этого нужны и другие навыки, чтобы справляться со всеми задачами, среди которых:
Если вдаваться в детали, то задачи разработчиков будут закономерно расти, поэтому важно понять, что они пишут игры, приложения, веб-сервисы, скрипты, могут создавать искусственный интеллект. И вся работа, которую они осуществляют в процессе написания кода, настройки и конструирования утилит, их тестирования — это и есть задачи разработчика.
Также задачи могут отличаться в зависимости от специализации разработчика, поэтому важно определиться сразу, в какую сферу хочется идти, чтобы знать, что изучать. Вот самые популярные сферы среди разработчиков на 2021 год:
Чтобы выполнять все задачи правильно и в срок, разработчику нужны минимальные профессиональные и мягкие навыки.
Хард-скиллы Python-разработчика:
Софт-скиллы Python-разработчика:
Этого набора навыков и знаний хватает для уровня джуна, но уже для мидла или сеньора их будет недостаточно. Например, мидлу нужно еще знать про библиотеки, фреймворки, английский язык на уровне выше среднего, про тестирование приложений и его версий. Также важна вдумчивость — придется писать код, с которым будут работать коллеги, поэтому он должен быть понятен им. И, наоборот, иногда нужно разбираться в чужом коде, и для этого нужна хорошая насмотренность и опыт.
Прежде чем обучаться профессии, важно изучить ее преимущества и недостатки:
Плюсы |
Минусы |
Быстрое обучение профессии — хотя и нужно выучить достаточно много информации, Python считается самым простым для изучения языком программирования. Поэтому на его изучение уйдет меньше времени. |
Обычно недостаточно одного Python — чаще в вакансиях можно увидеть, что нужно знать и другие языки вроде Java или C, C# и C++. |
Большое сообщество разработчиков — из-за простоты и популярности языка многие специалисты учат именно его, поэтому встретить даже в России опытных коллег легко. Это значит, что можно обмениваться с ними знаниями и опытом, просто общаться, чтобы узнавать больше — это также ускорит обучение и погружение в деятельность. |
В регионах меньше вакантных мест — если работать хочется в штате, то будет сложно найти узконаправленную компанию, которая ищет только python-разработчика. Таких специалистов обычно ищут в центральных городах России, а в регионах нужны эксперты в различных языках программирования. |
Востребованность по миру — за рубежом и в России разработчики в Python нужны многим компаниям, причем иногда на довольно простые задачи. |
Новичкам сложнее окунуться в работу — чаще ищут специалистов с опытом, поэтому придется искать способы получить хоть минимальный опыт. Например, писать приложения или скрипты для себя или же делать больше практических работ во время обучения. |
Конкурентная зарплата — разработчики получают хорошие зарплаты, а профессиональные разработчики вдвое больше. Поэтому если изучить дополнительно другие языки программирования или расширять свою специализацию в области Python-разработки, можно выйти на хороший доход. |
Сидячая работа — это боль многих разработчиков, потому что большую часть времени они проводят за компьютером или за рабочим столом. Это придется компенсировать, чтобы не было проблем со здоровьем. |
Обучение можно провести и самостоятельно — при наличии времени и терпения язык можно освоить самому без проблем, однако придется искать способы компенсировать отсутствие опыта. |
Чтобы стать разработчиком, можно пройти платные курсы или закончить полноценное обучение в ВУЗе — во многих программах предусмотрено дополнительное изучение Python помимо других языков. В этом плане ВУЗы выигрывают, так как дают возможность освоить сразу несколько языков, что очень важно в работе разработчика. Но также есть вариант обучаться самостоятельно — только если с Python серьезных сложностей возникнуть не должно, с освоением других языков будет не просто. Но обо всем по порядку.
Во многих российских ВУЗах есть специальности вроде прикладной информатики, которые помогают изучить основные языки программирования. Достаточно изучить все факультеты и направления интересующего университета. Здесь разберем несколько из них.
ВУЗ |
Факультет |
МГТУ имени Н.Э. Баумана – Московский государственный технический университет имени Н.Э. Баумана |
Факультет прикладной информатики |
МГУ имени М.В. Ломоносова – Московский государственный университет имени М.В. Ломоносова |
Факультет прикладной математики и информатики |
МФТИ – Московский физико-технический институт (государственный университет) |
Факультет прикладной математики и информатики |
На платных курсах можно быстро освоить язык Python, а также получить все необходимые для работы навыки. Но есть загвоздка — если в курсе не предусмотрено дополнительное изучение других языков программирования, возможно, для работы в будущем придется проходить другие курсы дополнительно. Хорошая новость — если устроиться на работу в штат, есть шанс, что внутри компании будут проводить внутрикорпоративные курсы — так можно здорово сэкономить на обучении. Разберем основные знания и навыки, которые могут дать платные курсы по Python-разработке.
Наименование |
Описание |
Введение в программирование |
Сможете вникнуть в сферу программирования, в частности в разработку на Python: изучите основы алгоритмизации, основы синтаксиса языка, что такое списки и циклы, а также функции и модули. В конце научитесь писать типовые задачи на вычисление. |
Основы |
Здесь получиться узнать, как работать с Python, что такое коллекции, вложенность, JSON, какие бывают объекты и классы, а также что такое Computer Science. |
Основы разработки веб-приложений |
Сможете понять, что такое Git, Github и Flask, о вероятных ошибках и продолжении работы Flask, о принципах тестирования продукта. |
Разработка APL на Flusk |
Узнаете все об языке запросов SQL и тонкостях работы с базами данных, а также что представляют собой сессии, пользователи и контроль доступа. |
Полноценное погружение в Python |
Здесь можно изучить, что такое объектно-ориентированное программирование и его принципы, а также больше об инструментах Python. |
Разработка APL на Django |
Познакомитесь с Django и научитесь работать с вьюсетами, сериализаторами, валидаторами и тестами, а также вести техническую документацию. |
Самообучение — хороший инструмент для самостоятельного изучения языка или как дополнение к основному обучению. Важно понимать, что придется потратить немало времени, чтобы организовать всю информацию из открытых источников. Кроме того, здесь будет сложно набраться опыта, поэтому придется искать дополнительные способы решить эту проблему. Если есть знакомые-разработчики, то можно попросить помощи у них, чтобы набрать практическую базу навыков. Например, написать простой скрипт совместно с другим разработчиком — это даст отличный опыт, который можно продемонстрировать.
Чтобы найти работу в России, можно использовать такие сервисы, как hh.ru, работа.ру, superjob.ru, Хабр Карьера, vc.ru, а также тематические группы и каналы:
Если хочется устроиться за рубежом, и есть достаточный опыт для этого, можно попробовать поискать вакансии на этих платформах:
Чтобы понять, сколько в среднем получает разработчик в Python, нужно изучить расценки на специалистов по миру в целом — мы рассмотрим отдельно Россию и США с Англией.
По данным сайта Zarplan, средняя зарплата разработчика в России составляет 258 646 рублей в месяц. Разберем на примерах вакансий на hh.ru, сколько именно может получать разработчик разного уровня:
Junior |
получает от 80 тысяч рублей |
Middle |
может рассчитывать на 100-200 тысяч рублей |
Senior |
в среднем, получает от 300-400 тысяч рублей |
Также рассмотрим, какая ситуация по городам России, так как в регионах зарплата может быть значительно ниже:
Санкт-Петербург |
мидлу готовы платить 300-360 тысяч рублей |
Новосибирск |
новичок может получать от 60 тысяч рублей |
Екатеринбург |
со средними навыками можно получать от 100-200 тысяч рублей |
Челябинск |
бэкенд-разработчикам в Python могут платить от 70 тысяч рублей |
Киров |
80-120 тысяч рублей |
Ростов-на-Дону |
30-80 тысяч рублей |
В США, по данным сайта Bluelight, разработчик может получать в среднем 12 500 тысяч USD в месяц.
Рассмотрим, как это в реальности — изучим вакансии по штатам США и регионам Англии:
Уайт-Ривер-Джанкшн, Вермонт |
новичку тут могут платить 61-77 тысяч USD в год |
Куинси, Иллинойс |
джуны и джуны+ могут рассчитывать на 66-83 тысячи USD в год |
Сан-Франциско, Калифорния |
мидлы в среднем получают 89-113 тысяч USD в год |
Ричмонд, Англия |
здесь готовы платить £45-66 тысяч в год |
Милтон-Кинс, Англия |
можно ориентироваться на £30-33 тысяч в год |
Вывод
Специалистом по Python-разработке можно стать с помощью курсов, обучения в ВУЗе или самостоятельного обучения. Но важно помнить, что от разработчиков часто требуется знание и других языков программирования — все языки можно выучить в университете. Платные курсы, как правило, дают понимание только одного языка — чтобы узнать другие, придется покупать другой курс. Самостоятельно вряд ли получится выучить так много языков программирования — Python проще, и его можно освоить самостоятельно, но другие гораздо сложнее.