от 18 лет
Мидл Python-разработчик
Поможем выйти на новый профессиональный уровень за 6 месяцев
Курс подойдёт вам, если
Вы разработчик с опытом и знакомы с основами Python, базами данных, API
Вы прошли курс «‎Python-разработчик»‎ и уже работаете по новой специальности
Вы работаете в тестировании, анализе данных, машинном обучении и смежных областях
У вас есть базовые знания Python для Web, фреймворков, SQL, консоли и терминала
Как проходит обучение на платформе
В любое удобное для вас время
Обучение будет разбито на двухнедельные спринты, а заниматься можно когда угодно, главное — уложиться в дедлайн
На примерах из жизни, с постоянной практикой
Будете учиться онлайн на платформе Практикума: объясним теорию простым языком, а вы отработаете её на практике и получите обратную связь от опытного код-ревьюера
Вас поддержать практикующие специалисты
Наставники учат находить ответы
Все они — практикующие разработчики, которые научат вас решать любой вопрос самостоятельно
Ревьюеры проверяют ваш код и проекты
Опытные специалисты указывают на ошибки и дают подробную обратную связь
Кураторы делают обучение комфортным
Отвечают на вопросы, напоминают о сроках, присылают ссылки на записи вебинаров, слушают и поддерживают
Поддержка работает 24/7
Решает технические вопросы и объясняет, как устроена платформа
Учиться вы будете не одни
Рядом будут другие студенты. Можно обсудить проект, дать совет, попросить помощи и просто пообщаться с интересными людьми.
Ваши будущие наставники и ревьюеры
Сергей Трофимов, старший разработчик в Exness
Разработал первый интернет-магазин в 2004, с 2008 занимается в основном Python. 9 лет развивал разные сервисы в Mail.Ru Group.
Евгений Морозов, ведущий бэкенд-разработчик в FileWave
Стаж — больше 15 лет. Работал в Газпром-медиа, с видеоплатформой Премьер и Матч ТВ, а ещё над многими зарубежными проектами.
Елена Андреева, техлид в стартапе
В IT с 2013, работала в Mail.Ru, Cisco, Babylon Health и Palantir Technologies. Начинала с C++ и Java, потом хлебнула Big Data и ML полной ложкой, чтобы в итоге отдать своё сердце бэкенду на Python.
Роман Володин, руководитель Департамента ИТ в крупной вертолетной компании
В бэкенде с 2003 года. Пишет на C#, JavaScript и PHP, но предпочитает Python — на нём реализует большую часть проектов с командой. Специализируется на CRM и ERP системах. Большой опыт в DevOps: K8S, Ansible.
Программа курса
Вступительный тест
Здесь вы узнаете о том, как устроено обучение, и пройдёте тест из вопросов про бэкенд-разработку.
Интро-модуль
Серия уроков про требования к коду, работу с Git, процесс обучения на курсе и первое практическое задание. — Небольшой онбординг. — Знакомство с Git. — Требования.
Сервисы Admin Panel + ETL
Создание и настройка панели администратора для онлайн-кинотеатра на Python с применением Django. Детальное изучение самых используемых компонентов Django — админки и ORM. Знакомство с индексами, миграциями и оптимизацией запросов. Проектирование реляционной базы данных. Устройство Docker и работа Nginx. Знакомство с архитектурным паттерном ETL и создание своего ETL для перекачки данных из PostgreSQL в Elasticsearch. Спринт 1. — Проектирование базы данных, знакомство с индексами и потреблением памяти. — Знакомство с процессом вставки данных, dataclasses и работой со временем в базах данных. — Вводная информация о базах данных без SQL, критерии выбора фреймворка и подробное изучение Django: от установки до админки. Спринт 2. — Глубокое изучение технологии ORM. — Реализация API в сотрудничестве с Django и тестирование результата. — Подробное знакомство с Docker. — Обработка запросов в production-среде и конфигурирование Nginx. Спринт 3. — Подробное изучение Elasticsearch, полнотекстового поиска и архитектуры ETL.
Сервис Async API
Погружение в асинхронный Python и принципы его работы и применение Fast API на практике. Знакомство с итераторами, генераторами и корутинами. Разбор многопоточности и многопроцессности. Студенты работают в командах по 2–3 человека. Процесс разработки имитирует разработку в настоящей продуктовой компании — у команд есть тимлид, код-ревью и еженедельные демо с наставниками. Спринт 4. — Принципы работы в командном модуле и ТЗ на спринт. — Описание принципа работы в Git. — Знакомство с асинхронным подходом, итераторами, генераторами и корутинами. — Разбор асинхронных фреймворков: Twisted, AIOHTTP и FastAPI. — Детальное изучение FastAPI. Спринт 5. — Подробное описание общих принципов код-ревью. — Разница между солидным и несолидным кодом. — Функциональные тесты для сервиса и инфраструктура тестов. — Понятие API и инструкция по написанию документации.
Сервис авторизации
Разработка сервиса, отвечающего за создание, хранение и логирование профиля юзера. Он позволит пользователям регистрироваться в кинотеатре и управлять своим аккаунтом. Подробный разбор, как правильно хранить пароли и обеспечить безопасность пользовательских данных. Студенты самостоятельно проектируют архитектуру сервиса, защитив свои решения на ревью. Они продумывают систему взаимодействия между сервисами, обращая внимание на обработку ошибок и возможное отключение одного из сервисов. Углубляем работу с FastAPI и работу с реляционными БД на примере PostgreSQL и key-value хранилищем на примере Redis. Фокусировка на компьютерной безопасности и правильной организации сбора, защиты и хранения данных. Спринт 6. — Объяснение, для чего нужен сервис Auth. — Анализ и сбор требований, работа с чувствительными данными, безопасность, шифрование, хеширование и управление доступом к ресурсам. — Изучение способов авторизации и проработка требований к сервису. Продолжение изучения FastAPI и Redis. Спринт 7. — Детальный рассказ о работе OAuth 1.0/2.0, openID и openID Connect. — Работа с каптчей и двухфакторной авторизацией. — Изучение общения между микросервисами. Настройка устойчивости сервиса к нагрузкам и изменениям API, внедрение в AsyncAPI авторизации, управление уровнем нагрузки и быстрое нахождение проблем.
Сервис UGC
Сервис разрешает пользователям создавать свой контент в вашем кинотеатре — оставлять лайки, комментарии, отзывы к фильмам. Студентам нужно организовать сбор и хранение данных об активности пользователей. Самостоятельный выбор асинхронного фреймворка и хранилища данных для сервиса. Проведение собственного исследования производительности разных хранилищ данных. Защита полученных результатов, выводов и принятых решений на демо с наставником. Спринт 8. — Что такое UGC и зачем оно нужно. Планирование сервиса. — Описание архитектуры и полезные советы по ее проектированию. — Выбор хранилища, событийная работа с данными и работа с Kafka. — Подходы к хранению и обработке данных, которые не помещаются на один сервер. Локальный подъем вычислительного кластера и работа с данными внутри него. Спринт 9. — Ещё одно распределённое хранилище, хранение данных и оптимизация хранения и обработки. — CI/CD: Построение непрерывной интеграции для приложения. — Знакомство с логированием в микросервисной архитектуре.
Сервис нотификации
Сервис нотификации отвечает за коммуникацию с пользователем через Email, мобильные пуш-уведомления, websocket в браузере. Это часто решаемая бизнес-задача в коммерческой разработке — от правильной коммуникации с пользователем зависят показатели бизнеса. Изучение архитектурных проблем веб-разработки. Самостоятельное прохождение пути от бизнес-задачи до рабочего решения. Самостоятельный выбор стека технологий и отрисовка архитектуры сервиса. Новые технологии: брокеры сообщений на примере RabbitMQ и Websocket. Спринт 10. — Описание принципа работы сервиса нотификаций. — Механизм отправки сообщений пользователям и единая политика контактов. — Проектирование коммуникационной системы. — Устройство Email и шаблонизаторов. Изучение, какие протоколы или технологии можно применить в разных ситуациях, когда нужно связаться с клиентом. — Использование брокера сообщений RabbitMQ. Сервисы транзакционной рассылки писем и сокращенные ссылки. — Возвращение к CI/CD-процессу.
Дипломный проект
Студенты сами выбирают бизнес-задачу или придумывают её, планируют своё время, проектируют архитектуру решения, выбирают и исследуют технологии, затем защищают разработанное приложение. Финальная точка — защита дипломного проекта, где выпускники показывают результат работы своей команды. Спринт 11. — Подготовка к финальной прямой. Организация работы в дипломном модуле. — Идеи для диплома. Готовые идеи для реализации в дипломном проекте. — Проработка задачи с заказчиком. Требования для разработки и виды заказчиков. Декомпозиция проекта и самостоятельная подготовка ТЗ для заказчика. — Организация рабочего времени. Полезные советы, как организовать рабочее время и наладить прозрачные процессы в команде. — Архитектура и планирование. Риски и планирование задач по проекту.
Программа трудоустройства
Карьерный трек разделён на семь блоков. Сначала студент думает, точно ли ему нужно менять место, и определяет собственные критерии для комфортной работы. Далее он составляет резюме вместе с опытным HR-консультантов и тщательно готовится ко всем видам собеседований, а мы будем предлагать актуальные вакансии партнёров.
Чему вы научитесь
Думать о проекте как о единой системе
А ещё самостоятельно принимать архитектурные решения, работать с актуальными фреймворками и разными типами баз данных.
Использовать навыки, которые отличают мидла от джуниора
Вы научитесь превращать требования бизнеса в конкретные технические задачи, а задачи — в готовый продукт. Узнаете, как ставить «предохранители» на потенциально слабые места и спасать проект до того, как всё сгорит на продакшене.
Разрабатывать полноценные веб-сервисы
Весь курс вы будете работать над аналогом онлайн-кинотеатра, а в дипломном проекте самостоятельно сделаете для него дополнительный сервис.
Организовывать инфраструктуру
Сможете конфигурировать веб-сервер, запускать любой сервис в Docker, управлять запуском десятка сервисов с Docker Compose, настраивать CI/CD, собирать логи всех компонентов в одном месте с использованием ELK и добавлять трассировку запросов между микросервисами с Jaeger.
Учитесь и экономьте
Оставьте заявку, и наш менеджер расскажет подробности.
Зарегистрируйтесь и получите пробный урок бесплатно
Стоимость обучения
110 000 руб.
Или 19 500 руб. ежемесячно — подробности у менеджера.
Углубите знания технологий для бэкенд-разработки на Python
Разберётесь, как работает бэкенд, DevOps и другие смежные области
Добавите 6 проектов в портфолио
Продолжительность
6 месяцев
Менеджер расскажет о других доступных датах после отправки заявки
Отправляя заявку, вы принимаете условия публичного договора и даёте согласие на обработку своих персональных данных в соответствии с политикой конфиденциальности.
Меню