Киев Курс

Software Engineering: CI/CD

Записывайся на консультацию

Левый берег (пр. Павла Тычины, 1в)

clock icon
Старт группы

23 октября

person icon
График

сб, вс: 10:00-17:00

Описание курса

star icon
Длительность

24 часа

dollar icon
Группа

15 человек

Говорят, новые знания — новые горизонты. Когда инженер осваивает одну из IT-технологий в сфере разработки программного обеспечения и получает первую работу, перед ним становится вопрос «Что делать дальше для карьерного продвижения и как развивать себя?».

Ответ на этот вопрос — постоянное обучение. Мы рекомендуем в качестве следующего шага выбрать именно Software Engineering: CI/CD. Получив и углубив знания в определенной технологии, разработчику необходимо расширять их и в смежных дисциплинах. Поэтому программа курса построена таким образом, чтобы дать глубокое понимание процесса разработки программного обеспечения в целом. SDLC (Software Development Life Cycle) не просто аббревиатура, это набор ключевых аспектов, которые должен знать и понимать каждый разработчик программного обеспечения.

Главная задача Software Engineering курса — объединить фундаментальные знания и современные инструменты, чтобы молодой специалист имел прочную основу для развития в мире нулей и единиц.

Для кого

Junior/ Junior+ / Middle разработчикам

разработчикам, тестировщикам, DevOps

SRE, support-инженерам

преподаватели курса

Владислав Курмаз

Преподаватель и разработчик курса Software Engineering

Software-девелопер с 20-летним опытом работы. Сферы деятельности: game development, 3D printing, Finance & Trading software, Avia simulators, ITSM. Основной фокус работы: инновации в развитии компаний и построение эффективной и результативной рабочей среды.

Что будете уметь

Узнаете, что такое жизненный цикл разработки ПО (SDLC), за счет чего Git стал стандартом де-факто для хранения исходного кода, как Code Review помогает улучшать качество программного продукта, зачем нужны Pull Request, сможете применять TDD на практике, почему нужно обязательно применять механизм Drop-ов даже для небольших проектов.

Поймёте, как использовать ветки, что такое Release Management, как изолировать большие функциональные части системы, используя User Story Isolation, узнаете как нужно выстроить процесс разработки, чтобы без ночных переработок выпускать новые версии продукта и эффективно реагировать на пользовательские эскалации, выдерживая заявленные SLA.

Сможете настраивать системы непрерывной интеграции (CI/CD), связывая воедино Jenkins, SonarQube, Nexus и Github.

Познакомитесь с Docker и Kubernetes, узнаете как с их помощью создавать программные продукты, которые могут работать с высокой нагрузкой и быть устойчивыми к отказам. С помощью Terraform развернете Enterprise-grade облачную инфраструктура, а Helm поможет понять как работать с системами, построенными на базе Kubernetes.

Программа

Введение

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

Continuous Integration

Сосредоточимся на современном процессе создания ПО. Какие понятия – основные, на чём нужно делать акцент разработчику, чтобы взаимодействовать с остальными членами команды максимально быстро и эффективно? Главное на этом этапе – ресурсный менеджмент, рабочий график, инструменты проверки качества кода и хранилище артефактов.

  • Git
  • Branching и Release Management
  • Github
  • Jenkins
  • SonarQube
  • Ревью кода, User Story Isolation, PR/PUSH builds

Continuous Delivery

Современный процесс разработки ПО имеет достаточно сложную внутреннюю структуру. Многие типы артефактов, процессов, практик участвуют в разработке, тестировании и развертывании. Исходный код – только первый этап. Мы сконцентрируемся на технологии Docker, а также всём, что с ней связано. На сегодняшний день экосистема является стандартом и применяется повсеместно. Студенты узнают, как развертывать приложение максимально быстро и без стресса.

  • Репозиторий артефактов
  • Переменные среды
  • NoOps, Opsless
  • Docker, Docker compose, Kubernetes

Continuous Deployment

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

  • Различные типы сред разработки по (local, ci, dev, qa, uat, prod)
  • Blue/Green, A/B, Canary deployment, 0-downtime, Rolling updates, стратегия «Follow the sun»
  • Kubernetes, Terraform, Helm
запись на консультацию

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

Записаться на консультацию







Спасибо за регистрацию.

В ближайшее время с вами свяжется наш менеджер

Контакты