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

Python Developer

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

30 мая

Basic

10 месяцев

Онлайн

Для кого?

Специализация для тех, кто хочет с нуля освоить востребованную профессию Python-разработчик до компетенций, соответствующих Middle уровню. Специализация также будет полезна тем, кто еще не определился с языком. После обучения вы сможете углубиться в разработку на Python или перейти на любой другой язык ООП.

В каких областях востребованы навыки Python?


  • Backend-разработка высокие нагрузки
  • Автоматизация тестирования
  • Web-разработка фреймворки Django и Flask
  • Data Science

Вам подойдет программа, если вы:


  • Новичок, который хочет освоить профессию python-разработчика с нуля
  • Практикующий разработчик и хотите переквалифицироваться в Python-разработчика

Подходит ли программа именно вам?

Менеджер поможет разобраться!

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

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

Начало обучения
27 февраля
  • Для тех, кто хочет с нуля освоить востребованную профессию Python-разработчик.
Ступень 1
Пн 20:00, Ср 20:00
Junior
  • Познакомитесь с синтаксисом и базовыми операторами Python
  • Освоите основы ООП и научитесь писать тесты
  • Научитесь работать в асинхронном режиме с вебом и базами данных, создавать и настраивать автоматические тесты, работать с API
  • Научитесь использовать библиотеки для Data Science, разворачивать свои приложения в Docker-контейнерах, настраивать автоматический деплой
Ступень 2
Пн 20:00, Ср 20:00
Middle
  • Освоите продвинутые основы Python и веб-разработки
  • Научитесь писать простой и идиоматичный код, тестировать и поддерживать код на Python
  • Освоите навыки Software Engineering и сформируете прагматичный подход к решению задач
  • Научитесь писать приложения, которые не умирают под нагрузкой

Авторская программа


Актуальные навыки, которые помогут начать и развиваться в профессии

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


Не обязательно иметь профильные знания. Программа подходит для новичков

Помощь с трудоустройством


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

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

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

Python Developer

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

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

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

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


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

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


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

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


Общайтесь с преподавателями голосом на вебинарах и в Slack группы

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

На курсе предусмотрено менторское сопровождение в виде групповых разборов домашних заданий. Занятие по групповому разбору ДЗ с ментором проводится  раз в месяц в рамках расписания курса.

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

Ментор проверяет его в личном кабинете, делает ревью и дает развернутый фидбэк

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

С ментором также можно общаться по домашнему заданию в чате. Он даст вам обратную связь по итогам проверки и направит вас в нужное русло 

Программа

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

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

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


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

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

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

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

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

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

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

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

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

Сурен Хоренян
Открытый вебинар
Знакомство с веб разработкой на Flask
Сурен Хоренян
Открытый вебинар
Функции-помощники: map, filter, reduce
Оставьте заявку, чтобы получить доступ к записям прошедших мероприятий. Записи всех мероприятий появятся в этом блоке

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

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

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

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

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

  • Стоимость ниже, чем покупка курсов по отдельности
  • Диплом о профессиональной переподготовке
  • Расширенная опция помощи с трудоустройством

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

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