На цьому курсі спочатку визначають рівень знань кожного студента. Встановлюють комунікацію та знайомлять з планом занять. Студенти отримують доступ до теоретичних матеріалів і методичок.
Перший модуль охоплює основи розробки програмного забезпечення. Студенти вчаться взаємодіяти з командою та використовувати 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-компаніях. Також доступне індивідуальне навчання за потребою.