Специальная цена

Программа обновлена

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

Python Developer

Все, что нужно знать о программировании на Python: с нуля до middle+

30 июля

Basic

10 месяцев

Онлайн

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

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

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

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

Где нужен Python?

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

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

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

Начало обучения
30 июля
  • Чтобы начать обучение, понадобится только компьютер
Ступень 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 академических часа в неделю, вечный доступ к обучающим материалам

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


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

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


Общайтесь с преподавателями на вебинарах, в закрытом телеграм-чате, при проверке домашних заданий

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

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

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

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

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

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

Программа

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

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

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

 

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


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

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

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

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

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

VK

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

Senior Python Backend Developer, Руководитель группы разработки

MTS AI

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

Middle Python Developer

Российская BigTech-компания

Евгений Ревняков

( к.т.н.) Senior software engineer

Exness

Леонид Орлов

Python Developer

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

C/Python Developer

Станислав Никуличев

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

Сеть стоматологических клиник "Квинта"

Игорь Стурейко

(к.ф.-м.н.) Teamlead, главный инженер

FinTech

Кирилл Панфилов

Блогер, программист

[dirty_python]

Дарья Горбатова

HRBP

NLMK-IT

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

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

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

Первый шаг в Django: создайте свой первый веб-проект
Станислав Никуличев
Присоединяйтесь к нашему увлекательному открытому уроку, на котором мы разберем, как легко начать работу с Django. Мы сфокусируемся на основных шагах создания веб-проекта, чтобы вы могли быстро начать свою разработку.

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

Этот открытый урок подойдет тем, кто начинает знакомство с веб-разраюоткой и Django.

Не упустите шанс начать своё путешествие в мир веб-разработки с Django и создать свой первый веб-проект!
...
22 июля в 16:00
Открытый вебинар

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

Кирилл Панфилов
Открытый вебинар
Почему Python — лучший язык для создания Telegram-ботов?
Сурен Хоренян
Открытый вебинар
Шаблоны страниц в FastAPI приложении
Оставьте заявку, чтобы получить доступ ко всем записям прошедших мероприятий. Записи всех мероприятий появятся в этом блоке

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

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

Отзывы

Андрей Сильных

08.04.2024
Начну с моей истории: Я свитчер из корпоративных продаж, решая войти в IT в 2021 году пошел обучаться в GeekBrains на факультет Искусственного Интеллекта. Это был курс длящийся 1 год и 6 месяцев, по факту выросший в почти 2 года из-за переносов. Для меня это была "Обзорная" профессия, в которой я мог себя попробовать в разработке, математике, аналитике, машинном обучении, нейросетях. И, в итоге, выбрать то, что больше нравится. Через 5 месяцев я устроился работать в небольшой региональный банк, в отдел разработки систем машинного обучения и аналитики. Отдел был небольшой, 4 человека с руководителем, соответственно и пул задач был максимально широким. Там мы пробовали много различных технологий, ферймворков, баз данных, строили и банковскую отчетность, инженерили данные, стоили ML модели, выкатывали backend приложения. В какой-то момент я понял, что мне больше нравятся backend задачи, и похоже нужно снова менять профессию, благо в этот раз не так радикально. Увидел рекламу специализации Python Developer в соц. сетях, прошел тест, понравились вопросы, сложилось впечатление что обучение не для новичков, так и произошло) Благодаря этому обучению мне удалось подготовиться к новой сфере, получить несколько офферов от IT гигантов, и в итоге устроиться в Дом Клик, чему я очень рад. На данном профессиональном этапе для меня это пойти работать в компанию мечты! Сейчас я Middle Backend Developer в ДомКлик. Мне понравилось, что курс был точно не для новичков, затрагивались глубокие технические темы, было непросто учиться, много всего узнал, что теперь рассказываю на новой работе коллегам. Также понравилось, то, что мы заглянули во внутрянку Python (виртуальную машину и его код на C). И то, что в курсе есть довольно основательный блок по GO, этого действительно хватило, чтобы начать писать первые приложения. Преподаватели производили впечатление профессионалов, рассказывали тонкости, которые обычно не легко найти даже если целенаправленно пытаться искать. Очень ценно было присутствовать на уроках и задавать вопросы лично. Сложнее всего в процессе обучения было самоорганизоваться и делать что-то сверх обязательных домашних заданий, например, читать книги, смотреть видео, писать код, чтобы самому детально понять тему. Лично мне было довольно просто перейти с первой ступени обучения на вторую, так как я изначально собирался на Professional, но для него я не знал Django и еще несколько вещей необходимых для него, поэтому решил начать с Basic. Это два ощутимо разных курса по сложности. Если на Basic с вами сюсюкались, то здесь было все по-взрослому, сразу считалось, что вы знаете большой пласт знаний, которые по факту добирал по пути. Если бы я пришел с нуля на эту специализацию, не имея коммерческого опыта в пару лет, скорей всего на Professional я б сломался точно, если не на Basic. Но сейчас мне такая сложность понравилась) Единственное, хотелось бы иметь возможность скачивать видео с платформы, так как иногда уезжал туда, где нет интернета, а учиться нужно было успевать. Я бы однозначно посоветовал пойти на курсы от OTUS, так как есть ощущение, что это не массовый продукт вроде везде рекламируемых всем нам знакомых онлайн-школ, здесь чувствуется профессионализм!

Максим Шарков

03.04.2024
Работаю архитектором программного обеспечения в компании NobilisTeam. Выбрал именно специализацию Python Developer, потому что мне был интересен язык Python в качестве саморазвития. На одном ютуб-канале по IT-тематике автор часто использовал Python для написания каких-то скриптов, автоматизации и прочих личных задач. Меня заинтересовало, начал самостоятельно изучать язык, повторять какие-то вещи из его видео. Пописал различные парсеры интересных мне сайтов, создавал разных Телеграм ботов, которые присылали краткие выжимки с этих сайтов, да и просто баловался всякими вещами. В какой-то момент захотелось получить более углубленные и систематизированные знания по Python, прокачать скиллы. Так как я ранее уже проходил обучение в OTUS на курсе Enterprise Architect, то решил посмотреть, что есть по Python. Собственно, в итоге выбор и пал на специализацию по Python. Решил брать сразу «комплект», так как это было не сильно дороже, чем один курс Basic или Professional на тот момент. Обучение, в общем и целом, построено удобно. Достаточно много практических задач. Можно спокойно пропустить онлайн-занятие и потом посмотреть запись, если по каким-то причинам не получается присутствовать на уроке. Уроки хорошие, преподаватели всегда стараются поддерживать какой-то интерактив во время урока, а не просто ведут монолог, быстро реагируют на сообщения и вопросы в чате во время урока и дополнительно раскрывают какие-то моменты, если что-то непонятно. Моя изначальная цель на обучение определенно была достигнута. Я хотел систематизировать уже имеющие знания и научиться чему-то новому. Из нового - более углубленно пришлось знакомиться с различными библиотеками, погрузиться в дебри Docker и научиться с ним работать на достаточно уверенном уровне, прилично пощупать CI/CD и научиться писать достаточно комплексные пайплайны. Это все было не совсем обязательно по заданиям, но мне интересно погружаться в темы более детально и разбираться в них. Поэтому на Basic курсе я зачастую делал даже больше, чем требовалось в заданиях просто потому, что мне было интересно. С Professional курсом уже интереснее, так как там задания сами по себе на порядок сложнее и объемнее. Новые навыки оказались полезными на текущем месте работы. Где-то добавил автоматизации через Python скрипты для облегчения жизни, где-то предлагал решить те или иные коммерческие задачи с помощью Python. Самым сложным на всем обучении оказались домашние задания с курса Professional. Некоторые из них потребовали прямо серьезного погружения в тему и разбора определенных технологий более углубленно. А некоторые из них оказались вообще непосильными. Есть одна прекрасная опциональная домашка с написанием кода на Си. Её так и не получилось решить даже за 3 разных подхода. Поскольку домашка опциональная, решил отложить. Возможно, вернусь к ней, если будет время до окончания курса. Перейти с первой ступени обучения на вторую было непросто. У меня уже был достаточный опыт в коммерческой разработке, в общем и целом, но по Python я шёл на базовый курс будучи самоучкой. Вот курс Basic давался достаточно легко. Что-то я уже знал хорошо, что-то знал поверхностно и было легко подхватить и доучить, а то, что не знал, было достаточно легко в изучении. А вот с курсом Professional уже интереснее. Какие-то темы там тоже оказались знакомые, но большая часть тем уже достаточно «глубинные» и требуют неких познаний. Я бы сказал, что нужно иметь хотя бы 1-1.5 года уже коммерческой разработки на Python, чтобы «комфортно» чувствовать себя на Professional. Достаточно многое приходится гуглить, разбираться в темах и изучать. В совокупности с большой рабочей загрузкой это ощутимо тяжело. Но, в общем и целом, если иметь хорошую техническую базу (не по Python, а в целом в программировании), то курс можно освоить, просто это потребует определенных усилий и времени. Я бы посоветовал знакомым пойти на курсы от OTUS. Почему – сложно ответить конкретно. В общем и целом, ответ на вопрос «почему» — это среднее арифметическое из всего выше написанного.

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

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

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

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

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

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