Python Developer. Professional

Best Practice по решению прикладных задач и освоению инструментов, применяемых в разработке ПО

29 марта

Professional

5 месяцев

Онлайн

Вт/Пт 20:00 Мск

Для кого этот курс?

Профессиональный онлайн-курс для тех, кто уже имеет опыт программирования на Python и хочет повысить свой уровень за счет новых знаний и навыков из различных областей разработки. Если вы уверенно чувствуете себя с Python, помните C, имеете представление о сетевом взаимодействии и реляционных СУБД, умеете обращаться с Linux, Git и прочими стандартными инструментами девелопера — курс для вас.

Необходимые знания

Для обучения вам понадобится базовый опыт программирования на Python, а именно, следующие знания:

  • web-часть с html/css/js понимание сетевых вещей для обкачки ресурсов
  • понимание как хранить добытое в БД представление о примитивах ОС - алгоритмы
  • базовые представления о разработке с участием Git, Bash и Linux (например, вы можете сделать свой простенький поисковый движок)
  • также плюсом будут знания C, которые пригодятся вам в дальнейшей работе
Пройди вступительный тест и получи видео о курсе

Что вам даст этот курс?

Погрузим вас в современную «промышленную» разработку на Python как в теории, так и на практике. При этом Python будет лишь инструментом, с помощью которого мы будем изучать различные области знаний. Главный фокус будет на основных Software Engineering компетенциях Python-разработчика и формировании прагматичного подхода к решению задач.

Особенности программы

Практикоориентированность и охват. В процессе обучения будет много домашних заданий, некоторые из них — настоящий challenge. А опциональные задания позволят самым смелым копнуть глубже и «потрогать» более продвинутые вещи. При этом области, в которых вы будете испытывать свои способности, имеют весьма широкий спектр: курс охватывает web, анализ данных и вопросы создания высоконагруженных систем.

В процессе обучения вы

Получите понимание структуры современной разработки ПО и место Python и прочих инструментов в ней, ответите на вопросы: «Как писать простой и идиоматичный код, за который не будет мучительно стыдно?», «Как тестировать и поддерживать код на Python?», «Как написать приложение, которое не умрёт под нагрузкой?».

После прохождения курса у вас будет:

  • 9-12 (в зависимости от желания выполнять опциональные задания) выполненных ДЗ на все темы курса
  • 1 мини веб-проект, богатый список литературы и референсов для ознакомления и углубления знаний программистов
  • код и материалы занятий, соединенные вместе в виде jupyter-ноутбуков, видеозаписи всех вебинаров занятий
  • проектная работа на интересную вам тему
Сравнительная таблица курсов: Python. Базовый курс, Python. Продвинутый курс и Web Python

Финальный проект и версия Python


В конце курса вы реализуете проект на свободную тему.
На курсе рассматриваются все особенности актуальных версий Python 3.6+.

Процесс обучения

Обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в телеграме курса, сдача домашних работ и получение обратной связи от преподавателя. Вебинары проводятся 2 раза в неделю по 2 академ. часа и сохраняются в записи в личном кабинете. Вы можете посмотреть их в любое удобное для вас время. В ходе обучения вы будете выполнять домашние задания. Каждое из них посвящено одному из компонентов вашего выпускного проекта. После выполнения всех домашних заданий вы получите готовый выпускной проект.
Трудозатраты: 4 часа на занятия и 4-12 часов на домашнюю работу в неделю.

Трудоустройство

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

  • Получите помощь с оформлением резюме, портфолио и сопроводительного письма
  • Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров
  •  

Python Developer

Перспективы направления
Средний уровень зарплат в Москве:
250 000Middle+ специалист
350 000Senior специалист
2743
актуальные вакансии

Работодатели курса

Формат обучения

Интерактивные вебинары


2 занятия по 2 ак. часа в неделю. Доступ к записям и материалам остается у вас навсегда

Практика


Домашние задания + проектная работа, которая усилит ваше портфолио

Активное комьюнити


Общайтесь с преподавателями голосом на вебинарах и в Telegram-чате

Программа

Advanced basics

Этот модуль посвящен рассмотрению фундаментальных основ языка на продвинутом уровне, а также применению общих практик разработки ПО в контексте "экосистемы" Python. Целью является достижение единого понятийного аппарата, формирование представления о внутреннем устройстве языка, его возможностях, ограничениях, недостатках и области применимости. В модуле рассматриваются аспекты функционального, процедурного и ОО программирования на Python, особенности устройства виртуальной машины, вопросы обеспечения качества ПО и автоматизации инфраструктурных задач.

Тема 1: Advanced basics. Протоколы // ДЗ

Тема 2: Advanced basics. "Граждане первого порядка"

Тема 3: Internals. Виртуальная машина // ДЗ

Тема 4: Internals. Управление памятью, "печально известный" GIL

Тема 5: OOP. Объектная модель // ДЗ

Тема 6: OOP. Белая и черная "магия"

Тема 7: Testing. Дизайн тестов // ДЗ

Тема 8: Testing. Пирамида тестирования

Тема 9: Automatization. Сетевое взаимодействие // ДЗ

Тема 10: Automatization. Общение с БД и демонизация

Web

Этот модуль посвящен веб-разработке, тому, какой она выглядит со стороны Python программиста и какими особенностями обладает. Целью является рассмотрение нюансов и лучших практик по созданию и эксплуатации веб-сервисов с использованием фреймворка Django. В модуле рассматривается сам Django, внутреннее устройство ORM и других его составляющих, обсуждаются особенности построения REST API, масштабирования веб-проектов.

Тема 1: Dynamic Web // ДЗ

Тема 2: Django. Intro

Тема 3: Django. ORM и "зло" // ДЗ

Тема 4: Database layer

Тема 5: Django. Views // ДЗ

Тема 6: Django. Forms

Тема 7: REST API. Know-how // ДЗ

Тема 8: Web performance

Тема 9: FastAPI. Основы

Тема 10: FastAPI. Работа с БД

Data engineering

Этот модуль посвящен знакомству с фундаментальными библиотеками, применяемыми для анализа данных. Python является де-факто стандартом при решении аналитических задач, поэтому данный аспект языка нельзя обойти стороной. При этом, целью модуля является не погружение в математические дебри, а рассмотрение таких инструментов как jupyter, numpy, pandas и matplotlib и области их применения в инженерной и аналитической деятельности.

Тема 1: Основы NumPy // ДЗ

Тема 2: Advanced NumPy и IPython

Тема 3: Pandas. Машинное обучение и продакшен // ДЗ

Тема 4: Визуализация данных

Highload

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

Тема 1: Concurrency. Потоки // ДЗ

Тема 2: Concurrency. Процессы

Тема 3: C extensions // ДЗ

Тема 4: ffi. Cython. Pypy

Тема 5: Asyncio. Origins // ДЗ

Тема 6: Asyncio. Event loop, async/await, low/high level API

Тема 7: Golang. Тур по языку // ДЗ

Тема 8: Golang. Особенности внутреннего устройства

Тема 9: Profiling

Тема 10: Python 2 vs Python 3

Проектная работа

Заключительный месяц курса посвящен разработке проекта. В качестве темы выбирается то, что интересно писать студенту и то, что потенциально можно будет потом включить в свое резюме. Участие в разработке некоего open source продукта тоже может рассматриваться в качестве выпускного проекта. При этом не обязательно закончить его за месяц. В процессе написания проекта можно получить консультации преподавателей. Примеры тем проекта: - система мониторинга ПК в корпоративной сети - свой ORM - web приложение по поиску групп с целевой аудиторией в ВК - исследование dataset’а с визуализацией

Тема 1: Выбор темы и организация проектной работы

Тема 2: Консультация по проектам и домашним заданиям

Тема 3: Защита проектных работ

Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит

Выпускной проект


Обучение завершается финальным проектом, который предстоит защитить перед преподавателями и командой. Вам будет, что обсудить на собеседовании!

Вы можете выбрать одну из предложенных преподавателем тем или реализовать свою идею.

Преподаватели

Руководитель курса

Станислав Ступников

Андрей Кравчук

Сурен Хоренян

Дмитрий Панкрашов

Михаил Бородин

Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания

Ближайшие мероприятия

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

Паттерны микросервисной архитектуры в Python
Дмитрий Панкрашов
На занятии поговорим о наиболее популярных паттернах микросервисной архитектуры в Python - Оркестрация и Хореография. Рассмотрим реализацию этих подходов, обсудим плюсы и минусы. Занятие будет полезно разработчикам, желающим познакомиться с микросервисной архитектурой и вариантами ее реализации....
14 марта в 17:00
Открытый вебинар
gRPC в Python
Дмитрий Панкрашов
Обычно реализация клиент-серверного взаимодействия строится на основе протокола HTTP/1.1, а общение между микросервисами - на основе брокеров сообщений. На занятии поговорим о gRPC - протоколе на основе HTTP/2 и Google Protobuf, посмотрим на реализацию клиента и сервера, обсудим плюсы и минусы такой реализации. Занятие будет полезно разработчикам, желающим получить представление о работе gRPC....
25 марта в 17:00
Открытый вебинар

Прошедшие
мероприятия

Станислав Ступников
Открытый вебинар
Делаем по красоте: паттерны проектирования в Python приложениях
Евгений Ревняков
Открытый вебинар
FastAPI в действии: быстрое создание API для веб-приложений
Для доступа ко всем прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 3 дня
Результаты тестирования будут отправлены вам на email, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!

Корпоративное обучение для ваших сотрудников

Отус помогает развивать высокотехнологичные Команды. Почему нам удаётся это делать успешно:
  • Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
  • Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
  • OTUS проверяет знания студентов перед стартом обучения и после его завершения
  • Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
  • Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
  • OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год

Отзывы

Александр Рекуха

23.05.2023
Великолепный курс! Превосходные преподаватели! Спасибо большое! Исходя из личных наблюдений, хотелось бы добавить пожелания увидеть следующие курсы в вашем ассортименте: - Techlead (python): ревью, ci/cd, архитектура - Инфраструктура (python): брокеры сообщений, базы данных (sql, nosql, колоночные и т.п.), gitlab/github (actions, токены, автоматизация и т.п.), виды пакетных менеджеров (pip, poetry), сборки проектов (setuptools), рабочие окружения (dev, prod, разница, виды организации)... и многое еще, окружающее мир разработки. Думаю, ваши преподаватели имеют очень большой багаж качественных знаний, которые помогли бы большинству разработчиков значительно эффективнее участвовать в современном мире ИТ. Предложенные наборы курсов смогли бы существенно повысить уровень практикующих разработчиков и помочь учащимся. По роду своей деятельности часто сталкиваюсь с ситуацией, когда коллеги разработчики при трудоустройстве отлично ориентируются в особенностях языка, оперируют достаточно глубокими знаниями, но мы не может принять их на работу из-за того, что понимания "третьих инструментов" (инфраструктуры) фактически нет и есть практика, которая показывает, что такое погружение может быть достаточно долгим или даже болезненным.

Анастасия Перкова

20.02.2023
Перед тем, как попасть на курс была в поиске такой программы, которая поможет упорядочить и дополнить мои текущие знания/навыки в Python. По темам он оказался достаточно плотным и разнообразным, чтобы рассмотреть использование языка в самых разных сферах разработки. Очень радует, что курс все таки не для новичков, а для тех кто имеет некоторый опыт. Поэтому здесь не тратится время на объяснение каких-то базовых основ или синтаксиса языка. Нельзя не отметить преподавателей, которые всегда были готовы отвечать на вопросы и давать обратную связь и советы. Одна из вещей, которые мне больше всего понравились при обучении, это домашние задания и итоговый проект. Во-первых, их содержание максимально близко к реальным живым задачам из разработки. Во-вторых, очень ценно было получить фидбэк от опытных специалистов: это не только дает какой-то новый опыт в разработке, но и позволяет "отшлифовать" имеющиеся навыки. Подводя итог: в целом минусов у курса нет, но хотелось бы больше углубится в темы ассинхронности и многопоточности. Дополнительно хочу поблагодарить всех преподавателей курса и команду OTUS за качественное донесение материала и слаженную работу:)

Александр Сергеенко

26.12.2021
Даже не знаю, есть ли у этого курса конкуренты, я не смог найти. Действительно очень глубокий курс по advanced Питону. Дальше можно только копать уже в конкретные темы: Django, asyncio и т.д. Отличная программа, супер домашние задания, которые действительно проверяются и которые совсем не просто сдать. Кажется, что курс работает уже достаточно давно и ему требуется модернизация (например, я бы убрал большинство отсылок к Python 2, по-моему, это уже неактуально). Что не понравилось: как и все курсы, основанные на вебинарах, ОЧЕНЬ зависит от конкретного сегодняшнего преподавателя. Очень жаль, что крутой спец совсем не означает хороший преподаватель и ещё печальнее, что в Отусе, кажется, этого не понимают. Именно поэтому много вебинаров смотрел в записи на увеличенной скорости. Ещё не понял смысла деления домашних заданий на обязательные и нет - в итоговом сертификате такого деления нет, стало быть все они обязательные, так и нужно написать, чтобы не вводить студентов в заблуждение. Но, так или иначе, отличный курс, а на фоне отсутствия конкурентов так и вовсе единственный и неповторимый.

Андрей Цыпильников

31.05.2021
Данный курс мне кажется действительно полезным и соответствующим званию "продвинутого". Я, честно говоря, думал, что владею python достаточно хорошо и хотел просто немного потренироваться вне работы в написании разных приложений, но в курсе для меня было столько всего нового, что только теперь я понимаю насколько плохо я знал язык изначально. На курсе разбираются достаточно интересные темы: на одних лекциях мы смотрим на исходники CPython, на других пишем CRUD приложение на Django, осваиваем разные тонкости multiprocessing/multithreading - всё это подкрепляя домашками. Лекторы достаточно хорошо излагали материал, особенно хочу отметить Игоря, мне кажется его рассказ про генераторы и итераторы, наверно самый доходчивый из всего, что я встречал.

Георгий Ржавин

27.09.2020
Курс оказался очень сложным для меня. Сразу вспомнил годы, когда я получал второе высшее образование - было так же сложно и так же интересно. Хочу отдельно отменить домашние задания, еще не разу не было, чтобы я садился за них с готовым решением, но чудесным образом, шаг за шагом, ДЗ в итоге получалось. В итоге лучше усваивался материал, плюс закреплялся практикой. Спасибо авторам курса и преподавателям. Рекомендую всем, кто через "тернии к звездам" хочет поднять свой уровень Python

Антон Акимов

03.09.2020
Превосходный курс для структурирования своих навыков python. До курса несколько лет программировал на python, были поверхностные знания о языке, преподаватели умело разобрали многие темы и ответили на все вопросы. Ни разу не пожалел, что решил пройти курс. Самое ценное было review домашних заданий, оно было быстрым с ценными замечаниями. Записанные вебинары периодически пересматриваю, там можно найти ценные советы и практический опыт. Теперь мой код чище, более продуманный обязательно с документацией и конечно же протестирован

Илья Ауров

20.12.2019
Основной профиль моей работы - автоматизация тестирования серверных приложений. И мне давно хотелось перейти на другую сторону - стать полноценным разработчиком, поэтому выбрал курс "Разработчик Python". Изначально долго сомневался, нужно ли мне это обучение, так как был уверен, что в питоне разбираюсь на уровне миддл разработчика, но всё-таки подкупило, что в этом курсе почти целый месяц был выделен на изучение веб-технологий, и джанги, которую давно хотелось освоить. Сомнения в уровне своих знаний закрались уже после первых занятий. Ибо существует целая пропасть меджу понятиями рабочий код и "production ready код". Последнее как раз и требовалось от нас в выполнении домашней работы, в которой, мне на радость, не было никаких задач комивояжера, задач по перестановке слов и прочей абстрактности. Только "боевые" примеры, нацеленные на решение конкретных проблем. Весь курс был построен как хороший сериал и постоянно держал в напряжении, большая часть задач давалась тяжело, а остальные просто приводили в отчаяние, что "Я никогда этого не сделаю". Никогда бы не подумал, что начну читать документацию и дополнительную литературу, но порой ссылки в лекциях на дополнительные ресурсы выводили из ступора и спасали при выполнении домашнего задания. Все старания хорошо окупаются, некоторые куски кода из выполненных работ хорошо легли в мои рабочие проекты. Курс очень понравился, он дал мне понимание того, как устроен Python, как правильно его применить в зависимости от ситуации, а в некоторых случаях может и отказаться от Питона в пользу "Go" или языка "C"; мне стало легче читать и понимать чужой код. Шёл на курс ради Джанги, но оказалось, что для меня в питоне было ещё много не изученного, и я очень рад, что удалось закрыть эти пробелы. Всем новичкам этого курса, рекомендую спланировать свой отпуск на работе в угоду решения домашек курса.

Павел Логинов

24.09.2019
Очень интересные лекции, но курс не для моего уровня. Не справился. Попробовал выполнить первое задание и получил какой-то результат, но не смог код-ревью пройти. Второе задание (с ООП) полностью убило мотивацию из-за своей сложности. Перечитал все ссылки из лекции, частично не понял, в итоге не смог даже какой-то результат получить. Очень сложно оказалось. Остальные задания не смог выполнить, потому что пытался сделать безуспешно задание с ООП. Повторюсь, лектор отлично рассказывает, отвечает на вопросы, но задания слишком сложные. Возможно, просто не мой уровень, к сожалению, параллельно с работой невозможно уделять достаточно времени для полного погружения. Кстати, хотел найти репетитора, чтобы совместно курс пройти, но никто не справился с заданиями :) Надеюсь, сделаете курс с более низким порогом входа. Спасибо вам, вы классные!

Павел Недошивкин

16.09.2019
Курс понравился. Получил в результате прохождения курса очень хорошую мотивацию по дальнейшему изучению языка. Полученые знания удалось использовать на практике в текущей работе.

Григорий Костерев

14.09.2019
Курс дал мне то, что я искал. Большое спасибо автору. Я открыл для себя новые горизонты Python, о которых даже не подозревал. На этом мое изучение Python не заканчивается, так как еще так много нужно изучить и попробовать.

Василий Михайлов

12.07.2019
Всем привет! Хочу сказать огромное спасибо платформе отус и особенно преподавателям за отличный курс по python! Было тяжело, весело и очень позновательно, пусть не все домашки сданы и не написан проект, но достигнута главная цель - я устроился работать программистом! Когда шел на курс то был уверен что он для начинающих и зеленых, охх как же я ошибался... На каждую домашку я смотрел как "баран на новые ворота", каждая домашка была как вызов, скажу честно, после первого прочтения задания очередной домашки я понимал что мне ничего не понятно, но google был рядом и я верил в себя) Я поступил на курс не имея опыта работы программистом, я просто прошел несколько бесплатных курсов на других платформах и решил то нужно что то посерьезнее и не ошибся от слова совсем! Было тяжело, приходилось много гуглить, преподаватели курса предполагают наличие некоторого уровеня опыта работы над реальными проектами, так что если его нет будьте готовы читать много статей и документации по разным технологиям) Главное что я получил после прохождения обучения это уверенность в своих силах и как результат смена сферы деятельности. Еще раз огромное спасибо за курс! Желаю вам продолжать в том же духе, удачи и хорошего настроения)

Сертификат о прохождении курса

OTUS осуществляет лицензированную образовательную деятельность.
В конце обучения вы получите сертификат OTUS о прохождении курса.

После обучения:

  • Получите материалы по всем занятиям (видеозаписи занятий, презентации, примеры кодов)
  • Существенно повысите свою компетенцию в сфере промышленной разработки на Python
  • Научитесь разрабатывать коммерческие приложения самостоятельно и в команде
  • Получите сертификат об окончании курса

Частые вопросы

Что, если в середине курса я не смогу продолжать обучение?
У вас есть право одного бесплатного трансфера в другую группу.
Обязательно ли защищать выпускной проект?
Для получения сертификата OTUS сдавать проект необязательно (в сертификате будет отражено кол-во выполненныз домашних работ). Для получения Удостоверения о повышении квалификации необходимо выполнить итоговый проект. Кроме того, проект необязательно защищать перед аудиторией, а можно сдать в чате с преподавателем.
Я могу вернуть деньги?
Да, вы можете сделать возврат средств пропорционально оставшимся месяцам обучения.