На этом курсе сначала определяют уровень знаний каждого студента. Устанавливают коммуникацию и знакомят с планом занятий. Студенты получают доступ к теоретическим материалам и методичкам.
Первый модуль охватывает основы разработки программного обеспечения. Студенты учатся взаимодействовать с командой и использовать Git для совместной работы. Они осваивают GitHub для управления заданиями и составляют рабочие графики. Модуль включает автоматизацию с помощью Jenkins и инструменты проверки качества кода. Также рассматривают создание веток для релизов и стабилизацию кода.
Второй модуль посвящен тестированию. Студенты изучают принципы TDD - разработки через тестирование. Они учатся проводить юнит-тесты, анализировать покрытие кода и определять уязвимости. Модуль охватывает работу с SonarQube, настройку Quality Gates и различные виды тестирования - от мануального до автоматизированного. Студенты осваивают UI-тестирование интерфейса и E2E-тестирование в реальных условиях.
Третий модуль раскрывает принципы архитектуры программного обеспечения. Здесь рассматривают внешние факторы качества - стойкость, корректность, возможность повторного использования. Студенты изучают различные типы архитектур: SOA, микросервисы, Serverless и Web-Queue-Worker. Модуль включает модели облачных сервисов, сбор требований и работу с техническими заданиями.
Этот большой модуль охватывает проектирование программного обеспечения. Студенты изучают архитектурные решения, графическое представление кода и распределенные вычисления. Они осваивают различные парадигмы программирования - функциональную, процедурную и ООП. Модуль включает структуры данных, компиляторы, дизайн-паттерны и документацию. Студенты работают с базами данных, создают микросервисы на Java и Node.js, изучают многопоточное программирование на C++. Также рассматривают методологии разработки, технический долг, кеширование и безопасностные аспекты.
Модуль посвящен программным интерфейсам приложений. Студенты изучают принципы SOLID, контрактное программирование и стандарты API - GraphQL и RESTful. Они учатся внедрять систему API-менеджмента, организовывать пагинацию и ограничения запросов. Модуль также включает обзор машинного обучения.
Эти два модуля охватывают непрерывную доставку и развертывание. Студенты изучают внутреннюю структуру разработки, работу с Docker, Swarm и Kubernetes. Они осваивают различные среды разработки и шаблоны развертывания - A/B тестирование, Canary и Blue-Green. Модуль включает управление версиями и методы обновления без простоев.
Последние модули посвящены эксплуатации систем и облачным технологиям. Студенты изучают техническую поддержку, обслуживание клиентов и работу с инцидентами. Они осваивают мониторинг, восстановление данных и соглашения об уровне обслуживания. Модуль по облачным технологиям охватывает основные платформы, создание кластеров и виртуализацию.
Выпускники курса умеют работать с Git, проводить Code Review и настраивать CI/CD системы. Они могут формулировать бизнес-требования и преобразовывать их в технические задания. Студенты знают все этапы жизненного цикла ПО - от планирования до технической поддержки. Они создают фреймворки тестирования и применяют принципы TDD в реальных проектах.
На курсе преподают практики из IT-отрасли. Доступно корпоративное обучение и занятия в выходные. Выпускники имеют возможность трудоустройства в ведущих IT-компаниях. Также доступно индивидуальное обучение по потребности.