Otus python developer professional

Python Developer

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

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

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

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

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

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

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

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

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

  • Познакомитесь с синтаксисом и базовыми операторами Python
  • Освоите основы ООП и научитесь писать тесты
  • Научитесь работать в асинхронном режиме с вебом и базами данных, создавать и настраивать автоматические тесты, работать с API
  • Научитесь использовать библиотеки для Data Science, разворачивать свои приложения в Docker-контейнерах, настраивать автоматический деплой
  • Освоите продвинутые основы Python и веб-разработки
  • Научитесь писать простой и идиоматичный код, тестировать и поддерживать код на Python
  • Освоите навыки Software Engineering и сформируете прагматичный подход к решению задач
  • Научитесь писать приложения, которые не умирают под нагрузкой

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

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

Читайте также:  Виды делений в python

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

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

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

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

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

Python Developer

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

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

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

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

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

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

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

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

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

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

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

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

В результате занятия:
— будете иметь ясное представление о том, что такое декораторы в Python и как они работают;
— будете уметь создавать собственные декораторы в Python;
— увидите реальные примеры использования декораторов в Python.

Данное занятие подойдет как тем, кто только начинает знакомиться с программированием и Python, так и тем, кто уже имеет определенный опыт и хочет изучить декораторы. . Читать дальше

На уроке узнаем о составе стандартной библиотеки Python:
— logging;
— datetime;
— argparse;
— string;
— pathlib.

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

Занятие подойдёт начинающим Python разработчикам, которые хотят познакомиться со встроенными библиотеками и применять их в своих задачах
при работе с путями, текстом, датами и временем. Очень полезно будет тем, кто хочет при запуске скриптов научиться читать аргументы. И отличное решение для новичков, кто хочет узнать, как можно получать логи без print’ов . Читать дальше

Практически любой современный язык программирования обладает экосистемой пакетов, которая позволяет разработчику использовать готовые модули для решения определенных задач. Работы с системой пакетов осуществляется через пакетные менеджеры. В экосистеме Python это pip и poetry.

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

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

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

Источник

Оцените статью