Старт в Python. Опытные разработчики о том, с чего начать учить новый язык программирования

Python известен своим приятным синтаксисом и простотой. Говорят, выучить его может каждый. Но с чего начать и как выстроить обучение, чтобы не забросить его на половине пути? Web Academy расспросила об этом программистов, которые не первый год работают с Python. Они рассказали и о своих первых шагах и о том, как понять, что уровень новичка пройден и можно смело подавать резюме в компанию мечты.

Антон Мазун, Python developer в GeeksForLess Inc (тренер Web Academy)

Кто может изучать Python

Python, как и любой другой язык программирования, может выучить любой человек. Многие думают, что нужно специальное образование. Но на самом деле это не совсем так. Все дело в практике и желании обучаться.

Понятие «Python как язык программирования» стоит рассматривать с точки зрения области его применения, а не самого языка. Язык программирования — это просто инструмент. Если вы хотите работать в data science, то конечно же, вам понадобится ещё очень мощный математический аппарат. А если же работать как back-end developer, то может хватить и школьной программы.

С чего Python начал учить я

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

Поэтому всем рекомендую выбрать для себя понравившуюся область и просто начать понемногу писать проект. В этом деле главное практика. Спустя какое-то время я вернулся к прочтению книг. Автор — Марк Лутц. Всем рекомендую.

Ближайший курс по направлению: Python с нуля

С чего начинать учить Python сегодня

Для начала нужно выбрать направление, в котором хотите развиваться. Затем — посмотреть, какие инструменты вам для этого нужны.

Вот несколько полезных ссылок от меня:

Python лучше учить на курсах или самостоятельно

Чтобы не путаться в тонне информации из интернета, я рекомендую пойти на курсы. Во всяком случае, там с вами будет тренер, у которого всегда можно что-то спросить. Но нужно понимать одну простую вещь: просто прослушав 100 часов лекций, работу мечты вы не получите. Курс нужен для того, чтобы структурировать ваш процесс обучения и получить ответы на вопросы от более опытных людей в этой сфере. Курсы — это только 20%, остальные 80% — это правильная обработка первых 20%.

Думаю, все-таки лучше совмещать курсы с самостоятельным обучением, потому что так у вас будет больше вопросов и не только теме курса. И логично предположить, что если больше есть больше вопросов, то будет больше и ответов.

Как понять, что от изучения Python уже можно переходить к работе

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

Как не быть в Python вечным новичком

Старайтесь больше узнавать новинок в сфере. По возможности — переходите на другие проекты. Чем больше проектов вы попробуете, тем круче для новичка. Увидите разные подходы, структуры, архитектуры и технологии.

Максим Орлюк, Software engineer в Reface (тренер Web Academy)

Кто может изучать Python

Кто угодно, кому интересен Python, может его учить. Я в принципе рекомендую начинать двигаться в направлении изучения программирования только в том случае, если это интересно. Потому что эта сфера специфична. И если нет «живого» интереса, вряд ли что-то получится.

Начинать учить можно абсолютно с нуля. Потому что Python сам по себе прост, в нем есть все конструкции, которые пригодятся в будущем. И нет особой нужды в каких-то специальных знаниях. Если разбираетесь на базовом уровне в алгоритмике, например, знаете, что такое оператор if, что такое цикл, будет просто отлично. Но в целом — ничего такого необязательно на старте.

С чего Python начал учить я

Я начал с книги, суть которой сводилась к тому, чтобы учить Python, разрабатывая игры. Но это были не те игры на компьютерах и смартфонах, которые мы знаем сегодня. Это были консольные игры вроде «Крестиков-ноликов». В этом формате я учил основы.

Также взял курс, но там были только лекции, а мне хотелось получать и домашние задания. Позже еще проходил курс от CyberBionic Systematics «Python Advanced».  На нем разбирали уже более сложные темы, но навыков я получил много.

С чего начинать учить Python сегодня

Сейчас сфера онлайн-образования очень развита: есть курсы с преподавателем и без, есть много статей на том же «Хабрахабр» или Medium. Что касается онлайн-платформ, рекомендую Coursera или Udemy. Можно выбрать любую и начинать.

Python лучше учить на курсах или самостоятельно

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

В свое время я столкнулся с проблемой: я не понимал, куда двигаться, так как сложно понять, что важного вычленить для себя, сосредоточиться и учить.

Выучить все сразу не получится — это очевидно. И из-за этого может возникать впечатление на первых порах, что как много ты не учил бы, знаешь все равно очень мало. А пласт знаний, который еще предстоит освоить, огромный. И найти путь, по которому двигаться дальше, чтобы обучение шло как по маслу, непросто. Но опытный человек, если будет рядом, поможет с этим разобраться.

Как понять, что от изучения Python уже можно переходить к работе

Важно понимать, что для работы нужен не только Python. Я не видел ни единой вакансии или работы, где было бы достаточно знать только лишь этот язык программирования. Обычно в требованиях хотя бы один или два фреймворка: Django, асинхронный фреймворк вроде aiohttp и пр. Также необходимо уметь работать с Git – это система контроля версий. А еще — иметь базовые понятия о том, как работает проект. Последнее необязательно, но крайне желательно.

Круто, если с первым резюме вы покажете свои pet-проекты. Это проект, который вы делаете для себя или, чтобы освоить что-то новое. Например, может быть pet-проект с использованием того или иного фреймворка, который даст понимание, как его использовать в боевых условиях, а не знать об этом только в теории. Это может быть телеграмм-бот, который будет присылать вам прогноз погоды. Или сервис, который будет присылать раз в день какую-то песню. Pet-проекты, по большому счету, могут не иметь какой-то пользы с точки зрения юазбилити. Но они показывают, что вы умеете работать с теми или иными инструментами.

Чтобы подаваться на вакансию, нужны отличные знания Python и знание процентов 75-80 стека технологий, с которыми будете работать. Не нужно знать все, но большинство — обязательно.

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

Работа в компании дает много преимуществ, помимо самого факта работы: опыт работы в команде, Code Review (старшие коллеги будут смотреть код), вы узнаете, что и как реализовано в проекте. Все это полезно на любом этапе карьеры, но на старте — особенно. Ведь с таким опытом со временем вы сможете решать проблемы, которые видели в компании, самостоятельно.

Как не быть в Python вечным новичком

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

Например, я, даже когда работал, читал статьи на «Хабре», где были темы по Python: о нововведениях, оптимизации, улучшению и пр.

Органично и правильно — это когда вы познаете Python и все, что с ним связано, не потому, что нужно, а потому, что интересно.

И вопрос «Как не остаться новичком в знании Python навечно?» отпадает, как только вы получаете первую работу. На проекте будет много фреймворков, изучая которые вы перерастете уровень новичка.

Вместе с тренерами Web Academy мы составили карту для изучения Python
Она поможет разобраться в тонкостях языка и не упустить ничего важного. Хотите отправим карту Вам в мессенджере?

Николай Осиный, Python Software Engineer в PrivatBank

Кто может изучать Python

Python доступен кому угодно. Здесь трудно не вспомнить Эйнштейна, который говорил: «Дело не в том, что я такой умный. Я просто трачу на решение задач больше времени». Сфера программирования ничем не отличается от других сфер: кто-то талантлив от природы и ему это легче дается, кому-то нужно будет приложить невероятные усилия. Но возможность есть у всех, тем более сейчас.

С чего Python начал учить я

Я начинал с изучения Java Core. И случайно, после обучения, на работе увидел книгу по Python. Меня удивило, что, оказывается, Hello World можно напечатать в консоль одной строкой, не объявляя классы и прочее. Так что меня зацепил «синтаксический сахар», а дальше по шаблону: узнал, что язык разносторонний для развития, что США диктует моду на него и т.д. Первым шагом к изучению стала онлайн-платформа на Stepic.org.

С чего начинать учить Python сегодня

Онлайн-платформы вроде Stepic.org, Udemy. Читать классическую литературу тоже не помешает. Рекомендую книги Марка Лутца.

Python лучше учить на курсах или самостоятельно

Лучше учить новый язык программирования самостоятельно и под кураторством ментора. Самостоятельно можно действительно разобраться и запомнить вопрос на всю жизнь. Ментор необходим для преодоления тупиковых ситуаций. Но сфера IT очень романтизирована сейчас, и рисуется чуть ли не как рай на Земле. Многие, попадая на реальную работу разочаровываются, что все не так, как было в рекламном буклете. Поэтому с курсами нужно быть осторожным — можно просто выкинуть деньги на ветер.

Как понять, что от изучения Python уже можно переходить к работе

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

Но когда будет что-то более-менее рабочее, нужно браться за реальную работу. Пересидеть на позиции трейни — тоже плохо.

Как не быть в Python вечным новичком

Рецепта нет. Выберите сферу, которая нравится (web/bigdata/ml) и постоянно работайте, изучайте новинки. Работая, трудно остаться новичком. Либо будет прогресс, либо сфера «выплюнет» человека на берег. Не без исключений, конечно.

Владислав Романюк, Python Software Engineer в PandaDoc

Кто может изучать Python

Каждый может, главное — усидчивость. Плюс Python в том, что ты не должен завязываться на определенную нишу, можно пойти в back-end, в Artificial Intelligence, Machine Learning и другие отрасли.

С чего Python начал учить я

Сам я знакомился с Python с книги Марка Лутца, но это очень плохой опыт. Книга была скучная и большая.

С чего начинать учить Python сегодня

Идеально начинать учить Python по книге Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total Beginners. Она нескучная и есть практические задания. Также рекомендую классный курс от Дэвида Бизли.

Python лучше учить на курсах или самостоятельно

Сложно сказать, как лучше учить Python. Здесь все зависит от человека. Если он может сам заниматься и ему не нужен контроль, то вполне можно обойтись и без курсов.

Как понять, что от изучения Python уже можно переходить к работе

Понять, можно ли начинать карьеру, очень просто. Попробуйте пройти собеседование. Чаще всего перед собеседованиями дают тестовое задание. Соответственно, если с ним справились, готовы к работе.

А что касается фриланса — однозначно сказать сложно, так как там все устроено иначе. Иногда достаточно научиться делать простенькие сайты-магазины и уже можно идти в бой.

Как не быть в Python вечным новичком

Я слежу на Pycon’ами, читаю книги и статьи, но самое главное — не уходить с головой в Python. Можно посмотреть в сторону других языков, учить фреймворки, базы данных, очереди сообщений и т.д. Чаще всего только лишь знаний Python не будет достаточно для того, чтобы получить работу. Нужно однозначно уметь работать с Git, базами данных и знать какой-то фреймворк: flask, fast api, aiohttp, django.