Зачем нужен курс бизнесу
Каждый разработчик в Вашей компании очень часто сталкивается с абсолютно типовыми задачами. И, к сожалению, он часто не знает готовых решений, накопленного опыта. Это приводит к серьезным проблемам бизнеса: удорожанию производства, срыву сроков и снижению поддерживаемости продукта. Представьте, что таксист, который Вас везет, не знает правил движения. Получается, он учится на ошибках за Ваш счет, рискуя Вами. Отдельно при этом стоит проблема общения в команде – обсуждая ключевые вопросы дизайна, разработчики тратят кучу времени на выяснение, по какой полосе ездить и какие цвета выбрать для светофора.
Знание командой готовых типовых решений – паттернов, шаблонов – жизненно необходимо для рентабельности проекта. Это позволит команде разрабатывать быстрее более крупными блоками, обходить типовые известные проблемы и наладить четкую коммуникацию по вопросам дизайна.
Зачем нужен курс специалисту
C позиции разработчика непонимание типовых приемов проектирования – паттернов, шаблонов – обязательно выльется в очень серьезные проблемы. Вы, как разработчик, будете вынуждены тратить гораздо больше сил и внимания на решение повторяющихся задач. Вы будете допускать известные ошибки, которые описаны в шаблонах и которые можно было бы легко предусмотреть. И вообще, мышление на низком уровне абстракции замедляет Вашу работу и снижает мотивацию. Не говоря уже о проблемах с общением в команде – обсуждения долгие, мучительные и бесцельные.
Работая на уровне крупных блоков – паттернов – Вы сможете гораздо проще и быстрее создавать дизайн и четко и внятно аргументировать все принятые решения по дизайну. Избавиться от типовых ошибок и повысить поддерживаемость дизайна в будущем. Активно пользоваться кодогенераторами и значительно упростить общение с коллегами.
Именно поэтому знание шаблонов сегодня, в условиях масштабной промышленной разработки – не прихоть, а жизненная необходимость. И, демонстрируя способность обоснованно оперировать шаблонами в проекте, Вы резко повышаете свою значимость для проекта и востребованность.
Для кого
- Младшие разработчики, желающие перейти на следующую ступень мастерства: понимать готовые решения основных задач дизайна и на равных участвовать в его обсуждении
- Старшие разработчики, желающие проработать мелкие детали известных им шаблонов и научиться с их помощью максимально просто решать бизнес-задачи их производства
- Тимлиды и руководители проектов, желающие повысить качество дизайна и слаженность команды в коммуникациях
Цели
Для повышения своей производительности и эффективности взаимодействия разработчики:
- поймут два каталога типовых решений – GRASP и GoF и смогут на практике использовать их в своей разработке
- осознают общую картину шаблонов и смогут общаться в своей команде более крупными блоками абстракции
- поймут взаимосвязи между паттернами и смогут на практике обоснованно выбирать между ними для снижения трудоемкости своей разработки
- осознают влияние шаблонов на метрики дизайна и смогут на практике обеспечивать необходимый уровень качества дизайна
Для повышения производительности своей команды и снижения рисков производства тимлиды и PM:
- поймут два каталога типовых решений – GRASP и GoF и смогут унифицировать дизайн в своих проектах
- осознают общую картину шаблонов и смогут упростить общение разработчиков в своих командах
- осознают влияние шаблонов на метрики дизайна и смогут внедрить в своих командах соглашения по дизайну, направленные на необходимые характеристики качества
Опыт на старте
- желателен опыт промышленной разработки от 1 года
- обязательны знания и навыки в объеме курса «Дизайн и проектирование в Agile»
В чем отличие от других тренингов по шаблонам проектирования
Мы фокусируемся на конкретных понятных целях наших участников, поэтому все темы рассматриваются через вопросы практического применения. Участники в рамках практики сами почувствуют специфику и смогут сделать самостоятельные выводы. А все устные обсуждения основаны не на книжных примерах, а на опыте и вопросах непосредственно участников тренинга. Мы обсудим именно Ваши проблемы и пожелания.
Так же мы точно знаем, что не существует идеальных практик, поэтому обязательно обсудим как плюсы, так и минусы каждого шаблона. Наши тренера – практикующие разработчики и архитекторы, поэтому они смогут поделиться проблемами и способами решения именно для Вашего случая. Это особенно важно для шаблонов проектирования – ведь они определяют множество атрибутов и метрик продукта: производительность, concurrency, гибкость, сложность и множество других. Поэтому мы сфокусируемся именно на ваших атрибутах и рассмотрим применимость шаблонов для Вашей системы. Ни одна практика не существует в вакууме, в отрыве от других практик и проектного контекста. Поэтому в рамках нашего тренинга мы охватываем не только вопросы шаблонов проектирования, но и вопросы дизайна в целом, метрик и процесса внедрения. Это необходимо для интеграции этой практики в боевые проекты участников.