Курсы Software Engineering в Киеве. - Онлайн курсыПрограммист – это профессия, для которой необходимо постоянно развиваться и обучаться. Технологии совершенствуются, появляются новые языки и инструменты программирования. Чтобы ориентироваться во всем этом разнообразии, специалист должен прилагать усилия.

Курс Software Engineering построен таким образом, что студенты рассматривают пять составляющих процесса работы, чтобы получить полное представление о процессе разработки ПО.
Continuous Integration, Testing, Delivery, Deployment и Operation.

Сочетание фундаментальной теории и современных технологий разработки в программе курса позволяет подготовить молодого специалиста к работе в IT-сфере.

Освоив новые знания, разработчик расширяет свои возможности и получает стимул для карьерного продвижения. Сфера Software Engineering быстро развивается и привлекает все больше внимания среди инвесторов, крупных компаний. После курса обучения студенты будут обладать системными знаниями и видеть структуру процесса разработки в комплексе. Такой подход делает более эффективным усвоение материала и применение полученных навыков на практике.

Кому подходит этот курс.

  • Начинающим программистам от Junior/Junior+ уровня и до Middle.
  • Специалистам по обеспечению надежности (SRE-инженерам).
  • DevOps, специалистам, которые занимаются автоматизацией процессов разработки для ознакомления с новыми инструментами.

Что умеют выпускники курса.

  • Использовать ветки и работать в Git, знают стандарты хранения программного кода.
  • Эффективно проводить Release Management, управляя процессом выхода программного продукта.
  • Настраивать Quality Gates для SonarQube для оценки качества кода, создавать пользовательские ворота качества.
  • Проводить Code Review для повышения качества кода программных продуктов.
  • Формулировать бизнес-требования и превращать их в техническое задание.
  • Знают все этапы жизненного цикла ПО и контролируют качество прохождения каждого, начиная с планирования системы, заканчивая ее технической поддержкой.
  • Умеют отправлять Pull Request, что является необходимой частью процесса Code Review и вносить изменения в код.
  • Знают принципы TDD (test-driven development) и применяют их в своих проектах.
  • Проводят настройку систем (CI/CD), соединяя SonarQube, Jenkins, SonarQube, Github и Nexus для непрерывной интеграции.
  • Создают фреймворки тестирования и знают различия между end-to-end и юнит-тестированием.

Курсы Software Engineering. Программа.

Подготовительный этап.

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

Continuous Integration.

  • Основные понятия в разработке программного обеспечения.
  • Взаимодействие разработчика с членами команды.
  • Применение Git для командной работы над кодом.
  • Веб-приложение для управления задачами Github.
  • Составление рабочего графика и менеджмент ресурсов.
  • С помощью каких инструментов реализуют проверку качества кода.
  • Автоматизация и управление задачами с помощью Jenkins.
  • Бранчинг версий для релиза и стабилизация кода.

Continuous Testing.

  • Принципы разработки TDD (test-driven development).
  • Как происходит тестирование качества кода с применением SonarQube.
  • Юнит-тесты и покрытие кода.
  • Настройка пользовательских ворот качества Quality Gates.
  • User Story Isolation.
  • Как определить уязвимости кода.
  • Отправка кода в репозиторий.
  • Мануальное тестирование.
  • Автоматизированное тестирование.
  • E2E – тестирование функции в реальных сервисах.
  • UI – тестирование интерфейса путем имитации действий пользователя.

Архитектура программного обеспечения (Software Architecture).

  • Внешние факторы качества – robustness (устойчивость), correctness (корректность), reusability (повторное использование), extendibility (расширяемость).
  • Какой бывает архитектура ПО – Serverless, SOA, Web-Queue-Worker.
  • Типы архитектуры: Standalone, N-tier, SOA, Microservices, Big Data/Big Compute, Serverless, Web-Queue-Worker, Event-driven architecture.
  • Модели облачных сервисов. XaaS, SaaS, IaaS, PaaS.
  • Сбор требований, постановка задачи estimates, pre-sales, RFI/RFP – запрос информации и запрос предложения.
  • Работа с внешними факторами качества.

Проектирование программного обеспечения (Software Design).

  • Архитектура ПО и проектирование.
  • Архитектурное решение и дизайн интерфейса.
  • Графическое представление программного кода.
  • Распределенное вычисление – теория и алгоритмы.
  • Polyglot Persistence.
  • Polyglot Programming.
  • Что такое парадигмы программирования.
  • Функциональное и логическое программирование.
  • Процедурное программирование и ООП.
  • Структура данных.
  • Компилятор и интерпретатор.
  • Отношения между классами в ООП: композиция и декомпозиция, ассоциация, наследование, агрегация.
  • Общая структура организации проекта.
  • Компонентная модель.
  • Дизайн-шаблоны GRASP, T-diagrams, UML, MVC(MVVM).
  • Документация.
  • CAP-теорема.
  • RDBMS.
  • NoSQL.
  • Graph DB, DB Migration.
  • Написание микросервиса для API на языке Java.
  • Создание микросервиса для аутентификации с помощью Node.js.
  • Многопоточное программирование C++.
  • Алгоритмы lock-free.
  • Angular/Typescript (front-end составляющая сервиса).
  • Groovy для Jenkins DSL.
  • Подключение Postgresql, MongoDB и Neo4j.
  • Аутентификация и авторизация. Контроль доступа RBAC/ABAC.
  • Message brokering.
  • Чем различаются принципы mobile-first и mobile-only.
  • Waterfall, RUP, Agile.
  • Многопоточное программирование, клиент-серверные системы, P2P.
  • Технический долг, legacy-продукты, рефакторинг.
  • Кэширование.
  • Multitenancy, аудит, брендинг, GDPR.

Программный интерфейс приложения API.

  • Как создается интерфейс взаимодействия.
  • Принципы объектно-ориентированного программирования SOLID.
  • Контрактное программирование – спецификации интерфейсов.
  • Что такое ортогональный API.
  • Стандарты API – GraphQL, RESTful API, OpenAPI.
  • Внедрение системы API-менеджмента.
  • Как организовать пагинацию (pagination).
  • Rate Limits – ограничение частоты запросов к API для оптимизации работы приложения.
  • Обзор ML.

Continuous Delivery.

  • Внутренняя структура разработки ПО.
  • Хранилище артефактов в репозитории.
  • Что такое переменные среды.
  • NoOps, Opsless.
  • Технология Docker, как использовать Docker compose, чтобы запустить приложение-контейнер.
  • Swarm.
  • Kubernetes.
  • Service Mesh (Istio).

Continuous Deployment.

  • Среда разработки: Preview Env, Development Env, Test Env, Production Env.
  • Эффективность модели follow-the-sun.
  • Скорость развертывания версии ПО и стоимость разработки.
  • A/B, Canary, 0-downtime, Blue-Green Deployment – шаблоны развертывания.
  • Rolling updates – плавающий метод обновления ПО.

Continuous Operation.

  • Техническая поддержка как часть разработки программного обеспечения.
  • Обслуживание клиентов и доработка программы.
  • Планирование разработки с учетом задач SRE.
  • Линии поддержки L1, L2, L3 и решение клиентских проблем.
  • Соглашение об уровне обслуживания SRE, SRE, SLI, SLA, SLO.
  • Восстановление данных и data backup strategy.
  • Системы мониторинга прогнозирования.
  • Настройка оповещений о сбое.

Облачные технологии.

  • Облачные технологии как инструмент разработки.
  • Ключевые технологии облачных сервисов.
  • Обзор основных облачных платформ, их архитектура.
  • Гибридное облако – что такое и как с ним работать.
  • Создание кластера для разворачивания приложения.
  • Работа с географическими зонами.
  • Аппаратная и пользовательская виртуализация.
  • Технологии виртуализации Docker и Kubernetes.

Фото учебного центра

Как проходит процесс обучения

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

  Запись на курсы через форму на сайте или по телефону
  Получение учебных материалов и инструкций
  Теория и практика в наших классах или удаленно
  Online-консультации по домашним заданиям
  Получение сертификата об окончании курса

Записаться

Преимущества «IT Cтолица»

  Удобное расположение
Мы находимся возле метро. Вам не придется тратить время на дорогу
  Преподаватели-практики
Наши преподаватели - опытные практики, имеющие огромный опыт
  С другом дешевле
Если вы приведете друга, то каждый получит 50% скидку на обучение
  Качественно и недорого
Мы постоянно улучшаем программы курсов и пересматриваем цены
  Корпоративное обучение
Мы знаем, как сделать работу ваших сотрудников более эффективной
  Трудоустройство
Выпускники имеют возможность устроиться в ведущие IT-компании
  Небольшие группы
В наших группах от 2 до 3 человек, что позволяет уделить внимание каждому
  Комфортные условия
Мы располагаем удобными классами, где царит позитивная обстановка
  Работаем по выходным
Чтобы у вас была возможность совмещать обучение и работу

Отзывы о нас

05.03.2024 Отзыв о курсах «Инженерная графика в AutoCAD»

Спасибо большое за проведенные курсы AutoCAD. Они помогли заполнить «белые пятна», новой и полезной информацией. Материал был выложен... Подробнее

28.02.2024 Отзыв о курсах «3D MAX»

Я прошла курс 3D MAX. Очень довольна обучением. Преподаватель Андрей очень хорошо преподает свои предметы. Преподаватели: Кобзарь Андрей, Приходько... Подробнее

26.02.2024 Отзыв о курсе «Компьютерный дизайн в 3D MAX»

Прошол курс обучения по 3D MAX. Курсом доволен. Даже доволен тем, что за время обучения было два преподавателя, что дало возможность разногранию.... Подробнее

14.02.2024 Отзыв о курсе «3D MAX»

Прошла курс 3D max. Все понравилось, в том числе и преподаватель Андрей. Булгакова В. С. Подробнее

Часто задаваемые вопросы

Как узнать стоимость обучения?

Стоимость обучения зависит от выбранного курса, а также от типа обучения: индивидуально или в группе. Цены указаны на нашем сайте на странице "Цены", а также на странице конкретного курса. Если у вас есть вопросы - не стесняйтесь, задавайте их по нашим телефонам или через контактные формы на сайте!

Какое время обучения возможно?

Возможное время обучения указано на странице конкретного курса. Обычно это утренние (9:00-11:00, 11:00-13:00), дневные (13:00-15:00, 15:00-17:00) и вечерние (17:00-19:00, 19:00-21:00) часы. Кроме того, есть возможность обучаться и по выходным!

Выдаются ли у вас сертификаты?

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

Как записаться на нужные курсы?

Для этого необходимо просто заполнить небольшую on-line форму заявки на нашем сайте, или просто позвонить по указанному телефону, или лично прийти к нам в офис. Кроме того, вы сможете посетить пробное занятие!

Как и где питаются слушатели?

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

Что включено в стоимость курсов?

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

Будьте в курсе новостей Будьте всегда в курсе свежих акций и новостей

Запись на курсы

Перезвонить ?