Промокод Python_09
Python Developer. Professional
Best Practice по решению прикладных задач и освоению инструментов, применяемых в разработке ПО
28 ноября
Professional
5 месяцев
Онлайн
Вт/Пт 20:00 Мск
Видео-презентация курса
Python Developer. Professional
Для кого этот курс?
- Для опытных разработчиков на Python, для выпускников курса Python Developer. Basic: углубите знания в области паттернов проектирования, изучите асинхронное программирование и метапрограммирование, повысите производительность и безопасность кода
- Для опытных разработчиков на других языках программирования (со знанием Python): узнаете о тонкостях программирования на Python, об устройстве экосистемы языка, прокачаете навыки работы с другими языками программирования
- Для веб-разработчиков: научитесь создавать масштабируемые и безопасные веб-приложения, изучите особенности построения RESTful API на примере FastAPI; поработаете с Django, популярным фреймворком для веб-разработки
- Для дата-сайентистов и ML-разработчиков: научитесь использовать Python для обработки и анализа больших объёмов данных; сможете практиковаться в сфере машинного обучения, работать с библиотеками Pandas, NumPy, Matplotlib и другими инструментами для анализа данных и построения предсказательных моделей
Сравнить уровни сложности курсов по Python
Необходимые знания
- уверенно программируете на Python
- имеете представление о сетевом взаимодействии и реляционных СУБД
- умеете обращаться с Linux, Git и другими стандартными инструментами разработчика
- знаете HTML, CSS, JavaScript
- понимаете стандартные сетевые протоколы и web в целом
- понимаете, как хранить добытое в БД представление о примитивах ОС - алгоритмы
- можете сделать простой поисковый движок
Будет плюсом
- знание языка C

Что вам даст этот курс?
Вы сформируете основные компетенции в программной инженерии, сможете прагматично подходить к решению задач, погрузитесь в современную «промышленную» разработку на Python
Высокая производительность: вы научитесь анализировать производительность инструментов и ресурсов, профилировать код, проектировать и реализовывать высокопроизводительные приложения
Анализ данных: вы научитесь визуализировать данные, понимать особенности ПО, работающего с данными, использовать аналитические библиотеки
Веб-разработка: вы научитесь понимать особенности устройства веб-приложений, разбираться в работе фреймворков, проектировать веб-приложения
Создание ПО: вы научитесь работать с базовыми концепциями и моделями, исследовать устройство стороннего ПО, поддерживать собственное ПО, проектировать архитектуру
Актуальные версии Python
На курсе рассматриваются все особенности актуальных версий Python: от 3.6 и выше
Процесс обучения
У нас нет предзаписанных уроков.
Занятия в OTUS – это онлайн-вебинары. Преподаватели-практики помогут погрузиться в теорию, обучат на реальных примерах, расскажут о необходимых в работе инструментах. Вы всегда сможете задать вопрос и получить обратную связь.
И самое главное – сможете практиковаться!
Повышайте квалификацию
Прокачайтесь до уровня до middle+ или senior
Учитесь у экспертов
Перенимайте опыт специалистов из крупных компаний
Практикуйтесь
Вас ждут от 9 до 12 домашних заданий и выпускной проект
Карьерная поддержка
- Разместите резюме в базе OTUS: так наши партнёры смогут пригласить вас на интервью
- Участвуйте в карьерных мероприятиях: там мы разбираемся, как составить резюме
Python Developer
Работодатели курса
Формат обучения
Интерактивные вебинары
2 онлайн-занятия по 2 академических часа в неделю, вечный доступ к обучающим материалам
Практика
Итоговая проектная работа усилит знания, а её успешная защита – откроет новые карьерные возможности
Активное комьюнити
Общайтесь с преподавателями на вебинарах, в закрытом телеграм-чате, при проверке домашних заданий
Программа
База
Этот модуль посвящен рассмотрению фундаментальных основ языка на продвинутом уровне, а также применению общих практик разработки ПО в контексте «экосистемы» Python. Целью является достижение единого понятийного аппарата, формирование представления о внутреннем устройстве языка, его возможностях, ограничениях, недостатках и области применимости. В модуле рассматриваются нюансы настройки окружения разработчика, аспекты функционального, процедурного и ООП программирования на Python, особенности устройства виртуальной машины, вопросы обеспечения качества ПО и автоматизации инфраструктурных задач.
Тема 1: Структура проекта, управление зависимостями, настройка окружения: обзор и лучшие практики // ДЗ
Тема 2: Дистрибуция кода и развертывание: путь от лэпота до кластера
Тема 3: Аннотации типов: уровень nightmare! // ДЗ
Тема 4: Внутренности: байткод, его исполнение и виртуальная машина
Тема 5: Внутренности: устройство основных типов, управление памятью и GIL
Тема 6: ООП: Объектная модель и особенности ООП в Python // ДЗ
Тема 7: ООП: Дескрипторы и метапрограммирование
Тема 8: Тестирование: pytest и как писать тесты // ДЗ
Тема 9: Тестирование: (анти)паттерны и инструменты
Тема 10: Дизайн кода и архитектура: абстракции, модульность, SOLID
Тема 11: Дизайн кода и архитектура: domain driven design, чистая архитектура // ДЗ
Тема 12: Дизайн кода и архитектура: event driven архитектура, микросервисы
Тема 13: Дизайн кода и архитектура: паттерны проектирования
Web-программирование
Этот модуль посвящен веб-разработке, тому, какой она выглядит со стороны Python программиста и какими особенностями обладает. Целью является рассмотрение нюансов и лучших практик по созданию и эксплуатации веб-сервисов. В модуле рассматривается Django, внутреннее устройство его ORM и других его составляющих, обсуждаются особенности построения REST API на примере FastAPI, масштабирования веб-проектов.
Тема 1: Сетевое взаимодействие и архитектура web-серверов // ДЗ
Тема 2: Создание динамических страниц: от CGI до ASGI
Тема 3: MVC/MVT фреймворки на примере Django // ДЗ
Тема 4: ORM: хорошее, плохое и злое
Тема 5: Работа с БД: транзакции, репликация, шардирование и даже NoSQL
Тема 6: API: что такое настоящий REST и как создавать RESTful приложения
Тема 7: FastAPI: основы // ДЗ
Тема 8: FastAPI: взаимодействие с БД и SQLAlchemy
Тема 9: Аутентификация и авторизация // ДЗ
Тема 10: API: (g)RPC, GraphQL
Тема 11: Безопасность: обзор распространенных проблем, уязвимостей и лучших практик
ML Engineering
Этот модуль посвящен знакомству с фундаментальными библиотеками, применяемыми для анализа данных, а также обзору современной big data экосистемы. Python является де-факто стандартом при решении аналитических задач, поэтому данный аспект языка нельзя обойти стороной. При этом целью модуля является не погружение в математические дебри, а рассмотрение таких инструментов, как jupyter, numpy, pandas и matplotlib, и области их применения в инженерной и аналитической деятельности.
Тема 1: Высокопроизводительные вычисления с NumPy // ДЗ
Тема 2: Исследовательский анализ данных c Pandas
Тема 3: Инструменты работы с данными: IPython, matplotlib, seaborn
Тема 4: Оркестрация задач: jenkins, luigi, airflow
Тема 5: Нейронки: PyTorch, TensorFlow, HuggingFace и LLM // ДЗ
Тема 6: Обзор big data экосистемы: хранение и обработка данных, обучение и inference, model serving
Highload
Этот модуль посвящен высокопроизводительным вычислениям на Python. В модуле рассматриваются особенности конкурентного и асинхронного программирования и то, как на это влияет устройство виртуальной машины языка. Также внимание уделяется превратностям написания расширений на С и вопросам профилирования кода. В качестве бонуса происходит знакомство с языком Go, который часто используется Python-программистами для решения performance-critical задач.
Тема 1: Профилирование производительности
Тема 2: Concurrency: многопоточное программирование и примитивы синхронизации // ДЗ
Тема 3: Concurrency: процессы и межпроцессное взаимодействие (IPC)
Тема 4: Ускорение с помощью C: расширения
Тема 5: Ускорение с помощью C: Cython, Pypy и FFI
Тема 6: asyncio: происхождение и основы // ДЗ
Тема 7: asyncio: event loop, внутренности async/await, низко- и высокоуровневое API
Тема 8: asyncio: инструменты и лучшие практики
Тема 9: Golang: зачем он Python разработчику + тур по языку // ДЗ
Тема 10: Golang: горутины, планировщик, конкурентная обработка
Тема 11: Обзор новинок и изменений из свежих версий Python
Проектная работа
Заключительный месяц курса посвящен разработке проекта. В качестве темы выбирается то, что интересно писать студенту, и то, что потенциально можно будет потом включить в свое резюме. Участие в разработке некоего open source продукта тоже может рассматриваться в качестве выпускного проекта. При этом не обязательно закончить его за месяц. В процессе написания проекта можно получить консультации преподавателей. Примеры тем проекта: - система мониторинга ПК в корпоративной сети; - свой ORM; - web-приложение по поиску групп с целевой аудиторией в ВК; - исследование dataset’а с визуализацией.
Тема 1: Выбор темы и организация проектной работы
Тема 2: Консультация по проектам и домашним заданиям
Тема 3: Защита проектных работ
Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит
Проектная работа
Чтобы получить сертификат, вы выполните итоговую работу: разработаете архитектуру приложения, опишете задачи, которые это приложение будет выполнять, реализуете основную функциональность. Это может быть проект для веб-разработки, для интеграции с сервисами или для data science
Примеры итоговых проектов студентов:
- Django-приложение «Система управления тестированием»
- Исследование датасета с визуализацией
- Разработка центральной консоли для управления множеством zabbix-серверов
Преподаватели
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Ближайшие мероприятия
Бесплатный открытый вебинар — это настоящее занятие в режиме онлайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. На открытом вебинаре можно посмотреть, как проходит обучение, а ещё узнать что-то ценное по интересующей теме. На занятии слушатели могут задавать ведущему вопросы.
Даже опытные разработчики порой создают код, который работает — но жить с ним потом невозможно. На открытом уроке разберём типичные ошибки и антипаттерны в Python, поговорим о причинах появления «плохого» кода и способах сделать его понятнее, стабильнее и быстрее. Рассмотрим как распространённые, так и неожиданные примеры, которые помогут взглянуть на привычные решения под новым углом.
На вебинаре разберём:
Основные антипаттерны и неудачные практики в Python-разработке
Почему появляются «плохие» решения и как их вовремя распознать
Подходы и инструменты, которые помогают улучшить качество кода
В результате вебинара вы:
Поймёте, чего стоит избегать при написании кода на Python
Научитесь видеть и исправлять проблемные участки в своих проектах
Узнаете, как писать читаемый, поддерживаемый и эффективный код
Кому будет полезно:
Вебинар подойдёт всем, кто использует Python как инструмент разработки — инженерам, QA- и DS-специалистам. Независимо от опыта, вы узнаете, как не наступать на типичные грабли и сделать свой код надёжнее и понятнее для команды.
Асинхронное взаимодействие — один из ключевых принципов микросервисной архитектуры, который позволяет системам работать быстрее и надёжнее. В Python этот подход реализуется с помощью инструментов, таких как RabbitMQ. На открытом уроке разберём, как строится асинхронное взаимодействие между сервисами, какие преимущества оно даёт и какие сложности может вызвать при проектировании приложений.
На вебинаре разберём:
Основы микросервисной архитектуры приложений
Принципы асинхронного взаимодействия в микросервисной архитектуре
Практический пример использования RabbitMQ для организации обмена сообщениями между сервисами
В результате вебинара вы:
Поймёте, как работает асинхронное взаимодействие и зачем оно нужно
Научитесь использовать RabbitMQ для построения архитектуры приложений
Узнаете, какие преимущества и ограничения имеет асинхронный подход
Кому будет полезно:
Вебинар будет полезен разработчикам, которые хотят глубже понять микросервисную архитектуру и освоить принципы асинхронного взаимодействия в Python.
Машинное обучение часто кажется чем-то абстрактным и сложным. Но на самом деле основы можно понять на практическом примере. На открытом уроке прямо в Jupyter Notebook мы загрузим данные, обучим модель на Python и посмотрим, как она «угадывает» буквы на картинках. Это позволит наглядно увидеть, как работает искусственный интеллект.
На вебинаре разберём:
Как устроен процесс обучения модели машинного обучения
Как использовать Python и Jupyter Notebook для решения задачи распознавания
Как проверить результат: модель в действии на примере распознавания букв
В результате вебинара вы:
Поймёте, из чего состоит процесс обучения нейросети
Научитесь запускать простой эксперимент по машинному обучению самостоятельно
Увидите, как модель применяет полученные знания на реальных примерах
Кому будет полезно:
Вебинар подойдёт всем, кто интересуется искусственным интеллектом и хочет своими глазами увидеть, как работает машинное обучение: от начинающих аналитиков и разработчиков до тех, кто только задумывается о старте в IT.
Прошедшие
мероприятия
Возможность пройти вступительное тестирование повторно появится только через 3 дня
Результаты тестирования будут отправлены вам на email, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Корпоративное обучение для ваших сотрудников
- Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
- Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
- OTUS проверяет знания студентов перед стартом обучения и после его завершения
- Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
- Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
- OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год
Отзывы
Подтверждение знаний и навыков
OTUS осуществляет лицензированную образовательную деятельность. В конце обучения вы получите сертификат OTUS о прохождении курса, а при выполнении проектной работы – удостоверение о повышении квалификации
После обучения:
- научитесь разрабатывать коммерческие приложения самостоятельно и в команде
- приобретёте ценные навыки в промышленной разработке на Python
- получите доступ к видеозаписям занятий, презентациям, примерам кода
- получите обширный список литературы и референсов для углубления знаний в программировании
- получите возможность пройти собеседование у партнёров OTUS, если отлично проявите себя в учёбе
Python Developer. Professional
Полная стоимость
Стоимость указана для оплаты физическими лицами
вычета до 13% стоимости обучения. Пройдите тестирование и менеджер вас проконсультирует
+7 499 938-92-02 бесплатно