Разработка сложных проектов (на PHP)
Преподаватель:
Макаров Илья Иванович,
Технический директор Simtech
Обо мне:
Привет! Меня зовут Илья. Я начал программировать с 11 лет еще на ZX Spectrum и до сих пор не смог завязать с этой вредной привычкой. В первой 20-ке получил сертификат “Zend Certified”. С 2009 года подсел на гибкую разработку. За 7 лет работы руководителем разработки CS-Cart, а потом и техническим директором, я накопил большой опыт того, что делать хорошо, а чего делать не стоит и почему - иными словами Best practice. Выступал с докладами о внедрении Continuous Integration на DevConf и внедрении Scrum на Стачке. Увлекаюсь строением мозга и тем, что связано с возможностями человека самосовершенствоваться.
Целевая аудитория:
Курс рассчитан на практикующих веб разработчиков и менеджеров проектов с техническим бекграундом.
Цель курса:
- на примерах рассказать о ключевых областях при разработке сложных проектов;
- сделать обзор основных инструментов для проектирования, разработки, тестирования и деплоя проектов;
- обсудить возможные камни преткновения при выстраивании процессов и их решения;
- обсудить тренды в веб разработке, управлении разработкой и управлении продуктом.
Перед этим курсом рекомендуется посетить курсы:
- Базовый PHP
- Обзор стеков технологий и платформ (framework), как и что выбирать.
- Рассмотрим различные веб-технологии:
- PHP, Ruby, JavaScript, Java, Python, ASP (.NET)
- MySQL, PostgreSQL, NoSQL
- Фреймворки и их сравнение.
- Выбор стека под задачу и возможности:
- Кадры
- Экспертиза
- Ключевые требования
- Рассмотрим различные веб-технологии:
- Процесс подготовки к разработке
- Infrastructure as a code
- Github
- Семантическое версионирование
- Долгосрочное планирование
- Методология разработки:
- Обзор методологий Code&Fix / Waterfall / Agile (Scrum, Kanban)
- Планирование разработки (Roadmap, User Stories)
- Оценка результатов (Sprint review, Deploy)
- Проектирование и реализиция фич
- Терминология
- Impact Mapping
- Подходы к разработке TDD / BDD / DDD.
- QA и тестирование, как неотъемлемая часть разработки:
- Code review
- UnitTesting
- Selenium Webdriver
- Ручное тестирование
- Процесс автоматизации разработки
- Continuous Integration CI (окружение, автоматизация, качество)
- Continuous Deployment CD (миграции)
- Continuous Integration Server (обзор решений)
- Жизнь до и после CI/CD
- Документация кода и продукта как часть разработки
- Инструменты для написания документации
- Процесс написания/обновления документации