СТАРТ:
23 вересня
ТРИВАЛІСТЬ:
18 онлайн-занять
[щовівторка та щочетверга]
Комплексний курс, який дасть фундаментальні знання із системного дизайну, навчить будувати складні високонавантажені системи й організовувати весь процес розробки: від планування й розрахунків витрат на реалізацію ― до аналізу та масштабування.
курс підійде:
-
Middle & Senior Developers які хочуть систематизувати знання, навчитися створювати легкомасштабовані ІТ-системи, отримати практичний досвід і «право на помилку» з курсовим, а не реальним проєктом.
-
Developers & Software Engineers які хочуть стати Software Architect, Solution Architect, Security Architect чи СТО і яким бракує актуальних знань, хард-скілів та навичок управління командою, комунікації між замовниками й розробниками
-
Tech Lead & Team Lead які хочуть розібратися в атрибутах великих систем і принципах побудови високонавантаженої архітектури та навчитися відповідати не лише за технічні завдання, а й за стратегію, бюджет і команду
-
Якісна і ретельно продумана архітектура може вберегти ваш проєкт від проблем, збитків і неефективних рішень. Як проєктувати та реалізовувати складні розгалужені системи, задовольняти запити замовника та гарантувати безпеку й відмовостійкість ― ви дізнаєтеся на цьому курсі.
-
Спочатку ми розглянемо вимоги сучасного ІТ-бізнесу й тренди в розробці. Потім детально розберемо всі атрибути великих систем і навчимося проєктувати складну масштабовану архітектуру. Далі ― навчимося аналізувати дизайн-системи й пропрацьовувати можливі помилки. У результаті ви створите власну архітектуру з нуля та здобудете повний скілсет Software Architect.
ДО ПРОГРАМИ КУРСУ ВХОДЯТЬ
-
БАЗА СИСТЕМНОГО ПРОЄКТУВАННЯ Отримаєте фундаментальні знання у сфері системного дизайну, дізнаєтеся про всі тренди в архітектурі та зрозумієте, які технології лежать в основі масштабованих і відмовостійких систем.
-
ПРАКТИКА Детально розберете всі атрибути великих ІТ-систем, навчитеся робити розрахунки, обирати оптимальні рішення, вільно проєктувати високонавантажену архітектуру й укладати SLA- та SLO-угоди.
-
РОЗРОБКА АРХІТЕКТУРИ З НУЛЯ Отримаєте вимоги до фінального проєкту й самостійно розробите складну архітектуру, використовуючи high-level дизайн-схеми, зокрема draw.io і Microsoft Visual Studio Designer. Додасте проєкт у портфоліо.
-
КАРʼЄРА Навчитеся аналізувати переваги й недоліки різних архітектур, зможете реалізовувати складні проєкти, організовувати весь процес проєктування і розробки.
-
БОНУС Студент із найбільшою кількістю балів отримає можливість пройти технічне інтервʼю на роль Software Architect і рекомендації в Microsoft від лектора.
ПРОГРАМА
-
01
Intro в architecture in practice
- Зрозумієте, що таке architecture in practice.
- Розберете ключові завдання, що стоять перед архітектором.
- Ознайомитеся з воркфлоу курсу та можливими фінальними проєктами.
- Зрозумієте основнi концепцiї Software Architect.
-
02
Сучасні архітектурні практики й тренди в розробці
- Зрозумієте, які існують архітектурні практики для розробки високонавантажених систем та хмар.
- Навчитеся робити research та development нових трендів, а також робити план архітектури та грубі розрахунки.
- Розберете тренди в Energy Efficiency, OpenAI, Quantum Computing, Blockchain та IoT.
-
03
Роль Software Architect у команді
- Розберетеся в задачах Software Architect, зрозумієте, які з них можна делегувати, а які ― ні.
- Зрозумієте, як працює ІТ-бізнес, і навчитеся розуміти вимоги замовника.
- Навчитеся збирати й задокументовувати вимоги до програми, розберете найпоширеніші помилки під час цього процесу.
- Отримаєте поради щодо менеджменту великих технічних команд.
-
04
Архітектура для Open AI, Big Data and Machine Learning
- Зрозумієте, що таке data-intensive програми та які завдання стоять перед архітектором високонавантажених систем при використанні штучного iнтелекту.
- Навчитеся робити high level архітектури для data science проєктiв.
- Зрозумієте, на що треба звертати увагу в data science проєктах.
-
05
Блокчейн, енергоефективність і квантові обчислення
- Зрозумієте, що таке blockchain та quantum computing та навіщо їх використовувати в архітектурі.
- Розберете задачі, що стоять перед архітектором при змiнах клiмату.
- Дізнаєтеся, як проєктувати програми енергоефективними.
- Навчитеся робити грубі розрахунки CO2 для архітектури.
- Дізнаєтеся, як зробити редизайн наявних систем відповідно до нових трендів.
-
06
Патерни проєктування, атрибути й види великих систем
- Зрозумієте, що таке патерни проєктування, атрибути й види великих систем
- Дізнаєтеся, як покращити комунікацію в команді, коли над проєктом працюють фахівці з різними ролями та різним розумінням вимог.
- Навчитеся комунікувати з supply chain, hardware, security та operations.
- Отримаєте поради щодо побудови ефективної комунікації на всіх рівнях: від C-level і продакт-менеджерів ― до девелоперів.
-
07
Персоналії, інфраструктура та погляди розробників
- Зрозумієте, що таке highload і data-intensive програми.
- Навчитеся робити грубі розрахунки для архітектури програми.
-
08
Availability, Deployability, and Integrability
- Дізнаєтеся, що таке атрибути availability та як це пов’язано з можливістю розгортання та інтеграційністю.
- Навчитеся аналізувати метрики цих атрибутів.
- Зробите план та дизайн масштабування системи, використовуючи DevOps та конвеєри розгортання.
-
09
Modifiability, Scalability, and Performance
- Зрозумієте, як працюють і яку архітектурну специфіку мають розподілені системи.
- Дізнаєтеся best practices архітектора, коли потрібно реалізувати горизонтально масштабовану систему з обмеженим бюджетом.
- Розглянете проблеми, які можуть виникнути в результаті масштабування, і зрозумієте, як вони впливають на продуктивність.
-
10
Safety, Security, and Threat Modeling
- Зрозумієте, що таке threat modelling.
- Навчитеся робити грубі розрахунки для архітектури безпеки та захисту програм.
-
11
Usability, Testability, and Accessibility
- Зрозумієте, що таке usability, testability та accessibility.
- Розберете задачі архітектора для цих атрибутів і зрозумієте, які фундаментальні моменти необхідно обговорити до старту реалізації проєкту.
- Навчитеся робити грубі розрахунки для user friendly та easy to use.
-
12
Як працювати з віртуалізацією та безсерверною архітектурою
- Зрозумієте, що таке edge, virtualization та serverless-програми.
- Навчитеся робити грубі розрахунки для архітектури програми.
-
13
Як розробляти mobile та data science застосунки й чим вони відрізняються
- Зрозумієте, що таке highload і data-intensive програми.
- Розберете задачі, які стоять перед архітектором високонавантажених систем.
-
14
Як аналізувати архітектуру та визначати її переваги й недоліки
- Розглянете архітектури потоку даних, архітектури виклику та повернення, архітектури, орієнтовані на дані, та багаторівневі архітектури.
- Дізнаєтеся, що таке толерантність до збоїв і що може забезпечувати низьку продуктивність.
- Навчитеся легко масштабувати системи.
- Навчитеся визначати безпечність архітектури.
-
15
Як задокументувати product visions, вимоги клієнтів і зацікавлених сторін
- Навчитеся збирати й задокументовувати вимоги до програми.
- Навчитеся визначати переваги та недоліки того чи іншого підходу та обирати найкращий варіант відповідно до вимог бізнесу.
-
16
Best practices і поширені помилки загальної архітектури
- Дізнаєтеся, як вести комунікацію між відділами та співробітниками, коли є суперечки.
- Навчитеся вибудовувати архітектуру в компанії з нуля, обґрунтовувати свою думку та розподіляти задачі в команді.
-
17
Робота над фінальним проєктом
- Зробите survey з відкритими запитаннями до лектора
- Порівняєте початкову архітектуру та фінальну, щоби побачити власний прогрес.
- Отримаєте завдання та вимоги до фінального проєкту.
-
18
Презентація фінального проєкту
- Розробите власну архітектуру.
- Презентуєте архітектуру лектору та колегам.
Реєстрація