Course cover

Эксперт-лекции "Надежное программирование"

Эксперт-курс служит целям растущих IТ-компаний: повысить квалификацию и ответственность разработчиков, сократить бюджет разработки, снизить текучесть кадров, повысить репутацию Компании среди клиентов.

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

Bootstrap Themes

Владимир Обризан

Кандидат технических наук, директор и основатель Первого института надежного программного обеспечения, директор и со-основатель ИТ-компании Design and Test Lab.

Старший преподаватель

15 лет опыта старшим преподавателем: с 2005 по 2020 год в Харьковском национальном университете радиоэлектроники. Темы курсов: проектирование программно-аппаратных систем, многоядерное программирование, программирование облачных и мобильных платформ.

Программист-практик

С 2011 года принимал участие в компании Design and Test Lab как исполнитель, ведущий программист или руководитель в десятках проектах: мобильные приложения, десктоп-приложения, облачные сервисы. Языки: Python, Objeсtive-C, Swift, JavaScript, TypeScript.

Спикер

Десятки выступлений на конференциях и семинарах с темами о надежном программном обеспечении, архитектурах, программировании и тестировании: QAFest, Python fwdays, SoftServe IT Weekend, KharkovPy, iOS Ukraine и др.

Консультант

Консультант руководителей и владельцев айти-компаний. Темы консультаций: обучение персонала, внедрение методов надежного программирования, технический надзор за процессом разработки ПО, анализ программных проектов.

YouTube-лектор

Опыт 4 года в записи видео-лекций и проведении онлайн-стримов на YouTube-канале Первого института надежного программного обеспечения: лекции, скрин-касты, практические мастер-классы.

Ученый

Кандидат технических наук по специальности "Компьютерные системы и компоненты". Тема диссертации: "Мультиверсный параллельный синтез цифровых структур на основе System-C спецификации". Докторант Харьковского национального университета радиоэлектроники.

Почему важно развивать профессиональную культуру в компании?

Цель эксперт-курса

Эксперт-курс служит целям растущих IТ-компаний:

  1. Повышает квалификацию и ответственность разработчиков за счет высоких стандартов надежного программирования.
  2. Сокращает бюджет разработки, потому что не нужно тратить деньги на исправления ошибок и на оплату овертаймов инженеров.
  3. Снижает текучесть кадров, за счет повышения мотивации и комфорта труда программистов.
  4. Повышает репутацию Компании среди клиентов за счет сдачи проектов в срок и качественно.
  5. Рок-звезды программирования захотят попасть к вам!

Обзор содержания эксперт-курса

Содержание курса

  1. Введение в надежное программирование. Ошибки в программах приводят к катастрофам. Стоимость изменений в проекте. Ошибки приводят к убыткам. Почему культура важна? Что такое надежное программирование? Профессиональные этические нормы.
  2. Анализ рисков: менеджмент в надежном программировании. Фактор риска в проекте. Что такое риск? Неопределенные события и условия. Типичные риски для программирования. Категории рисков, способы идентификации. Каталоги рисков. Профилактика рисков, преодоление последствий. Пример каталога рисков. Математическая оценка риска. Реестр рисков, управление рисками.
  3. Work Break Down Structure: менеджмент в надежном программировании. Типичные задачи и боли руководителя. Что такое Work Breakdown Structure (WBS)? Выгоды использования WBS. Создание WBS. Методы создания WBS: декомпозиция, экспертная оценка. Правила создания WBS. Решение типичных проблем проекта с помощью WBS. Формы записи WBS. Пример WBS.
  4. Внешнее проектирование. Отличие внешнего и внутреннего проектирования. Ошибки целеполагания — самые дорогие! Уровни требований: business needs, business cases, use cases. Качественные требования. Верификация: как сократить ошибки в требованиях? Важность ограничений и нефункциональных требований. Повышение качества требований. Исполнимые спецификации. Аналитические шаблоны.
  5. Внутреннее проектирование. Способы снижения архитектурных ошибок. Стандарты описания архитектур: Rational Unified Process. Стандарты описания архитектур: IEEE 42010. Качественная архитектура, тестопригодность. Исполнимые спецификации. Стандартные архитектуры. Библиотека надежных компонентов.
  6. Анализ кода. Качественный код. Метрики кода. Статический анализ кода. SonarCloud — статический анализ кода в облаке. Тактики улучшения качества унаследованного кода. Правила проведения код-ревью.
  7. Автоматические тесты. Почему тесты важны для программиста? В чем отличие дефекта от ошибки. Сопротивления автоматизации тестирования. Классификации тестов. Особенности тестирования интеграции компонентов. Test Driven Development. Тестопригодное проектирование. Качественные тесты. Траблшутинг некачественных тестов.
  8. Рефакторинг. Что такое рефакторинг? Принципы рефакторинга. Поддержка рефакторинга в IDE. Характеристический тест. Код с душком. Почему возникает плохой код? Восприятие рефакторинга заказчиками. Инструменты обнаружения плохого кода. Место рефакторинга в цикле разработки ПО. Проблема: Дублирование кода. Каталог рефакторингов.
  9. Бронирование важнейших узлов. Что такое бронирование важнейших узлов? Что такое отказ, почему они происходят? Ограничения операционных систем и приложений. Что такое надежность? Восстановление после сбоев. Принципы бронирования важнейших узлов. Катастрофический отказ. Принцип предохранителя. Тестирование брони. До какой степени бронировать приложение?
  10. Возможности Amazon Web Services для надежного программирования. Принципы проектирования отказоустойчивых систем на AWS. Автоматическое горизонтальное масштабирование. Автоматизация изменений в системе. Зоны доступности — изолированные отсеки. Что такое доступность (availability)? Elastic Compute Cloud (EC2). Elastic Load Balancer (ELB). Simple Queue Service (SQS). Simple Storage Service (S3). Elastic Container Service (ECS). Высокая доступность при изменении системы. CloudFormation: инфраструктура как код.

Что такое надежное программирование?

Способ организации занятий

Эксперт-курс доступен сразу после оплаты на образовательной онлайн-платформе.

Язык записи видео-лекций и образовательных материалов: русский.

Для прохождения курса требуется персональный компьютер с операционной системой Windows, Mac OS или Linux, широкополосный доступ в сеть Интернет, наличие аудио-карты, микрофона и динамиков или наушников, дисплей с минимальным разрешением 1024✖️768, объем ОЗУ 4 ГБ, объем жесткого диска 100 ГБ.

Отзывы лектору

Владимир Мизь (Software Engineer, Doctoral Assistant, EPF Lausanne):

«Мне посчастливилось писать магистрский проект по обработке изображений на мобильных платформах под руководством Владимира в ХНУРЭ. Полученный опыт был один из самых полезных за время обучения в университете. Строгий, систематический и в то же время оригинальный и интересный подход к обучению позволил в итоге вывести студенческий проект на профессиональный уровень. Фундаментальные знания, опыт работы с мобильными технологиями и просто советы, полученные за время нашего общения, стали неотъемлемой частью успеха во время прохождения собеседований не только в IT компаниях Украины, но и в Европейских исследовательских центрах.»

Ираклий Тавадзе (Lead iOS Developer — APP3null GmbH):

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

Владислав Тимофеев (Web Developer):

«Владимир Игоревич, добрый вечер. Пишу вам, чтобы поблагодарить за то, что на лекциях вы дали много полезных советов, которые наряду с другими жизненными событиями послужили толчком к началу использования мозгов по назначению:) Хоть я и не стал android или iOS разработчиком, но с лекций вынес для себя другие, не менее важные вещи, такие как чтение книг в очередях и транспорте, уменее терпеть трудности и неудачи, продолжая пробовать снова и снова (как рабочие, которые упавшие с моста:)), стремление к постоянному развитию и т.д. Ваши слова и советы очень помогли мне в самом начале, когда мои успехи были еще совсем незначительными. Вы, не зная того, стали одним из тех немногочисленных людей, которые вдохновили меня развиваться и стремится стать профессионалом, а не пинать болты, за что я очень вам благодарен:) Это намного больше, чем хорошая оценка за какой-любо предмет.»

Александр Орлов (студент КИ-13-5, каф. АПВТ ХНУРЭ):

«Владимир Игоревич является первым куратором моей группы, и, как не странно, он не забывал о нас на протяжении всего срока его курирования, как это делали остальные. Он очень хорошо относится ко всем своим ученикам, в тоже время не забывая их ругать за проступки. Для всех желающих устраивал дополнительные занятия. Также во время первой летней практики он научил нас работе с BitBucket, с сервисом, который необходим в любой IT-компании. Это все говорит о том, что он хороший преподаватель и человек, знает свое дело и то, что нужно любому начинающему разработчику. К тому же часто от Владимира Игоревича можно услышать какую-нибудь интересную историю.»

Оставить отзыв

Стоимость

Единоразовая оплата пластиковой картой. 100% предоплата. Поддержка Apple Pay, Google Pay. Возврат денег в течение 7 дней с момента покупки. В течение нескольких минут после успешной оплаты на электронную почту, указанную при оплате, прийдет инструкция с доступом на образовательную онлайн-платформу. Техническая поддержка: support@first.institute.

Пакет "Самостоятельно"

150$

  • Самостоятельное изучение материалов курса, общение в чате с единомышленниками.

Содержимое пакета

Самостоятельно
Доступ на образовательную онлайн-платформу
15 часов видео-лекций (на русском языке)
Конспект лекций "Надежное программирование" (на русском языке)
Закрытый Телеграм-чат с автором курса и единомышленниками

Пригласить друзей и знакомых на курс

Telegram
Linkedin
WhatsApp

ФОП Обрізан Володимир Ігорович, ІПН 3055516250. Послуги надаються згідно договору публічної оферти. Контактний телефон: +380 73 971-54-71, email: support@first.institute