В эту субботу, наша компания организовывала тренинг в рамках Международного дня Code Retreat для участников митап-группы Ellerslie .Net.
Международный день Coderetreat — это событие, проводимое по всему миру с целью объединить программистов, желающих попрактиковаться в передовых техниках разработки. В прошлом году, более 5000 разработчиков с более 170 городов мира прияли участие и потратили один день практикуя свое мастерство в рамках формата мероприятия.
В кратце: Code Retreat это однодневный эвент интенсивной практики фокусирующийся на основах разработки ПО и дизайна. Формат Code Retreat зарекомендовал себя весьма эффективным средством повышения квалификации разработчиков, предоставляя последним возможность принять участие в целенаправленной практики.
Для меня это уже был 2й Code Retreat. Предыдущий, Legacy Code Retreat был организован исключительно для сотрудников нашей компании так что, пожалуй, есть с чем сравнить. Я бы сказал что все было организовано на очень высоком уровне, мне понравилось и я получил заряд воодушевления как минимум на два или три месяца вперед :)
В этот раз, у нас было два спонсора: компания Olympic Software, предоставившая место проведения, закуски, чай-кофе-напитки, бесплатный доступ к WiFi и компания Fiserv, организовавшая обед.
Из-за ограничения на количество участников, мы не могли вместить всех желающих, по-крайней мере, 25 человек зарегистрировалось и еще 10 висело в списке ожидания. Я решительно не понимаю людей, зарегистрировавшихся на мероприятие и не подтвердивших свое участие ни по емейлу, ни по телефону и не пришедших на Code Retreat вообще. Это просто отцтой. Не ведите себя подобным образом. Передумали, не хотите, не можете? Просто зайдите на сайт митапа, скажите свое Нет и дайте возможность другим людям!
Так или иначе, у нас было 22 программиста кто не поленился встать рано утром в субботу, приехать в Эллерсли и быть готовым начать тренинг :)
Что вы можете получить от Code Retreat?
- Провести целый день парного программирования с 6 разными людьми
- Поэкспериментировать с разными языками программирования
- Написать код, такой как вы хотите без обычных ограничений
- а затем написать код с некоторыми очень необычными ограничениями
- Попрактиковать 4 правила простого дизайна и TDD
- Познакомиться с другими программистами, от которых вы можете узнать а также научить их чему-нибудь новому
Что необходимо для участия в Code Retreat?
Ноутбук со средой разработки и библиотеками юнит-тестов на ваш выбор. Достаточно одного на двоих.
Повесткой дня было:
- 8:30 — 9:00 Кофе и чай
- 9:00-9:30 Введение
- 9:30-10:15 Сессия #1
- 10:15-10:30 Ретроспектива
- 10:30-11:15 Сессия #2
- 11:15-11:30 Ретроспектива
- 11:30-12:15 Сессия #3
- 12:15-12:30 Ретроспектива
- 12:30-13:30 Перерыв на обед
- 13:30-14:15 Сессия #4
- 14:15-14:30 Ретроспектива
- 14:30-15:15 Сессия #5
- 15:15-15:30 Ретроспектива
- 15:30-16:15 Сессия #6
- 16:15-16:45 Итоговая ретроспектива
Абсолютно все сессии были посвящены разработке Игры Жизнь. Правила были следующие:
- Все тесты должны быть пройдены
- Минимизировать дублирование кода
- Максимизировать ясность
- Has fewer element
Задание первой сессии было реализовать игру как можно дальше чем сможете и написать юнит тесты.
У второй сессии было правило: один разработчик пишет тесты, другой — разрабатывает функционал.
Третья сессия имела ограничение по времени: 5 минут на дизайн, разработку и тест одного цикла. Не успели? Стираете код!
Четвертая сессия имела следующие ограничения (два из которых нужно было выбрать):
- Не использовать мышь
- 4 строчки кода на метод
- Immutable Objects
- No naked primitives
Пятая сессия была еще тем испытанием! Не разрешалось использовать условные выражения, тернарные операторы и switch’и. Я бы сказал, что эта была моя самая любимая часть мероприятия, отдаленно напоминавшая соревнования по программированию. Было весьма интересно узнать абсолютно другие подходы, используемые другими разработчиками для решение тех же самых проблем и задач.
Шестая сессия предлагала следующие ограничения (из которых тоже нужно было выбрать как минимум два):
- Pure functions
- No Return values
- No Constraints
А на итоговой ретроспективе каждый участник было должен ответить на два вопроса:
- Что вы изучили за день
- Что удивило вас больше всего
- Что вы собираетесь изменить в своей работе начиная с понедельника
После чего мы прибрались в шоуруме и пошли в бар по пиву :)
Мотофотопрограммист
Живу в Новой Зеландии. Рассказываю о стране и красивых местах, пишу про бытовые вещи.
Прыгнуть с парашютом - осуществил на 50%; приобрести 1400 - работаю над этим; осилить 300км/ч - осилил на 96.6%