Курс переработан

Специализация

Python Developer

Все, что нужно знать о разработке на Python: с нуля до middle

28 марта

Basic

10 месяцев

Онлайн

Чем специализация отличается от обычного курса?

Здесь вы прокачаетесь сначала до junior-разработчика, а потом сразу же – до middle. И всё это в пределах одной программы. 

Кому подходит специализация?

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

Где нужен Python?

  • бэкенд-разработка 
  • высокие нагрузки
  • автоматизация тестирования
  • веб-разработка
  • data science

Какой результат вы получите?

Специализация состоит из двух ступеней, каждая длится 5 месяцев

Начало обучения
28 марта
  • Чтобы начать обучение, понадобится только компьютер
Ступень 1
Вт 20:00, Чт 20:00
Junior
  • Познакомитесь с синтаксисом и базовыми операторами Python
  • Изучите основы ООП и научитесь писать тесты
  • Научитесь работать в асинхронном режиме с вебом и базами данных, создавать и настраивать автоматические тесты, работать с API
  • Научитесь использовать библиотеки для data science, разворачивать приложения в Docker-контейнерах, настраивать автоматический деплой
Ступень 2
Пн 20:00, Ср 20:00
Middle
  • Рассмотрите фундаментальные основы Python и веб-разработки на продвинутом уровне
  • Научитесь писать простой и идиоматичный код, тестировать и поддерживать код на Python
  • Освоите программную инженерию, сформируете прагматичный подход к решению задач
  • Научитесь писать приложения, которые не умирают под нагрузкой

Система знаний


Изучайте азы, осваивайте продвинутые навыки и переходите на профессиональный уровень

Опыт экспертов


Наши преподаватели – асы разработки со средним стажем 10 лет, которые работают с крупными заказчиками

Восстребованность на рынке


Научитесь выполнять задачи,

которые по силам

middle-разработчику

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

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

  • Разместите резюме в базе OTUS: так наши партнёры смогут пригласить вас на интервью
  • Участвуйте в карьерных мероприятиях: там мы разбираемся, как составить резюме
  • Проявите себя на занятиях и получите возможность пройти собеседование у партнёров OTUS

Python Developer

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

Работодатели специализации

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

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


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

Две проектные работы


Дополните портфолио двумя разными проектами. Чувствуйте себя на собеседованиях уверенно

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


Общайтесь с преподавателями на вебинарах и в закрытом Telegram-чате, получайте развернутое ревью на ДЗ

Групповые менторские консультации

Менторы объяснят, как лучше справляться с задачами. Групповой разбор домашних заданий проходит раз в месяц

 Вы выполняете домашнее задание

Ментор проверяет ДЗ в личном кабинете, даёт развернутое ревью

На занятии ментор отвечает на частые вопросы, подробно разбирает работы студентов, объясняет каждый этап выполнения ДЗ

Вы можете проконсультироваться с ментором а в Telegram-чате. Ментор расскажет об итогах проверки, объяснит непонятные детали

Программа

1 ступень

Синтаксис и базовые операторы Python

Цель: знакомство с базовыми структурами данных и операторами Python. Азы работы с shell и git.

Тема 1: Базовые типы и структуры данных. Управление потоком

Тема 2: Работа с функциями и данными

Тема 3: Генераторы, декораторы, неограниченное количество аргументов и результатов

Тема 4: Git, shell

ООП. Классы, исключения. Тесты

Знакомство с ООП в Python. Применение всех основных принципов ООП, знакомство с датаклассами. Разделение на модули.

Тема 1: Основы ООП

Тема 2: Продвинутый ООП, исключения

Тема 3: Модули и импорты

Тема 4: Датаклассы. Виртуальное окружение

Тема 5: Тесты

Взаимодействие с внешним миром. Создание простейшего API. Сборка проекта

Основы работы с файлами (локально) и сетью (HTTP). Создание API

Тема 1: Знакомство со встроенными модулями

Тема 2: Файлы и сеть

Тема 3: FastAPI — быстрая разработка API

Тема 4: Docker; системы контроля зависимостей

Работа с базами данных, асинхронное программирование

Знакомство с асинхронным программированием. Знакомство с базами данных: PostgreSQL, Mongo DB, Redis. Знакомство с ORM, асинхронная работа с БД.

Тема 1: Хранение данных в реляционных БД. Язык SQL

Тема 2: ORM: SQLAlchemy

Тема 3: SQLAlchemy: связи между таблицами в БД

Тема 4: Миграции схем: alembic

Тема 5: Сложные связи в БД

Тема 6: Асинхронное программирование в Python

Тема 7: Асинхронная работа с БД

Тема 8: Асинхронная работа API с БД

Веб разработка на Flask

Знакомство с веб-разработкой на Flask: работа с Flask, работа с шаблонами, работа с фронтендом.

Тема 1: Знакомство с веб разработкой на Flask

Тема 2: Основы фронтенда

Тема 3: Базовый фронтенд

Тема 4: Flask-SQLAlchemy, Flask-Migrate

Тема 5: Взаимодействие приложений между контейнерами, docker compose

Веб-разработка на Django

Знакомство с Django, Django ORM, Generics. Тестирование веб-приложений, фабрики.

Тема 1: Знакомство с Django

Тема 2: Django ORM, django-debug-toolbar

Тема 3: Django и отложенные задачи

Тема 4: Django Class Based Views, generics, Forms

Тема 5: Работа с пользователями и права в Django

Тема 6: Тестирование Django приложения

Тема 7: Фабрики

Python для Data Science

Знакомство с библиотеками для обработки массивов данных: NumPy, Pandas. Основы OpenCV

Тема 1: NumPy. Это лишь продвинутые массивы или что-то большее?

Тема 2: Pandas. Ещё одна библиотека для работы с данными?

Тема 3: OpenCV

DevOps

Автоматизация тестирования и деплоя. Знакомство с GitHub Actions, GitLab CI/CD

Тема 1: GitHub Actions

Тема 2: GitLab CI

Тема 3: GitLab CD

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

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

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

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

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

2 ступень

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

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: Защита проектных работ

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

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


Каждая ступень обучения завершается итоговым проектом. За время обучения вы создадите более 20 мини-проектов + 2 масштабных итоговых проекта! Разработке итогового проекта посвящен заключительный месяц обучения. Вы можете выбрать одну из предложенных преподавателем тем или реализовать свою идею.

Суть проектной работы: разработать архитектуру приложения, описать задачи, которые это приложение будет выполнять, реализовать основную функциональность. Создайте проект для веб-разработки, для интеграции с сервисами или для data science.

Примеры итоговых проектов студентов: 

  • Система мониторинга ПК в корпоративной сети
  • Свой ORM
  • Веб-приложение по поиску групп с целевой аудиторией в ВК
  • Исследование датасета с визуализацией

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

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

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

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

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

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

Дмитрий Панкрашов
Открытый вебинар
SQL для Python-разработчика
Сурен Хоренян
Открытый вебинар
Ключевой инструмент начинающего Python-разработчика: Декораторы
Оставьте заявку, чтобы получить доступ ко всем записям прошедших мероприятий. Записи всех мероприятий появятся в этом блоке

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

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

Диплом о профессиональной переподготовке

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

Почему специализация выгоднее, чем отдельные курсы?

  • Стоит меньше, чем два курса по отдельности
  • Вы получаете диплом о профессиональной переподготовке
  • Знания и навыки для уровней junior и middle сведены в единую программу

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

Обязательно ли выполнять домашние задания? Кто проверяет домашние задания и итоговый проект?
Да, если вы действительно хотите программировать на Python. Часть заданий тестовые — их проверка происходит автоматически. На другие задания развернутую обратную связь дают наши преподаватели и наставники. При желании вы можете защитить свой итоговый проект перед руководителем и преподавателями курса.
Можно ли задавать вопросы?
Да, даже нужно! Вы можете задавать преподавателю вопросы по содержанию во время онлайн-вебинара, в закрытом Telegram-чате или в чате по ДЗ. На организационные вопросы вам всегда поможет ответить коммьюнити-менеджер курса.
Насколько сложно учиться?
Для студентов с нулевым опытом данная специализация — настоящий челлендж. Специализация действительно подходит для всех, кто хочет стать Python-разработчиком с нуля. Но для этого необходимо приложить усилия и старания, в т.ч. и при самостоятельном изучении материалов. Будьте готовы тратить на обучение и выполнение домашних заданий от 6 до 12 часов в неделю.
Какой объем практики предусмотрен на курсе?
Больше 70%. Также во время обучения вам будут доступны дополнительные источники информации и ссылки на open-source ресурсы для тренировки коддинга. А наши преподаватели всегда готовы поделиться с вами самыми актуальными материалами.
Что понадобится для обучения?
Только компьютер.
Что, если в середине курса я не смогу продолжать обучение?
Вы можете бесплатно перейти в другую группу. Но только один раз.
Обязательно ли защищать все проектные работы?
Для получения сертификата OTUS сдавать итоговые проекты необязательно (в сертификате будет отражено кол-во выполненных домашних работ). Для получения Диплома о профессиональной переподготовке необходимо выполнить оба итоговых проекта (на 2 ступенях обучения). Кроме того, проект необязательно защищать перед аудиторией, а можно сдать в чате с преподавателем.
Я могу вернуть деньги?
Да, мы можем вернуть деньги за то время, которое вы ещё не успели отучиться. Например, если специализация длится десять месяцев, а вы отучились четыре, мы вернём деньги за оставшиеся шесть месяцев.