Інженерія програмного забезпечення — це фундаментальна інженерна й технологічна галузь, що охоплює весь життєвий цикл створення програмних продуктів: від аналізу вимог, проектування архітектури та безпосередньої розробки (кодування) до тестування, впровадження, супроводу й еволюції ПЗ.
На відміну від чистої інформатики або математики, інженерія ПЗ фокусується на системному, дисциплінованому та вимірюваному підході до створення надійного, масштабованого, безпечного та якісного програмного забезпечення в умовах обмежених ресурсів, жорстких термінів та мінливих вимог бізнесу.
В основу підготовки фахівців із програмної інженерії покладено такі об’єкти:
- програмне забезпечення: мобільні та вебзастосунки, хмарні сервіси (Cloud Native), розподілені та високонавантажені системи, вбудоване ПЗ (Embedded Systems), рішення на основі AI/ML, корпоративні системи (ERP/CRM);
- життєвий цикл ПЗ та процеси розробки: методології управління розробкою (Agile, Scrum, Kanban, DevOps, MLOps), процеси аналізу вимог, проектування, модифікації, рефакторингу, впровадження та супроводу;
- інструментальні засоби та ресурси: мови програмування (Java, C#, C++, Python, JavaScript/TypeScript, Go, Rust тощо), сучасні фреймворки, середовища розробки (IDE), системи контролю версій (Git), CI/CD-трубопроводи, системи контейнеризації (Docker, Kubernetes);
- забезпечення якості (Quality Assurance & Control): методи ручного та автоматизованого тестування (Unit, Integration, E2E), статечний і динамічний аналіз коду, оцінка продуктивності, безпеки (AppSec) та надійності ПЗ;
- архітектура та дизайн ПЗ: паттерни проектування (Design Patterns), мікросервісна архітектура, подійно-орієнтовані системи (Event-Driven), Clean Architecture, UML-моделювання.
Цілі навчання за рівнями вищої освіти:
Перший (бакалаврський) рівень - підготовка фахівців, здатних ставити та розв’язувати практичні завдання, пов’язані з розробкою, супроводженням та забезпеченням якості програмного забезпечення у стандартних та типово нестандартних ситуаціях.
Основні фокуси підготовки бакалавра:
- оволодіння базовими та поглибленими поняттями алгоритмізації, структур даних та об'єктно-орієнтованого програмування (ООП);
- проектування реляційних та NoSQL баз даних, розробка RESTful API, Full-stack веб- та мобільна розробка;
- навички роботи з інструментами автоматизованого тестування, системи контролю версій та командної розробки;
- засвоєння базових принципів кібербезпеки коду, UX/UI дизайну та методологій Agile/Scrum.
Другий (магістерський) рівень - підготовка фахівців, здатних ставити й розв’язувати складні задачі та проблеми з розроблення, забезпечення якості, впровадження та супроводу програмних засобів, що передбачає проведення досліджень та/або здійснення інновацій та характеризується невизначеністю умов і вимог.
Основні фокуси підготовки магістра:
- проектування складних розподілених, хмарних та високонавантажених систем (High-Load Systems Architecture);
- управління програмними проєктами (IT Project / Product Management), керівництво командами розробки (TechLead / TeamLead);
- застосування технологій штучного інтелекту, машинного навчання (MLOps) та аналізу великих даних (Big Data) у розробці ПЗ;
- проведення науково-прикладних досліджень, розробка нових методологій та інструментів розробки й автоматизації тестування ПЗ.
Третій (освітньо-науковий) рівень - підготовка наукових та науково-педагогічних кадрів вищої кваліфікації, здатних здійснювати оригінальні наукові дослідження, розробляти нові фундаментальні концепції, методології та інструментальні засоби створення, забезпечення якості й еволюції програмного забезпечення за умов високого рівня невизначеності.
Основні фокуси підготовки доктора філософії (PhD):
- фундаментальні та прикладні дослідження в галузі формальних методів верифікації коду, генеративного AI для написання та аналізу програм (AI-driven Software Engineering);
- розробка нових архітектурних паттернів, методів оптимізації продуктивності та кіберстійкості програмних систем;
- публікація результатів у провідних наукометричних виданнях (Scopus / Web of Science), участь у міжнародних наукових проєктах;
- науково-педагогічна діяльність у ЗВО, розробка нових навчальних курсів із програмної інженерії, керівництво дослідницькими проєктами.
Ключові компетентності випускника:
- програмування та розробка - володіння кількома парадигмами програмування (ООП, функціональне, асинхронне), розробка чистого, масштабованого та підтримуваного коду;
- архітектура ПЗ (Software Architecture) - проектування монолітних, мікросервісних та безсерверних (Serverless) архітектур, вибір технологічного стеку під бізнес-вимоги;
- DevOps & Cloud Engineering - автоматизація розгортання ПЗ (CI/CD), контейнеризація, налаштування хмарних інфраструктур (AWS, Azure, GCP);
- забезпечення якості (QA/Automation) - розробка автотестів (Unit, Integration, UI, Performance), впровадження DevSecOps та практик постійного аналізу коду;
- управління та комунікація - оцінка трудомісткості проєктів, управління ризиками, використання Agile/Scrum, фасилітація командної роботи.
Випускники спеціальності F2 Інженерія програмного забезпечення є одними з найзатребуваніших фахівців на глобальному та національному ринках праці з високим рівнем оплати:
- розробка програмного забезпечення: Software Engineer, Full-Stack / Back-End / Front-End Developer, Mobile Developer (iOS/Android), Embedded Software Engineer;
- архітектура та техлідство: Software Architect, Solution Architect, Technical Lead (TechLead);
- забезпечення якості: QA Automation Engineer, Software Test Engineer, Quality Assurance Lead;
- DevOps та хмарні технології: DevOps Engineer, Cloud Infrastructure Engineer, Site Reliability Engineer (SRE);
- управління проєктами та продуктами: IT Project Manager, Product Owner / Product Manager, Scrum Master;
- штучний інтелект та AI-інженерія: Machine Learning Engineer, MLOps Specialist, Prompt / AI Software Integration Engineer;
- наука та освіта (для PhD та магістрів): науковий співробітник дослідницьких лабораторій (R&D centers), викладач/професор комп'ютерних дисциплін у ЗВО.
Підготовка здійснюється:
- кафедрою інженерії програмного забезпечення (603);
- відділом аспірантури і докторантури.
Навчання проводиться за наступними освітніми програмами:
| Освітня програма | Освітній ступінь | Форма навчання | Термін навчання |
|---|---|---|---|
| Інженерія програмного забезпечення | Бакалавр на основі повної загальної середньої освіти | Денна | 3 роки та 10 місяців |
| Бакалавр на основі освітньо-кваліфікаційного рівня «Молодший спеціаліст» | 2 роки та 10 місяців | ||
| Інженерія програмного забезпечення | Магістр, освітньо-професійна програма | Денна та заочна | 1 рік та 4 місяця |
| Інженерія програмного забезпечення | Магістр, освітньо-наукова програма | Денна та заочна | 1 рік та 9 місяців |
| Інженерія програмного забезпечення | Доктор філософії | Денна та заочна | 4 роки |