• Востребованная профессия

Профессия
Python-разработчик PRO

6-месячный курс для практикующих специалистов. Вы получите новый опыт разработки: освоите Django REST Framework и различные архитектуры приложений, создадите чат со своим клиентом и сервером, потренируете разработку в команде.

  • Диплом о профессиональной переподготовке
  • Государственная образовательная лицензия
от 5 542 ₽ в месяц от 3 879 ₽ в месяц Россия ...список стран и валют Россия Беларусь Китай Казахстан Украина Молдова Армения Кыргызстан Узбекистан При рассрочке до 36 месяцев Подробнее о тарифах и офисах в вашей стране
  • РАЗНЫЕ ФОРМАТЫ ОБУЧЕНИЯ
    • Занятия в группе с преподавателем
    • Онлайн-лекции и вебинары
    • Видеозаписи занятий
  • ДЛИТЕЛЬНОСТЬ6 месяцeв
    2 занятия в неделю
  • РЕЗУЛЬТАТДиплом
    5 работ в портфолио
  • ГАРАНТИЯТрудоустройство
    после обучения

Оставьте заявку

Начало обучения:
Старт потока каждые 2 недели

Отправляя заявку, вы принимаете условия договора-оферты и даете согласие на обработку своих персональных данных в соответствии с политикой конфиденциальности.

Бизнесу нужны Python-разработчики

Python — это востребованный и популярный язык: на нём разработчики создают бэкенд сайтов и проектируют взаимодействие с другими сервисами. А ещё это перспективный язык: зарплата у middle- и senior-разработчиков больше на 50%, чем у junior-специалистов.
Мы поможем вам получить новый грейд и повысить доход.

70 000 ₽

Средняя зарплата Junior-специалиста

120 000 ₽

средняя зарплата Python-разработчика
Доступно более 1000 вакансий Python-разработчика на hh.ru и SuperJob

Кому подойдет курс

Специалистам с опытом работы на Python
Вы уверенно программируете на Python. Поможем отточить навыки и получить новый опыт разработки.
Junior-разработчикам на Python
Программируете на Python и самостоятельно его изучаете. Поможем систематизировать знания и перейти на новый грейд.
Разработчикам и DevOps-специалистам
Освоите новую профессию и перейдёте в интересное IT-направление.

Почему нас выбирают

Даем обратную связь

Обучение на 70% состоит из вебинаров: вы получаете фидбек от преподавателей и общаетесь с одногруппниками. Все вебинары можно пересмотреть в записи.

Сопровождаем на всех этапах

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

Студент-наставник

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

Постоянно обновляем программу

Вы получаете актуальные навыки и знания: программа учитывает требования работодателей по компетенциям Python-разработчика.

Доступ к сообществу GeekBrains

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

Вас будут обучать эксперты-практики

Леонид Орлов
Преподаватель, фрилансер

Начал карьеру в «Прогнозе»: два года создавал проекты для правительства России. Знаком с командной разработкой и системой TFS, работал программистом биллинга на Oracle PL/SQL в «ЭР-Телекоме». Преподаёт с 2014 года, развивает собственные проекты на Python и Django.

Алексей Петренко
Декан факультета Python-разработки

Разрабатывает IT-решения по автоматизации процессов учёта наличия и движения людей и технических средств для Министерства обороны РФ. За 20 лет в IT писал программы на более чем 20 языках программирования.

Роман Зайруллин
автор курса «Асинхронный чат»

Backend-разработчик, IT-консультант и автор книги «Legacy Software. Как заставить чужой код работать».

Денис Романов
преподаватель

В коммерческой разработке с 2000 года. Участвовал в проектах промышленной автоматизации. Разрабатывал встраиваемые устройства, системы управления умным домом, системы электронного документооборота, медицинские системы.

Программа обучения

6

месяцев
обучения

76

часов
контента

118

часа
практики
Курс 1

DRF — Django REST framework

Научитесь создавать REST API и современные веб-приложения на их основе.

Уроки

Введение в REST и DRF — Django REST framework

Узнаете назначение каждого REST-запроса. Сможете подключать DRF к проекту и создавать API для простой модели данных.

Введение в React. Компонентный подход

Создадите страницу на React и разделите её на небольшие компоненты. Научитесь подключать frontend на React к проекту. Узнаете, как получать данные из API на стороне клиента.

Serializers. Renderers. Routers

Познакомитесь с видами serializers, renderers, routers и научитесь настраивать их под задачу. Сможете выбирать и создавать serializers для различных типов связей в моделях.

Введение в REST и DRF — Django REST framework

Узнаете назначение каждого REST-запроса. Сможете подключать DRF к проекту и создавать API для простой модели данных.

Views. Filtering. Pagination

Познакомитесь с видами views и научитесь настраивать их под задачу. Сможете добавить фильтрацию и постраничный вывод в API.

Routing. SPA

Научитесь создавать Single Page Applications на React и использовать react-router-dom для настройки маршрутизации на стороне клиента.

Авторизация. Система прав

Узнаете, в каких случаях применяются различные виды авторизации и прав. Сможете добавить авторизацию и систему прав к проекту на Django.

Авторизация на стороне клиента

Узнаете, как настроить авторизацию на стороне клиента и где хранить токен. Сможете прикладывать токен к запросу на сервер и сохранять его в localstorage и cookies.

Тестирование API. Фабрики данных

Научитесь писать различные варианты тестов для API. Сможете генерировать тестовые данные с помощью mixer.

Система версий API. Документация для API

Узнаете, зачем нужна система версий API и как она формируется. Сможете создавать и поддерживать несколько версий API в своём проекте. Создадите документацию к API с помощью swagger-библиотек.

GraphQl-схемы

Узнаете, зачем использовать GraphQl в проектах, и научитесь создавать схемы для гибких запросов к нескольким моделям данных.

Сборка проекта для продакшна и работа с формами

Познакомитесь с вариантами сборки проекта и научитесь работать с формами на React. Реализуете поиск данных и страницы для post-, put- и delete-запросов.

Развёртывание проекта с помощью docker и docker-compose

Познакомитесь с вариантами развёртывания проекта в docker. Научитесь разворачивать проект, используя несколько контейнеров.

Проект

Создадите веб-сервис с личным кабинетом для управления ToDo-заметками (backend на REST API, frontend на React.

Курс 2

Архитектура и шаблоны проектирования

Познакомитесь с разработкой на Python и освоите инструменты, которые помогут проектировать и поддерживать backend приложения.

Уроки

Паттерны веб-представления

Познакомитесь с паттернами MVC, Page Controller, Front Controller. Узнаете, зачем нужен WSGI-сервер, и научитесь его создавать с применением паттернов.

Архитектура Python-приложений

Узнаете, как архитектура помогает разрабатывать бизнес-системы. Разберёте основные виды архитектуры и критерии хорошей бизнес-системы.

Принципы проектирования

Освоите принципы проектирования: DRY, KISS, SOLID, GRASP.

Порождающие паттерны

Это первая категория GoF-паттернов. Вы научитесь применять порождающие шаблоны в своём коде.

Структурные паттерны

Это вторая категория GoF-паттернов. Вы научитесь применять структурные шаблоны в своём коде.

Поведенческие паттерны

Это третья, последняя категория GoF-паттернов. Вы научитесь применять поведенческие шаблоны в своём коде.

Архитектурные системные паттерны

Познакомитесь с базовыми и объектно-реляционными паттернами. Научитесь применять архитектурные системные паттерны и взаимодействовать с базой данных с помощью Data Mapper и Unit Of Work.

Антипаттерны

Познакомитесь с популярными антипаттернами и научитесь находить их в системе.

Микросервисная архитектура

Узнаете разницу между синхронными и асинхронными системами. Научитесь работать с брокерами сообщений и применять DDD и REST.

Проект

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

Курс 3

Асинхронный мессенджер

Курс состоит из 12 уроков, каждый из которых — шаг к итоговому проекту. Вы создадите клиентскую и серверную часть мессенджера.

Блоки

Клиентская часть проекта: desktop-приложение для обмена сообщениями

Изучите технологии: socket, select, WebSocket, Tkinter, GIL и потоки, SQLite и SQLAlchemy для создания ORM базы данных.

Создадите мессенджер, который сможет отправлять и принимать сообщения от сервера, используя API.

Серверная часть проекта: асинхронный сервер и база данных

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

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

Принципы проектирования комплексных систем. Проектирование чата

Узнаете, какие проблемы возникают при работе с длительными соединениями. Узнаете, какие задачи на взаимодействие не подходят для использования HTTP.

Первый простейший протокол обмена сообщениями

Научитесь базовой работе с сокетами, создадите простейшие TCP-сервер и клиент, реализуете протокол передачи сообщений.

Работа сервера с множеством клиентов

Научитесь работать с неблокирующими сокетами и познакомитесь с системным методом select.

Конкурентность. Кооперативная многозадачность. Генераторы

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

Конкурентность — часть 2. Многопоточность

Узнаете, как работает многопоточность и чем она отличается от параллелизма. Разберётесь в специфике CPython при работе с потоками и научитесь работать с мьютексами.

Конкурентность — часть 3. Параллелизм

Познакомитесь с библиотекой multiprocessing. Узнаете, как работает коммуникация процессов. Научитесь основным приёмам профилирования и оптимизации вычислений.

Конкурентность — часть 4. Итог

Познакомитесь с понятиями task и future. Напишете простейший цикл событий. Улучшите клиент чата, который сможет принимать ввод пользователя одновременно с чтением сообщений от сервера.

Работа с высокоуровневым API Python asyncio

Познакомитесь с библиотекой asyncio и узнаете, как она помогает решать проблемы с предыдущих занятий. Узнаете, чем отличается разработка с asyncio от работы с синхронным Python.

Перевод чата на WebSocket-протокол

Познакомитесь с библиотекой aiohttp, научитесь использовать pytest в связке с asyncio, напишете сервер с использованием WebSocket-протокола и простую библиотеку для клиента.

Добавление функций для чата: комнаты, права, аутентификация и авторизация

Узнаете о разнице между процессами аутентификации и авторизации. Разработаете протокол для доступа к ресурсам. Напишете метод аутентификации пользователей. Добавите комнаты для своего чата с возможностью разделять роли пользователей. Узнаете о способах отладки асинхронного кода и связанных с ними проблемах.

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

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

Расширение клиента. Оформление кода в виде библиотеки

Превратите свой клиент с предыдущих занятий в библиотеку, узнаете о принципах оформления API-библиотеки, создадите CLI-интерфейс для клиента.

Введение в Tkinter и основные принципы создания графических интерфейсов

Узнаете разные подходы к созданию графических интерфейсов и создадите прототип интерфейса для клиента.

Функциональный интерфейс. События Tkinter, взаимодействие элементов интерфейса

Узнаете, как работают событийно-ориентированные интерфейсы, превратите прототип в почти функциональный фронтенд.

Рабочий клиент

Научитесь соединять асинхронный код с синхронным, получите полностью функциональный GUI-клиент чата.

Подготовка сервера и клиента к распространению

Научитесь работать с setuptools и оформлять клиент и сервер в готовый к установке пакет.

Курс 4

Командная разработка

Курс длится 10 недель и состоит из 2-х тематических блоков. Научитесь работать в команде по гибким методологиям: вести бэклог задач, декомпозировать требования, оценивать задачи и планировать спринты.

Блоки

Гибкие методологии (2 недели)

Познакомитесь с Agile, Kanban, Scrum, Scrumban. Узнаете больше о работе по Scrum и подготовитесь к старту проекта.

Командная разработка по техническому заданию
(8 недельных спринтов)

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

Проект

Потренируетесь создавать проект на реальной инфраструктуре.

Получите программу курса на email

Нажимая на кнопку, вы даете согласие на обработку своих персональных данных в соответствии с политикой конфиденциальности.
Спасибо! Ваша заявка принята.
Мы уже выслали программу курса на вашу почту.
Oops! Something went wrong while submitting the form.

Освойте современные технологии и компетенции за 6 месяцев обучения

DRF
REST API
Python Threads
Agile/Scrum
Умение работать
с  чужим кодом

Вы получите удостоверение о повышении квалификации

Вы получаете электронный сертификат и удостоверение о повышении квалификации установленного образца, их можно приложить к портфолио и показать работодателю. Обучение проводим на основании гослицензии № 040485.

Выберите пакет обучения на Python Pro разработчике

В зависимости от ваших целей и амбиций выберите комбинированное предложение по обучению. Длительность программы, учебный план и набор технологий зависят от пакетов.
В любом пакете уже включено:
Гарантия трудоустройства через 12 месяцев по IT-профессиям
Диплом о профессиональной переподготовке
Государственная образовательная лицензия

Факультет

Специалист

от 4 523

Специалист

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

12 месяцев

длительность
обучения

Выбрать программу

Факультет

Digital-master

Диджитал-мастер

от 7 273

Мастер

Для тех, кто хочет стать уверенным
специалистом в любой IT-профессии.

Уровень навыков

и профессионализма

Middle

Уровень знаний
после обучения

24 месяца

длительность
обучения

Спецпрограмма

для Digital-мастеров
все 24 месяца

Доход после обучения

от 80 000 ₽

Стартовый
доход

через 3 года

200 000+ ₽

Потенциальный
доход

Выбрать пакет Digital-master

Факультет

Geek

Гик

от 10 023

Pro

Для тех, кто хочет учиться серьезно
и стать настоящим профессионалом.

Уровень навыков

и профессионализма

Middle+

Уровень знаний
после обучения

36 месяцев

длительность
обучения

Спецпрограмма

для Geek’ов
все 36 месяцев

Доход после обучения

от 80 000 ₽

Стартовый
доход

через 3 года

250 000+ ₽

Потенциальный
доход

Выбрать пакет Geek
Оставьте заявку

Отправляя заявку, вы даете согласие на обработку своих персональных данных в соответствии с политикой конфиденциальности.

Спасибо! 
Ваша заявка принята. Наш менеджер свяжется с вами в ближайшее время.
Oops! Something went wrong while submitting the form.

Часто задаваемые вопросы

Что нужно знать на старте обучения?

Что нужно знать:  

  • программирование на Python, в том числе и ООП на Python
  • Систему контроля версий Git
  • Командную строку Linux
  • Базовые HTML, CSS и JavaScript
  • Основы Django Framework
  • Базы данных SQL

Вы можете проверить свои знания до обучения: оставьте заявку, и вам на почту придет тест. Если какую-то тему нужно подтянуть, можете купить сопроводительный курс по ней со скидкой 50%. Скидка действует после оплаты основного курса по Python-разработке.

Как проходят занятия?

Проводим онлайн-вебинары несколько раз в неделю, вечером по Москве.

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

Что, если я пропустил занятие или не могу учиться онлайн?

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

Можно ли делать перерывы в обучении?

Вы можете делать перерывы между курсами и регулировать интенсивность программы.

Кто преподаёт в GeekBrains?

Преподаватели — опытные специалисты по Python-разработке. Чтобы гарантировать качество обучения, мы проверяем резюме преподавателей, проводим интервью и тестируем их знания. Вы можете оценить уровень преподавателя и качество курса по 5-балльной шкале.

У меня возник вопрос, куда обращаться?

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

  • 8 800 700-68-41 (бесплатно по России)