Что должен знать разработчик на Python без опыта?
Язык программирования Python является одним из наиболее популярных и востребованных. Освоить его относительно просто, плюс на рынке труда вакансий очень много: те же сайты HH или Rabota предлагают сотни вакансий. Если же вспомнить, что Python разработчик получает зарплату в районе 70 000 — 300 000 рублей (особенно высока зарплата в Москве и Санкт-Петербурге), то становится понятно, что игра стоит свеч. Однако в реальности все зависит от опыта, и до такого заработка еще надо «дорасти». Но, как и любой генерал когда-то был простым солдатом, так и любой Senior-программист когда-то был джуниором или стажером. В этой статье мы рассмотрим, что требуют современные работодатели на собеседованиях у начинающих программистов на Python.
Какое должно быть образование?
В большинстве случаев резюме на позицию джуниора подают выпускники университетов либо студенты 4-5 курсов технических специальностей. Важны и соответствующие курсы, пройденные как очно, так и онлайн. Это могут быть курсы от Otus, Stepic, Coursera и т. п. В данном случае речь идет о получении дополнительного профильного образования, а образования много не бывает.
Когда цель соискателя — получить работу разработчика Python в сфере Data Science, пригодятся хорошие знания математики, опыт выступления на конференциях, магистерская степень либо аспирантура, а также наличие авторских научно-технических публикаций.
Однако работодатели могут взять на позицию Джуниора не только разработчика программного обеспечения без опыта, но и программиста без высшего образования — такие случаи бывают. Но следует учесть, что для этих кандидатов возможно проведение дополнительных испытаний.
Чтобы получить работу, нужен опыт, чтобы получить опыт, нужна работа
Тот, кто имеет опыт неудачных собеседований при попытке попасть в IT, хорошо знает, как непросто бывает прорваться в эту сферу. Что уж греха таить — попадание в IT для многих становится счастливым билетом в более качественную жизнь, где зарплата высока, социальный пакет приятен, а ежегодный отпуск в теплые страны находится в порядке вещей. Следовательно, желающих с каждым годом становится все больше, в результате чего растут требования к соискателям, причем растут гораздо быстрее, чем заработная плата. Некоторые утверждают, что современный джун должен иметь знания на уровне мидла 10-летней давности.
Очень часто, когда ищут специалистов без опыта, работодатели все же слегка лукавят. К примеру, они требуют, чтобы вы имели опыт от полугода или, по меньшей мере, чтобы за вашими плечами была стажировка в ИТ-компании (то, что вы должны иметь за плечами пройденные курсы, даже не обсуждается — это уже давно из серии «must have»).
Но что делать, если образование есть, знания есть, сертификат после курсов есть, а вот опыта нет от слова совсем? В таком случае вы должны иметь в своем активе какие-нибудь завершенные личные либо учебные проекты. Такие проекты весьма важны, т. к. работодатель на их основании сможет сделать вывод о вашей реальной заинтересованности в предметной сфере и о вашей стремлении к развитию. Поэтому:
— будьте готовы опубликовать свои проекты на GitHub или на личном сайте-портфолио;
— будьте готовы рассказать на собеседовании, какая задача стояла, какие технологии вы выбрали, почему именно их и т. д.
Важно помнить, что дополнительные проекты не только выделят вас из толпы соискателей, но и позволят дополнительно прокачать собственные навыки разработки на Python.
Какие soft skills особенно важны?
При работе на реальном проекте программисту Python недостаточно иметь необходимые технические навыки и уметь решать поставленные задачи. Не менее важны различные социальные и личностные качества:
— умение коммуницировать с людьми;
— умение работать в команде;
— стремление к профессиональному росту;
— повышенное чувство ответственности;
— умение управлять своим рабочим временем.
Все это — базовые soft skills, необходимые почти на любой должности в сфере IT.
Если речь идет о кандидате без опыта, претендующего на позицию джуниора, то тут можно сделать акцент на следующих навыках:
— умение быстро осваивать много нового материала, способность учиться;
— умение вникать в суть поставленных задач;
— умение быстро схватывать, что от тебя хотят;
— отсутствие страха перед рутинными задачами.
На собеседовании могут спросить об отношении соискателя к рутинным задачам, и это неспроста, т. к. работа нередко включает в себя монотонные процессы. Задавая этот вопрос, работодатель просто желает убедиться, что на вас стоит тратить время, то есть вы не заскучаете через 2 месяца и не сбежите, т. к. «неинтересно». Идеальный ответ — что-то вроде: «Сейчас такие задачи для меня — это реальная возможность получить опыт и отработать свои навыки. В перспективе этот опыт позволит мне справляться с более сложными задачами».
Также могут спросить, по какой причине вы желаете работать именно в этой компании, именно на этом проекте, именно на этой должности. Чтобы высказать искреннюю заинтересованность и произвести наиболее благоприятное впечатление, желательно заранее изучить:
— будущие задачи, проекты, продукты;
— особенности компании, ее корпоративную культуру;
— условия работы и т. п.
Выберите, что для вас действительно важно. Неплохие ответы звучат так:
— «В вашей компании я смогу полностью реализовать свои компетенции и получить ценный опыт»;
— «Моя кандидатура прекрасно подходит под ваши требования, так как я владею следующими техническими навыками…»
Какие технические навыки нужны?
Самое главное — это знание языка программирования Python и умение писать на нем код. Порой требуются разработчики (developers), которые имеют базовые навыки программирования и на других языках: C++, Java, Golang и т. п.
Обычно на собеседованиях проверяют еще и общую IT-грамотность. Вы должны знать, как работает компьютер и программные приложения (мобильные, десктопные), как функционирует интернет, иметь понимание работы сетей передачи данных, разбираться в алгоритмах и структурах данных. Вдобавок к этому, желательно:
— уметь работать с базами данных;
— знать фреймворки (хотя бы общее понимание должно присутствовать);
— понимать принципы асинхронного и многопоточного программирования;
— уметь работать в командной строке, иметь начальные навыки системного администрирования (простейшие команды в Linux не должны вас пугать).
Если речь идет о брендовой компании, то собеседование делится на несколько этапов, на каждом из которых проверяется определенный пул навыков, в результате чего отбираются лучшие.
Иногда разработчика Python ищут под задачи Machine learning. Когда речь идет об отборе Data Science-специалиста, дополнительно проверяются знания алгоритмов машинного обучения. Соискатель должен уметь их применять, идеально, если он участвовал в хакатонах или Kaggle-соревнованиях по Python. Не обойтись и без математики: не должны вызывать затруднений ни теория вероятности, ни линейная алгебра, ни математический анализ.
Что повторить?
Ниже представлен краткий список того, что нужно повторить перед собеседованием:
- Алгоритмы и структуры данных. Надо их понимать без привязки к конкретному языку программирования. Тут вам и массивы, и связные списки, и множества, и хэш-таблицы, и бинарные деревья поиска, и графы. Могут спросить основные алгоритмы сортировки, способы обхода графов и т. п.
- Структуры данных в Python. Какие бывают, как применяются, чем различаются, какие есть плюсы и минусы. Строки, списки, множества, кортежи, словари, числовые типы данных… Будет преимуществом умение использовать встроенные в язык программирования структуры данных, к примеру, OrderedDict либо defaultdict из модуля collections.
- Изменяемые и неизменяемые типы данных. Какая между ними разница, какие неизменяемые и изменяемые типы данных вы знаете. Могут показать задачу и спросить, какую структуру данных вы бы выбрали для решения.
- Декораторы в Python: что это, как устроено. Иногда просят написать код декоратора. Полезно знать functools.wraps.
- Контекстные менеджеры: что это, для чего надо. Одно из заданий — реализация контекстного менеджера для работы с файлами по аналогии со встроенным open().
- Генераторы и итераторы в Python: что это, для чего надо, чем различаются. Можете ли написать генератор четных чисел либо чисел Фибоначчи.
- GIL: зачем нужен, как работает. Может ли в Python одновременно выполняться более одного потока? Эти знания не то, чтобы обязательны, но выделить кандидата на фоне других они определенно способны.
- Как устроены популярные фреймворки для «Питона» (Django, Flask). Каковы сильные и слабые стороны. Можете ли вы спроектировать БД для приложения и написать парочку запросов посредством ORM либо SQL.
- Как функционирует интернет. Требуется понимание моделей OSI/TCP IP, основных протоколов. Знаете ли вы, что происходит, если в поисковой строке вбиваешь, к примеру, otus.ru.
- Утилиты командной строки. Достаточно рассказать про 5-10 команд, которые вы наиболее часто используете.
- Потоки, процессы, асинхронное программирование. Какова разница между потоком и процессом, каковы способы межпроцессного взаимодействия вам известны.
- Логико-математические задачи. Базовые знания математики, комбинаторики и теории вероятности не помешают, как и умение работать с числами в различных системах счисления.
Подытожив, скажем, что далеко не всегда на собеседовании будут задавать вопросы из всех вышеперечисленных разделов. Но важно понимать, что от кандидата на позицию Junior Developer ждут, если не досконального знания, то хотя бы общего понимания сути описанных процессов. Вдобавок к этому, всегда смотрят, в правильном ли направлении вы мыслите, пытаясь ответить на неизвестный вопрос. И чем более подготовленным будет соискатель, тем больше шансов получить работу разработчика на Python — работу, которая по мере накопления знаний станет для вас действительно высокооплачиваемой.
- https://tproger.ru/articles/what-junior-python-dev-should-know/;
- https://checkroi.ru/blog/professiya-python-programmist/.
Примеры вакансий разработчиков на Python можно посмотреть на Jobsora.
Как найти первую работу в IT в 2023 году
Ещё два года назад спрос на айтишников превышал предложение, и на мало-мальски хорошее резюме сразу приходило несколько приглашений на собеседование.
Но за 2022 год вакансий в IT стало меньше на 26%, а количество резюме увеличилось аж на 57%. Жаловаться на нехватку работы стали даже мидлы и сеньоры — что уж тут говорить о джунах.
Хорошая новость в том, что вакансии для начинающих айтишников всё ещё есть — даже в крупных компаниях. Рассказываем, где их искать, как сделать хороший отклик и подготовиться к собеседованию.
Новички по-прежнему нужны
Как правило, молодых специалистов нанимают, чтобы:
- освободить мидлов от рутинных задач,
- прокачать наставнические качества сеньоров,
- вырастить собственные лояльные кадры.
Работы для новичков немного, но она есть. В конце 2022 года 12% от общего числа IT-вакансий на HeadHunter подходили начинающим.
По данным Работы.ру, компании чаще всего ищут:
- разработчиков,
- аналитиков,
- системных администраторов.
Это общая статистика на лето-2022. В реальности спрос на разные специальности может отличаться в зависимости от компании и её задач. Например, если продукт компании строится на моделях машинного обучения, HR будут искать дата-инженеров, дата-сайентистов и аналитиков.
Где искать вакансии
Сервисы по поиску работы:
Отдельные сайты для IT-вакансий:
- Telegram-канал Job for Junior — вакансии для начинающих в IT и Digital
- Telegram-канал Young & Junior – вакансии IT — вакансии для джунов в СНГ.
- Группа во ВКонтакте ИТ-вакансии — есть отдельные подборки работы для джунов из разных источников
Иногда HR размещает вакансии только на собственных ресурсах, чтобы не получать сотни откликов в день. Поэтому имеет смысл проверять сайты и Telegram-каналы компаний, в которых вам хочется работать.
Например, у МТС есть Telegram-канал МТС Джобс, где мы публикуем вакансии в IT и Digital.
Если вы не нашли подходящее предложение на этих ресурсах, попробуйте подать заявку на стажировку. Это не альтернатива постоянному трудоустройству, а, скорее, продолжение обучения. Вы попробуете применить свои знания на практике, получите первый опыт, а дальше, возможно, и оффер на постоянную работу.
Стажироваться лучше в крупной компании, где хорошо настроены рабочие процессы. В таких фирмах не стремятся получить дешёвую рабочую силу, а действительно учат работать в команде. Вас не кинут в груду непонятных задач, а выделят наставника и постепенно введут в курс дела.
Как откликаться на вакансии — пошаговая инструкция
Шаг 1. Убедиться, что ваши навыки подходят под вакансию хотя бы на 80%
HR не сможет пригласить на собеседование кандидата без релевантного опыта, даже если в его резюме есть рекомендация от короля Великобритании.
Шаг 2. Внимательно изучить текст вакансии — там могут быть маленькие проверки на внимательность
Например, работодатель попросит начать сопроводительное письмо с определённых слов или что-либо приложить к отклику. Если этого не сделать — заявку рассматривать не будут.
Шаг 3. Адаптировать резюме именно под эту должность
Например, если в требованиях указан уровень владения английским С1, нелишним будет приложить подтверждающий сертификат.
На этом этапе может возникнуть соблазн составить одно универсальное резюме и показать в нём все навыки и сильные стороны. Это ошибка — документ получится слишком длинным, и HR будет сложно найти нужную информацию среди всего списка компетенций.
Шаг 4. Написать сопроводительное письмо
Так больше вероятности, что отклик рассмотрят.
Точно нужно написать:
- приветствие
- почему заинтересовались вакансией
- опыт работы
- чем будете полезны на этой позиции
- контакты
Для каждой новой вакансии пишите новое письмо. Структура может быть одна, но детали придётся менять, ведь у всех компаний разные требования к кандидатам.
Шаг 5. Приложить ссылки только на релевантные проекты
Отправлять всё портфолио нежелательно, особенно если оно объёмное. Работодателю будет сложно понять, что именно вы делали и чем будете полезны.
Если эти советы показались вам очевидными, вы уже хорошо подготовились к поиску работы. Но если бы им следовали все, HR бы не получали сотни неудачных откликов.
Как готовиться к собеседованию и техническому интервью
Изучите будущего работодателя
✔ Внимательно посмотрите сайт компании и проекты, погуглите, в каких мероприятиях участвует команда. Если вы покажете HR, что подготовились к встрече, вас сочтут активным и заинтересованным кандидатом.
✔ Заранее узнайте, кто будет проводить собеседование, и найдите этого человека в соцсетях. Возможно, вы наткнётесь на блог, в котором он делится принципами работы, — это поможет предугадать, что ждёт на интервью.
✔ Идите на собеседование с настроем, что вы уже знаете о компании больше, чем она о вас, — будет менее волнительно.
Соберите отзывы о компании
Лучший источник отзывов — действующие работники компании. С такими специалистами можно пообщаться в профессиональных чатах и на разных нетворкинг-мероприятиях вроде конференций.
Ещё один способ получить отзывы о компании — найти её сотрудников в соцсетях.
Нескольким людям можно написать и задать вопросы о потенциальном работодателе.
Если вам не удалось пообщаться с сотрудниками компании, можно посмотреть рейтинги лучших работодателей. Такие исследования проводят, например, HeadHunter и Changellenge.
Повторите теорию
На технических интервью джунам задают много вопросов по теории, поэтому повторите все важные термины и матчасть. Так вы покажете, что крепко владеете базой, а значит, с практикой будет проще.
При подготовке важно понимать, какие навыки ждёт от вас работодатель. Например, в интервью на позицию Data Scientist могут задавать вопросы по статистике, теории вероятности и линейной алгебре.
Не пугайтесь, если на каждый правильный ответ вам задают более сложный вопрос. Это нормально — рекрутер пытается понять, на каком уровне ваши знания.
Следите за мелочами
У директора новозеландской IT-компании Xero есть собственный алгоритм отбора кандидатов. Во время собеседования он предлагает соискателю кофе и смотрит, что он сделает с пустой чашкой.
Тест простой: если человек не помыл за собой посуду, ему не предложат работу в компании. И неважно, насколько хороши его профессиональные навыки.
Подобные проверки могут быть и в других компаниях. Чтобы их пройти, руководствуйтесь здравым смыслом и не пренебрегайте правилами приличия.
Можно ли получить оффер быстрее
Иногда все этапы отбора проходят в один день, и в тот же день соискатель может получить приглашение на работу. Такой формат называется one day offer.
Кандидатов на экспресс-собеседования набирают через рекламу в Интернете. Для one day offer создают отдельный сайт, на котором соискатель должен оставить заявку и отправить резюме. Если навыки подойдут компании, его пригласят на one day offer.
Выводы
Ситуация на рынке непростая, но вакансии для новичков есть. Их можно найти:
- на агрегаторах по поиску работы,
- на сайтах про IT,
- в соцсетях,
- на сайтах и в блогах компаний.
Хороший способ найти первую работу — пойти на стажировку в крупную компанию. Если повезёт, останетесь в команде, если нет — появится классная строчка в резюме. В МТС постоянно появляются новые вакансии для стажёров — следить за ними можно на сайте МТС Intro.
- внимательно изучите сайт компании,
- пообщайтесь с действующими сотрудниками,
- повторите теорию.
Помните, если вас пригласили на собеседование, значит, HR считает, что у вас достаточно компетенций для этой должности.
Не отказывайтесь от стажировок и вакансий с небольшой зарплатой — на этом этапе важно получить опыт, а не заработать сотни тысяч рублей.
Где Python-специалисту искать первую работу?
Python — самый быстрорастущий язык программирования за последние несколько лет. Специалисты по Python востребованы на рынке труда. Поэтому многие начинающие программисты и задумались об изучении этого относительно простого и современного языка программирования, но овладеть навыками программирования на Python — только половина пути к успеху. Остается найти место работы, которое будет устраивать и по уровню заработной платы и по удобству рабочего графика. Поиск работы мечты возможен с помощью большого количества сервисов. Предлагаю рассмотреть некоторые из них.
Если хотите работать только на себя и не зависеть от рабочего графика, хотите сами выбирать сколько работать и соответственно сколько зарабатывать, то идите на фриланс биржи:
На Kwork нет никаких платных подписок и неоплачиваемых тестовых заданий, работайте сразу и без вложений, а платой за сервис будет 20% с каждого заказа. Выше оборот с клиентом — ниже комиссия, если достигнуть цифры в 300000, то комиссия снизится до 7,5%. Здесь вы сможете как предложить услугу, так и откликнуться на предложение заказчика, размещенное на бирже. От скорости и качества выполненной работы будет зависеть ваш рейтинг, а от рейтинга уже зависит степень доверия работодателя и соответственно вероятность получения нового заказа. Из-за популярности Кворка фрилансеры вынужденно занижают стоимость работы, чтобы получить заказ, но это проблема не столько Кворка, сколько всего фриланс рынка.
На Kwork Python-разработчик может брать заказы по направлениям:
Доработка и настройка сайта;
Сервера и хостинг.
Еще одна популярная биржа, но без платной подписки не получится брать заказы. PRO аккаунт стоит 2500 рублей. Тут уже каждый для себя решает стоит ли платить за возможность работы, при условии, что заказы никто не гарантирует.
Специалист по Python может выбирать из этих разделов:
Если предыдущие фриланс биржи предоставляли возможность работать фрилансерам разных специальностей, то Хабр Фриланс создали специально для работников сферы информационных технологий. Из минусов: в сутки получится откликнуться только на 5 предложений. За возможность откликаться на большее количество заказов сервис берет плату 99 рублей за один отклик. Возможно купить безлимитное количество за 270₽ в сутки, 490₽ в неделю, 1200₽ в месяц или 7300₽ в год. Также биржа не регулирует платежи менее 3000 рублей, что не подходит новичкам, ведь им доверяют заказы меньше этой суммы.
На Хабр Фриланс намного больше, чем у конкурентов, разделов, посвященных разработке на Python.
Выбор бирж в СНГ огромен, но они не без недостатков. Остается искать заказчиков за границей. Upwork позволяет работать с нанимателями из разных стран. На этой бирже заказчики готовы платить больше, но и требования у них соответствующие. Если ваш уровень английского позволяет работать с иностранцами, то определенно стоит попробовать зарегистрироваться на Upwork. Сервис не просит оформить платную подписку или же купить право откликаться на заказы. Биржа берет 20% с выполненного заказа. То есть вы можете начать зарабатывать без вложений.
Итак, чтобы работать только на себя, нужно идти во фриланс. Как мы уже поняли, фриланс бирж много и перечисленные в статье — малая часть ассортимента, представленного на рынке труда. У каждой площадки свои минусы и плюсы, и каждый преследует свои цели и задачи, но для всех бирж действуют следующие правила:
- Необходимо внимательно заполнять профили и портфолио, чтобы работодатель сразу оценивал ваши способности и понимал отдавать вам заказ или нет.
- Придется потрудиться для получения первых заказов, ведь без хорошего рейтинга и отзывов заказы будут добываться с трудом. Со временем, когда в вашем профиле будет много положительных отзывов с заказами проблем не будет.
- Не стоит беспокоиться насчет безопасности сделок. Если следовать правилам биржи, то вы и ваши честно заработанные деньги будете защищены. Везде техподдержка решит проблему и заминок с выводом или получением денег не возникнет.
С темой фриланса мы разобрались, но что делать тем, кто хочет работать в крупной IT компании? Нужно идти на популярные сайты по поиску вакансий:
Это крупнейшая российская компания интернет-рекрутмента. С hh.ru сотрудничают свыше 350 тысяч компаний. Среди них присутствуют такие IT-гиганты, как Yandex, Ozon, Nvidia.
По запросу “Python разработчик” (Стоит писать без дефиса. Так hh.ru и другие сайты находят больше вакансий) сайт выдает 9751 вакансию.
Как и на фриланс биржах вы можете как откликнуться на вакансию, так и разместить свое резюме, чтобы работодатели сами нашли вас. Если вы специалист высокого уровня вас непременно заметят и предложат высокооплачиваемую должность.
На сайте гибкая система фильтров, где можно подобрать вакансию по разным параметрам. Даже без опыта работы велики шансы найти должность стажера или junior-разработчика. Также hh.ru рассылает письма на электронную почту с подбором подходящих вакансий. Если вам ответил работодатель, то сразу же приходит уведомление на e-mail, что избавляет от необходимости постоянно открывать сайт для проверки.
Авито — известный российский сайт по предложению услуг.
По запросу “Python разработчик” сайт выдает маленькое количество предложений. Видно, что IT компании не заинтересованы в поиске сотрудников через Авито. Фильтры для поиска не гибкие, например, отсутствует возможность выбрать проф. область компании.
Еще один проект Хабра, соответственно Хабр Карьера предназначен исключительно для IT-шников.
По запросу “Python разработчик” сайт выдает почти 3000 вакансий. На площадке присутствуют многие топовые российские IT компании: Яндекс, Лаборатория Касперского, 2GIS, Tinkoff, МТС, Билайн, Сбер. Предложения сортируются даже по профессиональным навыкам, что очень удобно.
Параллельно с поиском на специализированных сайтах не лишним будет и отсылать резюме в интересные вам компании. Контакты для связи можно найти на официальном сайте организации.
Теперь стало ясно, на каких сайтах стоит подбирать подходящие вакансии, чтобы трудиться на благо чужой компании. Если же вы хотите основать свою компанию и быть как Стив Джобс, Билл Гейтс или Павел Дуров, то запускайте стартап. Этот путь подразумевает огромные риски. В один момент можно потерять все, и это не преувеличение. Неудавшийся стартап может обречь на вечное выплачивание кредитов. Однако если у вас в голове засела гениальная идея, вы толковый разработчик с предпринимательской жилкой, лидерскими качествами и непреодолимым желанием покорить мир — ищите инвесторов, нанимайте команду и работайте над личным проектом.
Популярные места поиска работы мы уже рассмотрели, но остаются еще не самые очевидные, но не значит бесперспективные способы поиска.
В этом мессенджере много полезного для разработчика контента: каналы с технической литературой, тематические чаты, а также каналы, где публикуются вакансии, которых нет на популярных сайтах, можно найти каналы, которые специализируются именно на Python и регулярно получать информацию о новых вакансиях.
В постах компании сразу выдвигают требования к будущему сотруднику, обозначает навыки и умения, которыми он должен обладать. В роли фильтров здесь выступают хэштеги. Вакансии добавляются несколько раз в день.
Те, кто учился или учится в ВУЗе на одну из IT специальностей могут попросить своих преподавателей, чтобы они рассказывали о вас знакомым работникам местных компаний, которые заинтересованы в поиске молодых и талантливых разработчиков. Если вы были хорошим студентом, то наставники будут только рады помочь устроиться на высокооплачиваемую должность.
Не лишним будет и самому поднапрячься и постепенно обрастать выгодными знакомствами из мира технологий. Полезно иметь товарищей, которые могут позвать работать к себе в компанию.
Куда пойти, когда только выучил Python: советы начинающему специалисту
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 превратился в профессию, важно определиться с конкретной сферой применения и развиваться в ней.