Как научиться разработке на Python: новый видеокурс Яндекса
Осенью прошлого года в московском офисе Яндекса прошла первая Школа бэкенд-разработки. Мы сняли занятия на видео и сегодня рады поделиться на Хабре полным видеокурсом Школы. Он позволит вам научиться промышленной разработке на Python. Авторы лекций — опытные разработчики в Яндексе. К каждому видео приложены ссылки на примеры и полезные материалы.
1. Устройство CPython — Егор Овчаренко (конспект на Хабре)
Поговорим о том, почему и что мы пишем на Python. Обсудим устройство интерпретатора и словарей, менеджмент памяти и типизацию. Вы узнаете, как работают генераторы и как устроены исключения.
Ссылки
2. Объектно-ориентированное программирование — Валерий Лисай
Поговорим об ООП и его реализации в языке Python. Рассмотрим такие темы и понятия, как декораторы, дескрипторы и метаклассы.
Ссылки
3. Тестирование — Мария Зеленова
Поговорим о том, что такое тестирование ПО, какие бывают тесты и зачем их писать. Расскажем про библиотеки для тестирования Python-кода: unittest, pytest, doctest. Узнаем, чем они отличаются, и посмотрим на простые примеры тестов. Затронем тему непрерывной интеграции: что это такое, как это используется в разработке.
Ссылки
4. Базы данных — Татьяна Денисова
Поговорим о том, что такое данные, какие базы данных бывают и чем они отличаются. Вы узнаете, какие особенности работы с БД нужно иметь в виду разработчику. Обсудим, как характеризовать, структурировать и хранить данные с расчётом на текущие особенности системы и её будущее масштабирование.
Благодаря полученным на лекции знаниям разработчик сможет понять, в какую из упомянутых тем нужно углубиться для решения конкретной задачи, а в случае возникновения багов — определить, является ли источником проблемы работа с БД. И если да, то в какую сторону копать.
5. Базы данных: модели, миграции, тестирование — Александр Васин
Это лекция о практической работе с реляционными базами данных на примере PostgreSQL. Поговорим о том, как выбрать РСУБД, как выглядит инфраструктура в продакшене, сравним синхронные и асинхронные драйверы PostgreSQL. Узнаем, как устроен драйвер БД. Обсудим эффективную работу с данными, именованные и неименованные курсоры, использование транзакций, RETURNING и UPSERT.
Вы узнаете, как сделать отказоустойчивое и масштабируемое приложение, что такое Query Builder, ORM и когда их использовать (на примере SQLAlchemy), как писать миграции БД (на примере Alembic), а также зачем и как их тестировать.
6. Архитектура — Олег Ермаков
Рассмотрим три части проектирования новой функциональности системы:
— API для клиент-серверного взаимодействия;
— паттерны проектирования на уровне кода (обоснование необходимости декомпозиции со ссылкой на Мартина Фаулера);
— архитектура межсервисного взаимодействия.
Ссылки
15 тривиальных фактов о правильной работе с протоколом HTTP:
habr.com/ru/company/yandex/blog/265569
Стажер Вася и его история об идемпотентности API:
habr.com/ru/company/yandex/blog/442762
7. Инфраструктура — Дмитрий Орлов
Обсудим инфраструктуру вокруг программы на Python: репозиторий Python Package Index (PyPI), инструмент virtualenv, процесс деплоймента, систему управления конфигурациями Ansible, виртуализацию и контейнеризацию.
Ссылки
8. Алгоритмы — Илья Волков
Поговорим о структурах данных, вычислительной и амортизированной сложности.
На примере простого списка задач и его эволюции с постепенными улучшениями рассмотрим подходы к задачам написания серверной части веб-приложений. Сделаем обзор подходов и обычных приёмов оптимизации задач и кода. В заключительной части лекции рассмотрим процесс прохождения технических собеседований в IT-компаниях.
Cсылки
Реализация списков в Python: docs.python.org/3.7/faq/design.html#how-are-lists-implemented-in-cpython
Разбор реализации списков в Python на Хабре: habr.com/ru/post/273045
Разбор алгоритма B-Tree на Хабре: habr.com/ru/post/114154
Разбор алгоритма LRU: habr.com/ru/post/136758
Работа LRU кэша в Redis: redis.io/topics/lru-cache
Список команд Redis с вычислительными сложностями — можно поугадывать, что происходит под капотом: redis.io/commands
Галактические алгоритмы: en.wikipedia.org/wiki/Galactic_algorithm
Пример задачи на собеседовании из лекции: leetcode.com/problems/trapping-rain-water
Введение в теорию сложности на Хабре: habr.com/ru/post/196560
Дайджест сервисов для практики программирования: tproger.ru/digest/competitive-programming-practice
Пример сервиса с более-менее простым набором задач для знакомства с новыми языками: exercism.io
9. Дебаг, логирование, профилирование — Юрий Шиканов
В начале лекции вас ждёт введение в базовые знания по операционным системам (в частности, Linux). Затем рассмотрим управление памятью, процессами, многозадачность, IPC, файлы, системные вызовы. Покажем, как работать со встроенным в Python дебаггером Pdb. Поговорим про логирование в целом и про библиотеку logging в Python. Узнаем, как бороться с недостаточной производительностью программ и как найти узкое место, в котором тратится больше всего ресурсов процессора или памяти.
10. Асинхронное программирование. Лекция первая — Эдуард Жук
Рассмотрим, в чём проблема синхронных приложений и что с этим можно сделать.
Обсудим, что происходит с точки зрения ОС при HTTP-запросе, как обрабатывать несколько запросов одновременно и какие есть преимущества и недостатки у процессов и потоков в веб-серверах. Вы узнаете об особенностях потоков в Python. Обсудим неблокирующий ввод-вывод: как обрабатывать несколько запросов в одном потоке.
Поговорим о том, что такое event-loop и зачем он нужен. Затронем тему выбора между синхронным и асинхронным решением.
Ссылки
11. Асинхронное программирование. Лекция вторая — Александр Васин
Эта лекция — небольшая обзорная экскурсия по asyncio: библиотеке, интерфейсу и стандарту для асинхронного программирования в Python.
Мы рассмотрим высокоуровневый интерфейс asyncio (coroutine, task, future и методы для работы с ними), низкоуровневый интерфейс (цикл событий, политики), а также асинхронные интерфейсы Python (менеджеры контекста, итераторы, генераторы, comprehensions). Расскажем, зачем нужен aiohttp, как на нем написать веб-приложения. Вы узнаете, что такое middleware, каким образом aiohttp позволяет сериализовать данные и как выполнять асинхронные задачи в фоне.
Ссылки
Build your own async (David Beazley): youtu.be/Y4Gt3Xjd7G8
Asyncio сегодня и завтра (Юрий Селиванов): youtu.be/3rSAtD2gKQE
PEP 492: Coroutines with async and await syntax: python.org/dev/peps/pep-0492
PEP 530: Asynchronous Comprehensions: python.org/dev/peps/pep-0530
12. Асинхронное программирование. Лекция третья — Дмитрий Орлов
При разработке асинхронных приложений с Python и asyncio иногда возникают проблемы, связанные c управлением фоновыми задачами, блокировкой stdout, retry policy и блокирующими операциями. Вы узнаете о том, как команда сервиса Едадил решает эти проблемы при помощи aiomisc, об основных концепциях этого опенсорсного проекта, базовых классах, готовых сервисах, декораторах, работе с потоками и о многом другом.
Как стать мидл python-разработчиком за полгода: опыт выпускников Практикума
В июле 2020 года Яндекс.Практикум запустил курс для бэкенд-разработчиков, которые хотят улучшить свои навыки, а не учиться с нуля — «Мидл python-разработчик». Что происходит с выпускниками, когда они завершают обучение и получают диплом? Достаточно ли знаний, полученных на курсе, чтобы претендовать на позицию мидла?
Мы поговорили с выпускниками первых наборов, которые получили офферы практически сразу после защиты дипломных проектов, и выяснили, насколько сложно было учиться и что помогло быстро найти работу. А ещё спросили у тимлидов и эйчара нанимающей стороны, как они видят выпускников Практикума и насколько те готовы к реальным задачам.
Немного о курсе и дипломах
Курс для мидлов-питонистов рассчитан на полгода. За это время студенты успевают изучить популярные фреймворки, попробовать асинхронное программирование, разобраться с чувствительными данными, UGC и системой уведомлений. В качестве финального проекта студенты должны написать сервис для онлайн-кинотеатра: биллинг, рекомендательную систему или голосовой помощник.
К защите проекта все серьёзно готовятся: и студенты, и наставники, и комиссия. В комиссию мы приглашаем лидов и эйчаров крупных компаний, чтобы они могли понять уровень выпускников, непредвзято оценить их работу и, возможно, сразу договориться о собеседовании. Защиты проходят строго по таймингу, а вопросы и фидбек всегда даются в дружелюбной форме.
Защита проходит по классическому сценарию: вначале студенты проводят небольшую презентацию задачи, на которой рассказывают, почему они выбрали такую тему и что у них было до начала работы над дипломом. Потом идёт углубление в проект: какие требования они себе поставили, какая архитектура у них получилась, как они шли к результату, как делили задачи и какие сложности возникали. Далее — демонстрация реальной работы созданного сервиса и ответы на вопросы комиссии. После успешной защиты выпускники получают долгожданные дипломы.
Мы собрали истории студентов, которые трудоустроились меньше чем за месяц после защиты диплома. У некоторых до курса не было коммерческого опыта разработки на Python, но при этом у них получилось пройти технические собеседования.
Многие первые выпускники устроились в «Циан» — на защитах присутствовали лиды команд из этой компании, и они решили нанять «горячие» кадры. Ещё выпускники получили офферы из PandaDoc, EPAM и X5.
Что говорят студенты
Олег Смирнов, младший python-разработчик, «Циан»
В институте мне очень нравилось заниматься разработкой, но я пошёл работать по специальности — специалистом по информационной безопасности. В свободное время занимался разработкой и автоматизацией бизнес-процессов внутри той же компании.
В какой-то момент я понял, что не получаю удовольствия от своей работы, и решил уйти непосредственно в разработчики. Но после выпуска из института прошло пять лет, и я понимал, что сильно проседаю в хард-скилах — нужно как-то наверстать упущенное. После таких выводов я начал искать подходящие курсы.
В это же время несколько моих знакомых учились на различных курсах Практикума или уже закончили их. Они давали только положительные отзывы, поэтому я оплатил курс здесь.
На входе у меня уже были навыки программирования на Python, а также на других языках, опыт работы с реляционными СУБД, Docker, да и в целом неплохая база после института. На курсе научился работать с базами данных NoSQL, различными фреймворками и технологиями, познакомился с принципами и архитектурными подходами в разработке сервисов и много с чем ещё.
Во время учёбы я познакомился с крутыми ребятами: студентами, наставниками, кураторами — все очень открытые и отзывчивые. Мне понравилось, что курс построен вокруг реализации конкретного продукта — мы делали сервис для онлайн-кинотеатра. Это расширило кругозор во многих технических вопросах.
Каких-то сложностей при поиске работы я не испытал, и у меня была рекомендация после защиты диплома в Практикуме. При выборе компании у меня было два критерия: она должна быть продуктовой и большой. В больших компаниях есть чему поучиться, а также можно переходить из команды в команду, чтобы менять проекты и задачи. Как правило, именно такие компании задают векторы развития для остальных, так как у них больше технических задач. Исходя из этих пожеланий я и выбрал «Циан». Собеседования проходили стандартно — помогали знания, полученные на курсе. Меньший грейд я выбрал сознательно: для меня было приоритетней пойти джуном в большую компанию, а не мидлом в маленькую.
Сейчас я занимаюсь разработкой различных микросервисов. Мне всё нравится: я занимаюсь тем, что приносит мне удовольствие, и меня окружает крутой коллектив. Трудности тоже есть: в основном они касаются изучения внутренних процессов и инструментов, но у меня есть ментор, что значительно упрощает ситуацию.
Что может посоветовать джун (по крайней мере по должности) джунам? Учитесь, развивайтесь, ищите возможности — так вы достигнете желаемого.
Виталий Кузовников, python-разработчик, «Циан»
У меня инженерное образование, связанное с автомобильными деталями, — я учился в МАДИ. Правда, по специальности так и не работал. При этом мне всегда нравилось программирование: в школе кодили на всяких «турбо паскалях», и это было интересно. Так что в целом меня можно назвать самоучкой.
Многому я учился на работе. Например, нужно было автоматизировать свои задачи, а потом появились какие-то базы данных — нужно было их изучать, строить хранилища, чтобы собирать данные. Потом появился Python, а когда захотелось немного поработать с вебом, появился Django.
В феврале 2020 года я полностью перешёл на работу разработчика с позиции менеджера. К августу понял, что хочу глубже погрузиться в бэкенд, расширить экспертизу. В сентябре начал учиться в Практикуме.
На входе у меня были знания Python, знание веба, знания Django, знание того, как работает монолит. На выходе разобрался с микросервисной архитектурой, как её деплоить и как она работает. Ещё понял, какие есть асинхронные фреймворки и как с этим жить.
Из обучения запомнилась некоторая сумбурность: мы были первой группой, которая пришла на курс. Но при этом мы пробовали много технологий, фреймворков, писали много кода — это было интересно.
С прошлой работы я ушёл ещё до сдачи диплома. В течение двух недель после окончания курса у меня было много собеседований. «Циан» был самым оперативным — вообще, это были самые приятные люди, с кем пришлось общаться. С ними было комфортнее всего проходить собеседования. Другие компании тоже предлагали работу, но процессы шли медленнее, да и с ними было не так прикольно и приятно общаться.
Первое собеседование было общее, чтобы познакомиться, потом прошёл техническое собеседование с ребятами из команды, в которой мне предстояло работать. Последнее — с руководителем и HR-директором. Это было собеседование на софт-скилы, которое определяло, насколько я подойду.
У меня нет никакого рецепта по удачному прохождению собеседований. Мне кажется, это было дело случая: мы друг другу понравились, и на большинство вопросов, которые мне задавали, я смог адекватно ответить.
В «Циан» я работаю уже несколько месяцев — делаю инструменты для риелторов. Постепенно привыкаю работать с новой для себя системой. В монолите достаточно легко понять, где что происходит, и ты сам можешь дотянуться до любой части системы. В микросервисной архитектуре, где много сервисов и много ответственных за каждый сервис, достаточно сложно разобраться, где же нужные тебе данные и сервисы. Но в целом постепенно складывается понимание этих связей, тем более всегда есть те люди, которые помогут.
Мой совет джунам, первый и банальный: нужно учиться, как на реальных проектах, так и искать компании, которые берут джунов. Второй совет: работайте в команде и учитесь взаимодействовать с другими разработчиками. Все крупные системы пишутся в командах, поэтому совместная разработка выходит на первый план.
Иван Фролов, python-разработчик в команде онлайн-маркетинга, «Циан»
Я всегда хотел заниматься разработкой — было интересно, как всё устроено с программной точки зрения. Потом это стало моей работой, о чём, конечно, не жалею.
У меня был опыт системного администрирования и разработки на платформе «1С». Ещё я разрабатывал небольшие сервисы на Python, активно изучал этот язык. То есть у меня было общее понимание работы компьютерных систем, базовые знания Python, навыки разработки на уровне бизнес-логики.
Практикум привлёк меня насыщенной и практичной программой. На курсе я гораздо глубже погрузился в ремесло разработки, научился решать задачи взаимодействия программ, систем хранения данных, очередей обмена сообщениями. Познакомился с паттернами построения проектов на микросервисной архитектуре и освоил её моделирование с учётом требований к нагрузке и отказоустойчивости.
Вообще Практикум открыл для меня новый мир в смысле технических вызовов и процессов, которые могут происходить внутри высоконагруженных сложных сервисов. А ещё у нас был классный ментор и не менее классная команда курса.
В «Циан» я устроился где-то через месяц после защиты. Офферы приходили, но главная сложность была в географии — я жил в Хабаровске, в итоге перебрался в московский часовой пояс.
Было два типа собеседований: в Яндекс и во все остальные компании. В Яндекс прошёл все технические собеседования и финалы с командами. Это было сложно, например, лайв-кодинг без возможности запуска, но больше с психологической стороны. Но, признаться, такой подход мне понравился больше — проверка как перед полётом в космос.
В «Циане» и других компаниях технические собеседования проводил тимлид команды. Помимо стандартной процедуры была возможность немного обсудить какие-то интересные вещи, узнать о проектах и процессах. Затем следовал раунд с HR и руководителем подразделения, где речь шла о ценностях компании, глобальных задачах и всём таком.
Я выбрал «Циан», исходя из субъективных ощущений — мне понравились люди. Особых сложностей с поиском работы не было, тем более, команда курса помогала и болела за меня. Мне нравится атмосфера в компании, нравится, что работаю с тем, что изучал на курсе.
Сейчас я разрабатываю инструменты, которые помогают объявлениям появляться в топе поисковых систем, когда пользователь ищет себе квартиру. Основная сложность — адаптироваться к новым инструментам и подходам. Но это всё — вопрос времени.
Совет для джунов: растите, изучайте программирование — это основа пути к более интересным задачам. А чтобы было проще, старайтесь разбирать на части всё, что видите в работе — так вы быстрее поймёте, как работает та или иная система.
Мнения лидов
Слава Безбородов, руководитель команды «Профессиональные инструменты», «Циан»
У меня сложились очень приятные впечатления от тех защит, на которых мне удалось поприсутствовать. Я увидел атмосферу, которая принципиально отличается от традиционных защит в тех же вузах: меньше стресса, акцент на нетворкинге.
Из-за специфики обучения студенты очень вовлечены в то, что делают, буквально горят идеей. Понятно, что все люди разные, и истории у всех разные, но большинство студентов показывают себя на защитах крепкими мидлами — на таких разработчиках и строятся команды.
Те, кто пришёл к нам после курса Практикума, выполняют все задачи наравне с другими участниками команды. Это и разработка новых фич, и поддержка существующих, и работа с дефектами, и задачи технического развития наших компонентов.
В первую очередь я обращаю внимание на софт-скилы кандидата, на его работу в команде, на то, как он общается. Я убеждён, что хард-скилы прокачать легче и быстрее, а вот взрастить в человеке внутреннюю зрелость — задача не из лёгких. Если я вижу, что у кандидата есть предпосылки к работе в команде, я готов поговорить про техническую подготовленность, про опыт использования различных технологий и фреймворков.
Для меня важно, насколько кандидату будет интересен продукт, который предстоит развивать. Мне неинтересно видеть в команде людей, которые просто выполняют поставленную задачу и не задаются вопросами, для чего это делают, какой импакт это даст на продукт и на пользователей. Мне интересны люди ищущие, предлагающие, думающие — только так команда сможет остаться конкурентной на рынке.
Каждому разработчику нужно пробовать новые технологии и подходы, учиться на своих ошибках и пробовать снова. Менять что-то вокруг себя, а обучение в Практикуме — уже начало этих изменений. А ещё рассказывайте о себе и о своём опыте так, чтобы нанимающие компании просто не смогли вам отказать!
Фёдор Фролов, технический руководитель направления «Онлайн-маркетинг», «Циан»
Считаю, что с появлением Яндекс.Практикума индустрия обучения в IT сделала огромный шаг вперёд. Вместо шаблонных лекций и пересказов литературы создана коллаборативная среда, максимально приближенная к реальной разработке.
Проделана большая работа, но всё же в результате многое сильно зависит от стартового бэкграунда абитуриента — не все из них пришли в IT с нуля. В одной команде может соседствовать программист с многолетним стажем и вчерашний студент. Поэтому у выпускников в итоге получается всё же разный уровень подготовки.
В моей команде выпускники курса почти сразу активно включились в работу — ведь им пришлось иметь дело примерно с теми же технологиями и подходами, которым их обучали. И это обучение было максимально приближенным к «боевой обстановке».
При приёме на работу я обращаю внимание на уровень технических знаний, ведь разработчик должен много знать, чтобы справляться с теми задачами, которые появляются в нашей команде. Но для меня гораздо важнее софт-скилы, ведь мы работаем в команде, вместе, сообща. Я смотрю на инициативность и тягу к знаниям — это залог развития как самого человека, так и продукта, над которым он работает.
Позиция HR
Георгий Новиков, глава IT-рекрутмента, «Циан»
Ребята на защите дипломов приятно удивили уровнем погружения в проект и открытой коммуникацией о всех сложностях, через которые пришлось пройти при создании продукта.
В «Циане» образ мидл-разработчика складывается из совокупности хард- и софт-скилов, которые мы определяем по результатам двух отдельных встреч: сначала идёт техническая, потом софтовая. Техническую встречу проводят ребята уровня сениор, где они проверяют знания кандидата по основным техническим блокам: Python, тесты, БД, асинхронность, архитектура, а также смотрят на опыт работы с конкретными инструментами. Если по результатам такого собеседования кандидат получает оценку грейда от мидла и выше, то мы приглашаем его на вторую встречу, где знакомим с тимлидом и HR BP продуктовой команды. Если по результатам второй встречи мы подтверждаем соответствие кандидата нашим основным ценностям — честность, открытость, гибкость, ориентация на результат, командная работа, — то его можно считать мидл-разработчиком.
Несколько лет назад мы рассматривали на позиции разработчиков только кандидатов с реальным опытом живых продуктов. Так получалось, что ребята, которые попадали к нам сразу после курсов, не имели достаточных технических скилов и практического опыта, чтобы пройти техническое собеседование у нас. За это время качество программ обучения выросло, во многом — за счёт обратной связи рынка, какие реальные навыки будут полезны для будущих выпускников.
Сейчас, с учётом нарастающего спроса на разработчиков, выпускники курсов становятся более востребованными для компаний. Наличие курсов в резюме — скорее положительный сигнал о том, что кандидат знает о своих зонах роста и стремится к тому, чтобы закрыть эти пробелы недостающими компетенциями.
Если вы хотите углубить свои знания по бэкенду или чувствуете, что засиделись в джунах, то приходите на курс «Мидл python-разработчик». Большая часть программы посвящена не особенностям Python, а брокеру очередей, отказоустойчивости, логированию, Nginx. Это как раз подходит под требования тех вакансий, которые сейчас актуальны на рынке.
Ревью курса от Яндекс Практикум: Python-разработчик
Здравствуйте, дамы и господа, в этой статье рассмотрим курс Python- разработчик от Яндекс Практикум. Давайте поглядим на программу курса, а также на то, стоит ли вообще тратить на это время или нет.
Видеообзор курса прилагается.
Поучимся Python у Яндекс Практикум
Но курсы упрощают и ускоряют процесс изучения. Именно поэтому решил поговорить о курсе от Яндекс Практикум Python- разработчик.
Подробности о курсе Python-разработчик
Знаете, многие считают курсы — бесполезным занятием. Причём вполне справедливо. Научиться всем можно самостоятельно. По тому же Python сотни учебников и огромное количество материала в интернете.
Но курс от Яндекс Практикум задачу заметно упрощает:
Вам дают всё поэтапно, информация собрана и систематизирована за вас. Не придётся тратить на это время.
Удобная платформа для изучения, кодить можно прямо в интерфейсе курса. Но это не самый лучший вариант на самом деле. Всё-таки, кодить лучше начинать сразу в нужных инструментах. Например, популярные IDE для Python — PyCharm, Eclipse. Есть и другие. Конечно, работать со средой вас будут учить, но только начиная со второго этапа курса.
Есть код-ревью, то бишь специалисты проверят качество вашего кода, а потом помогут «говнокод» превратить в нормальный.
Вам помогают специалисты, можно спросить совета, попросить помощи и разъяснений, если что-то непонятно.
Соответственно, не придётся надеяться только на себя. И это главное преимущество курса. Вам помогут, разжуют, положат в ротик. И это сэкономит много времени на обучение.
Вам будет предоставляться как теория поэтапно.
Так и практика, которая позволит самостоятельно покодить.
А так же первый блок курса даётся совершенно бесплатно, на нём сможете ознакомиться с платформой и понять, что и как здесь работает. А теперь к делу.
В пределах курса вам придётся сделать несколько веб-приложений. Простеньких, но для новичка будет за глаза. Соответственно, проекты станут частью вашего портфолио, которое сможете демонстрировать работодателям.
В целом, вы получите базу, на которую сможете ставить собственные кирпичики, ибо будете понимать принципы работы с Питончиком.
Но учтите, чудес от курса не ждите, всему тому, что предлагает курс, можно научиться самостоятельно, просто это будет несколько дольше. Ну и такие фишки, как код-ревью и помощь преподавателей тоже отпадают.
Но не переживайте, с код-ревью отлично помогает Stackoverflow или Хабр Q&A. И советы полезные получить можно. Так что бесплатные варианты есть. На этих платформах вертятся программисты, соответственно, часто отвечают на вопросы новичков, которые стараются познать азы сего дела. Фактически клуб по интересам.
Кому полезен курс Python-разработчик от Яндекс Практикум
Упор в пределах курса идёт больше на практику, то бишь больше кода, меньше воды. А то видел некоторые курсы, в которых по 2 часа рассказывают о какой-либо функции, как до неё допёрли, с какого языка слизали и т. д. У Яндекс Практикум, благо, не так.
Теория подаётся через видео и текстовые материалы, но её не особо много, только необходимое для понимания принципов языка.
Начнём с того, что курс заточен именно под backend- разработчиков, то бишь людей, которые разрабатывают серверную часть веб-приложений. Соответственно, вы изучите возможности бэкенда, работу с API, научитесь работать с алгоритмами. Заодно познакомитесь с фреймворком Django.
Бесплатная часть очень маленькая, всего 10 тем. Основная часть информации в платной версии, которая стоит, как могу заметить, немало.
Как видите, стоимость курса Python- разработчик от Яндекс Практикум составляет 85 000 рублей при единовременной оплате. Но можно платить ежемесячно по 11 тысяч рублей, но итоговая стоимость в таком случае составит 99 тыс. рублей.
Конечно, вполне возможно, что эти деньги быстро окупятся, ведь в пределах курса вам расскажут даже о резюме и собеседованиях.
Но работать в Яндекс явно не возьмут. Порекомендуют пройти курс на мидла.
В общем, стоимость реально высокая, но платите вы даже не за сам курс, а за сертификат Яндекс Практикум, который особой ценности не имеет, просто говорит о том, что вы решили пойти простым путём, а не собирать шишки самостоятельно, зарываясь в мануалы и пытаясь осознать, что такое Python, с трудом шагая через тернии «быдлокода», который ждёт всех новичков.
Так что если есть лишние деньги, нужен сертификат, который среди работодателей не очень-то и востребован, а также желаете не тратить время, а получить готовую программу, то этот курс однозначно для вас.
Если платить не желаете, то изучить сможете сами.
Вердикт
В принципе, купив или скачав несколько учебников по Python вы сможете получить тот же объем информации. Конечно, код-ревью ваших проектов никто делать не будет, но выше указал площадки, на которых можете получить помощь.
В целом, на курс Python- разработчик есть смысл тратиться в том случае, если хотите пройти по проторенной дорожке и не мучиться в поисках информации, а также если нужен сертификат. В остальных случаях особого смысла платить нет.
Спасибо за внимание, желаю успехов и рабочего кода!
Насколько публикация полезна?
Нажмите на звезду, чтобы оценить!
Средняя оценка 4.3 / 5. Количество оценок: 13