Зачем изучать Python Статьи редакции
Студенты Skillbox, преподаватель и разработчик рассказывают об особенностях языка и требованиях рынка.
Материал подготовлен при поддержке Skillbox
В серии публикаций #skillbox студенты образовательной онлайн-платформы рассказывают о том, что подтолкнуло их к освоению новой специальности, преподаватели защищают методики, а эксперты объясняют, зачем такие специалисты вообще нужны.
Python
Никита Соболев — разработчик, основатель студии Wemake.services
Если владеешь любым другим языком программирования, то научиться Python будет очень просто. Это моя история — я программировал на Java, но мне внезапно понадобилось изучить Python. Проблем не было: язык простой, входной порог низкий.
У меня были собственные проекты на Java, но Python мне понравился больше. В частности, с этим языком я успеваю написать больше кода. Производительность программиста, который работает на Python, в разы выше. Поэтому наша команда полностью перешла на этот язык.
Спустя год работы с Python можно стать намного эффективнее. Для сравнения — я три года мучаюсь с языками Erlang и Elixir и всё равно многого не знаю, потому что у них есть своя специфика. С Python меньше трудностей.
Программисты со знанием Python очень сильно востребованы. Если указать в своем профиле на Github проекты с Python, у которых есть хотя бы 10–15 звездочек, то автоматически попадаешь в алгоритмы HR-специалистов, которые начинают заваливать письмами каждые два дня: сиди, выбирай и соглашайся на всё, что нравится.
Компаниям нужно много людей, но их просто нет в таком количестве. На рынке есть несколько подразделов Python-разработки, которые сейчас наиболее популярны — работодатели берут даже новичков. Первый — Data Science. Это направление практически полностью основано на Python. Специалистам нужна хорошая математическая подготовка и базовые знания языка.
Второй подраздел — это Scrapping. Разработчики пишут «пауков», которые ходят и собирают информацию на сайтах и используют для тех или иных целей полученные сведения. Таким специалистам нужны базовые знания программирования на Python.
Через эти два вида деятельности легко войти в сферу программирования на Python: учишь базовые понятия, находишь работу, начинаешь получать реальные деньги, подтягиваешь уровень и постепенно становишься серьезным специалистом.
Однако, естественно, есть веб-разработка, в которую достаточно сложно войти, обладая только начальными знаниями. В этой сфере установлены самые высокие требования. Но заняться веб-разработкой на Python, обладая базовыми навыками, тоже реально. Есть два варианта входа — это опенсорс и фриланс.
По моим субъективным оценкам, большая часть вакансий по-прежнему предусмотрена для программистов на Java и JavaScript. Но Python входит в тройку лидеров. Перед Python-программистом открывается много перспектив, потому что платформа достаточно разнообразная и используется для разных технологий. Карьерный рост тоже быстрый — из-за простоты языка.
Но несмотря на востребованность Python-разработчиков, серьезных специалистов достаточно мало, и их тяжело найти. Они все скрыты, потому что компании их охраняют, берегут и молятся на них: найти замену такому специалисту крайне тяжело.
Вадим Шандринов — преподаватель курса
Я программирую 30 лет. Впервые начал в восьмом классе, продолжил в институте. Именно Python-разработкой я занимаюсь с 2000 года.
Плюс этого языка программирования в том, что у него низкий порог входа для обучения. Чтобы написать примитивный небольшой код, хватит нескольких дней. Но на изучение более тонких вещей — библиотек, принципов и подходов — предстоит потратить гораздо больше времени.
Python — открытый язык, есть исходники. Программист может посмотреть, что и как делают другие разработчики. Так как язык старый, то для него написано много библиотек — на все случаи жизни.
Сейчас, как мне кажется, Python стал чересчур популярен — его начали использовать многие организации: NASA, Google, Dropbox, Instagram и другие. Подобная ситуация была с Java, который сейчас используют большие компании. Например, вся Android-разработка проходит на этом языке.
Я изучаю вакансии, которые публикуются на hh.ru: ежедневно соискателям доступно около 200 различных предложений. Рынок очень большой, специалисты сильно востребованы. Но есть провал — компаниям, как правило, нужен программист с уровнем Middle или Senior. Практически во всех вакансиях указывается опыт работы от двух–трех лет. Очень редко требуются Junior-программисты — позволить себе нанимать молодых специалистов обычно могут только большие компании вроде «Яндекса».
Поэтому Junior-программисты мучаются с поиском работы — они знают язык, у них есть проекты, но не могут трудоустроиться, несмотря на востребованность.
Я думаю, что наш курс поможет устранить этот разрыв: мы готовим специалистов со знанием не просто языка, но и того, какие есть библиотеки и фреймворки. Также собираемся организовать стажировки: приглашаем компании стать партнёрами, чтобы потом брать к себе на практику лучших.
Особенность курса в том, что обучение начинается с самых основ. Мы включили много элементов геймификации — некоторые моменты я объясняю, что называется, на пальцах. Например, с помощью мультфильмов или инсценировок.
В курсе большая визуальная составляющая — с помощью кода выводятся падающие снежинки, космические корабли и другие элементы. Это гораздо интереснее, чем просто строки в консоли.
Мы погружаем студентов в профессиональную среду с помощью использования системы контроля версий. У всех программистов это основной инструмент работы. Я взаимодействую со студентами через Git (распределённая система управления версиями): они пишут код, коммитят его, загружают на сервер, а я проверяю и оставляю комментарии.
Коммит — это комментарий разработчика, в котором описаны изменения, произошедшие в коде.
Можно сказать, что мы эмулируем профессиональную жизнь программиста. Это нужно, потому что компании при приеме на работу спрашивают не про знания систем контроля версий, а про опыт работы с ними.
Курс разбит на две части. Первая посвящена самому Python, навыкам программированиям на нем. После прохождения первой части студент понимает, подходит ему это или нет. Вторая часть курса — веб-разработка с использованием фреймворка Django. После окончания обучения студент может себя позиционировать как крепкого Junior-программиста.
Django — это свободный фреймворк для веб-приложений на языке Python.
Игорь, 25 лет — студент с небольшим опытом программирования на C++
Я работаю преподавателем в клубах робототехники — рассказываю детям про электронику и программирование. У меня есть высшее техническое образование, но его качество я могу назвать «никаким». Также я обладаю базовыми навыками программирования на C++.
Я регулярно читаю журналы — «Популярную механику», «Машины и механизмы» и РБК. В этих изданиях говорится о развитии ИТ-индустрии, о машинном обучении, интернете вещей, блокчейне, квантовых компьютерах и других. В этих областях часто встречается использование Python: он популярен, а область его применения широка. Можно сказать, что язык поможет залезть в большое количество разных сфер.
Мне захотелось более плотно заняться программированием, и я решил попробовать изучить Python. Искал курсы в интернете, пересмотрел разные варианты и остановился на Skillbox.
После каждого модуля есть домашнее задание — без его выполнения не получится перейти к следующей теме. Задания бывают разные. Например, один раз надо было запрограммировать текстовый симулятор жизни, в котором есть человек и коты — надо было понять, сколько животных он смог бы прокормить.
Работы преподаватели проверяют с профессиональной точки зрения, как в реальной компании: код должен не просто работать, но и быть чистым. Сначала кажется, что преподаватель придирается к мелочам, но на самом деле он досконально изучает код — это хорошо.
Если есть какие-то вопросы и проблемные моменты, то задания отправляются на доработку. У меня получилось сдать с первого раза только начальную домашнюю работу. В конце обучения должен быть выпускной проект.
Курс дает базовые знания — он на это и рассчитан, исходя из его содержания и цены. Для людей, у которых нет навыков программирования, он, наверное, подойдет, но в какой-то момент может показаться сложным. В начале даются базовые понятия, с которыми всё просто, но для более сложных нужен определенный склад ума и опыт.
Моя основная цель — проверить, насколько мне подходит подобный формат обучения, так как я впервые в жизни записался на онлайн-курс. Если всё будет хорошо, то планирую потом найти уроки по Python-разработке с более глубоким погружением.
На мой взгляд, базовые знания, которые даёт курс, равняются опыту Junior-разработчика. Значит, можно устроиться на стажировку в ту или иную компанию.
Александра, 29 лет — студентка с опытом программирования на C++
Я занимаюсь программированием пять лет. Один из языков, который я знаю — C++. Но моя работа связана с наукой, и написание кода не стоит на первом месте в списке моих обязанностей.
В какой-то момент я заметила, что растеряла навыки программирования, так как последние годы уделяла ему очень мало времени. Решив, что забыла, как писать код, я решила поучиться чему-то новому.
Я уже долгое время была подписана на Skillbox и увидела информацию о курсе по Python-разработке. Раньше я никогда не работала с этим языком и не интересовалась им, хоть и знала о его существовании. Зря: оказалось, что это клевый и интересный язык программирования.
Я только недавно записалась на курс и нахожусь на начальном этапе обучения. Нам даются видеоуроки, но если есть вопросы, можно написать преподавателю. После каждой темы предусмотрены домашние задания — их преподаватель проверяет вручную и затем говорит, что исправить. Когда результат его удовлетворяет, можно перейти к следующему уроку.
В начале задания казались мне скучными, потому что курс начинается с самых основ и ориентирован на людей, которые ничего не знают о программировании. Первые домашние работы очень простые – нужно вывести какие-то значения или что-то посчитать. Но с каждым уроком задания усложняются и появляются такие, в которых можно проявить фантазию.
Мне кажется, что студентам без знаний программирования легко освоить такие темы, как переменные, циклы и условия. Но может стать тяжело, когда начнётся объектно-ориентированное программирование.
Но преподаватели заинтересованы в том, чтобы студенты всё понимали. На уроках иногда даже показывают мультфильмы, чтобы объяснять сложные моменты. Мне это, конечно, кажется смешным, но если студентам непонятно и тяжело, то такой подход может помочь.
У меня пока нет планов на использование Python на практике, потому что я не собираюсь уходить со своей работы. Я рассматривала этот курс в качестве встряски для мозга, чтобы вспомнить программирование: какой бы язык ни был, основы одинаковые, и есть, что вспомнить. Но, конечно, не хотелось бы закончить курс и совсем забыть про Python: это правда крутой язык.
Python — второй по популярности язык программирования в мире. Практический 4-х месячный курс программирования на Python с индивидуальным наставником подойдёт тем, кто хочет научиться основам программирования на универсальном, понятном и лаконичном языке.
- Более 80 видеоуроков в 16 модулях.
- Проверка каждого домашнего задания преподавателем.
- Сертификат о прохождении курса.
"Если указать в своем профиле на Github проекты с Python, у которых есть хотя бы 10–15 звездочек, то автоматически попадаешь в алгоритмы HR-специалистов, которые начинают заваливать письмами каждые два дня: сиди, выбирай и соглашайся на всё, что нравится"
Я понимаю что людям надо курсы свои продать, но это прям откровенное вранье)
10–15 звездочек на Github - это достаточно много, поверьте. И техлиды это знают.
Враньё всё.
Вот что они обещают:
"После прохождения всей программы вы сможете претендовать на звание Senior Developer или тимлида"
Ctrl+F с Вами спорит :) где нашли такие обещания-то? пруф пожалуйста.
Крепкий джуниор, который сможет сам сделать сайт на 10 страниц и на 3-4 таблицы в базе данных, готовый работать в команде, со знанием принципов чистого кода - да, это наша цель.
А вот что вырастет из джуна - ему самому видней
Это курс ПХП, не python, вы ошиблись -- https://skillbox.ru/php/
Для пайтона написано другое и за это я ручаюсь.
Комментарий удален модератором
Да нет, он просто забыл добавить что:
вы из CAу вас приличный профиль на линке
Тогда все сходится :)
Ну - кагбэ 10-15 звёздочек это уже что то! Имхо, это означает что Главный контрибьютор - уже определённый специалист и сделал что-то полезное минимум 10 другим специалистам.
Такого человека и вправду могут пособеседовать. Нанять? По результатам бесед, имхо
Даже непонятно, что тут больше рекламируется - курсы или Макбуки
Комментарий удален модератором
самостоятельно ради интереса учу питон и не чувствую себя врачом. Скажу что мной просто двигает интерес. Также питон куда легче чем Си и польза от него выше так как я сразу можно использовать как калькулятор. Куда это меня заведет не знаю (думаю со временем на Отус)
Комментарий удален модератором
а что лучше почитать по питону?
Комментарий удален модератором
Комментарий удален модератором
Мне интересно мнение людей по поводу того как развиваться в питоне. Потому не важно какая задача. Вот что впечатлило больше всего? Какая книга, какая задача?
Для первого языка может и нормально, но потом лучше всё-таки что-то более целенаправленное учить. Тот же PHP имеет огромные преимущества для веб разработки, которых у Пайтона нет. А про Java я вообще молчу.
А в чем, простите, преимущество ПХП над Пайтоном в этой вашей веб разработке?
Например нанимать дешевых script kiddies которые будут писать сайт местной сауны которым все равно никто не будет пользоваться.
Мне кажется, вы немного неверно применяете понятие "скрипт кидди" — https://en.wikipedia.org/wiki/Script_kiddie
Я слышал для такого JS проще, фуллстеков сразу берешь за смузи и скидку на посещение.
Потому что ты его учишь сразу для веб, соотвественно порог вхождения низкий на рынок труда.
А что мешает учить сразу Python+Django\Flask\Pyramid и получить тот же самый низкий порог вхождения на рынок труда того же самого вебчика?
Потому что иногда для мелких проектов достаточно простого пхп или js. И никто не будет хантить питонщика для этой цели.
Я ещё раз спрошу, почему вы считаете что "простой пхп + js" предпочтительнее, чем "простой python + js"?
Какие-нибудь аргументики, выборки и прочее?
Комментарий удален модератором
Вообще-то пхп это уже давно ООП со всеми вытекающими. То что вы написали уже уходит в прошлое. Все курсы и книги по пхп почти в первых главах учат ООП.
И кстати, 122 без кавычек :)
Комментарий удален модератором
Вот почитайте, там многое из того, что я хотел вам донести.
https://habr.com/post/322332/
Комментарий удален модератором
так может сказать только человек, который поверхностно знаком с Python'ом.
а вот и кодеры которые пишут php на любом языке подтянулись
А всех выпускников ждём на митапы MoscowPython. :)
А джуниор пайтон митапы больше не проводите?
Мы проводили пару раз - сейчас времени на это, к сожалению, нет. :( Хотя если найдётся человек, который захочет нам в этом помочь...
Я думал об этом, но тоже времени нет. Вот когда с курсом устаканится всё - время появится :)
А на ваших митапах митболы будут?
Что значит "будут" - у нас 56-й митап в мае, мы 6 лет назад начали. ;)
Пицца иногда бывает. ;)
Поздравляю, удачи. ;)
Это курс ПХП, не python -- https://skillbox.ru/php/
Для пайтона написано другое и за это я ручаюсь.
А еще Django Girls, PyCon.
Django Girls тоже мы делали. И тоже пока приостановили. Ну выпускникам курсов это уже не нужно, думаю - там всё-таки базовый уровень.
Pycon - это хорошо.
Moscow Python Conf - тоже хорошо. :)
Комментарий недоступен
Непонятно, нафига людям из статьи другие языки если у них есть опыт C++? :)
Да и если он есть, то курсы таким вряд ли были бы нужны.
насчет второго согласен
насчет первого: один плюс не делает человека человеком, два тоже :)
Некоторое время пришлось разрабатывать на python (мой основной язык php). Получил положительный опыт, но от перехода остановил опыт - после 8 лет разработки на php не сильно хочется так радикально менять язык программирования.
Аналогично, только у меня 16 лет опыта, и не вижу смысла менять шило на мыло.
обычно привыкаешь к стилю языка и менять не хочется и не надо.
Но иногда можно пробовать что-то на стороне :) Это как рыбак, он ходит на "свое место" год за годом, но _иногда_ пробует и другие места. И бывает так, что "свое место" меняется...
Я смотрю, дальше базовых структур и данных никто не заходит
успешно скрэппить можно не только на Python
Комментарий удален модератором
Комментарий удален модератором
напша на уши