В июле 2015 года я начал проводить встречи по парному программированию в составе Atlanta Ruby Users Group. Большинство митапов, посвященных кодированию, которые я посещал, были веселыми, как общественные мероприятия, но они всегда вращались вокруг презентации, которую я мог так же легко посмотреть на YouTube. Казалось, никто не пишет код на встречах для программистов!

Встреча по парному программированию задумывалась как альтернатива, основанная на простой идее. Мы встречаемся, объединяемся в пары и работаем над короткими упражнениями по программированию. Младшие разработчики будут работать с более старшими разработчиками. Люди будут общаться. Они будут помогать друг другу. Кумбая! То есть, если бы я мог найти правильный формат. Я думаю, что да, но вот некоторые вещи, которые я узнал на этом пути…

Первая итерация: веб-приложения

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

Вторая итерация: геймификация

Во второй итерации я попросил участников зарегистрироваться на CodeWars и выбрать собственные упражнения. CodeWars присваивает баллы упражнению в зависимости от его сложности. Я бы отследил увеличение общего количества команд в течение вечера. Побеждала команда, набравшая наибольшее количество очков. Кроме того, CodeWars предоставила автоматизированные тесты для каждого из своих упражнений. Однако такой подход привел к странному разрыву между командами. Каждая команда работала над разными проблемами в разное время, поэтому они не разговаривали друг с другом. Кроме того, CodeWars не раскрывала пользователю все проведенные тесты. Так что иногда CodeWars приводили к сбою кода, но не объясняли, почему код сбой.

Третья и текущая итерация

В третьей итерации мы снова переключили инструменты на Exercism.io. Тем не менее, я бы выбрал одно или два упражнения на вечер, а не предоставлял выбор командам. Таким образом, все работали над одними и теми же проблемами. Кроме того, Exercism представил свои тесты пользователю, чтобы не было путаницы в отношении того, почему тест не пройден. Наконец, Exercism предоставил механизм проверки кода, отправленного в их систему. На нашей встрече мы проводили этот обзор лично, зарезервировав последние 15 минут исключительно для проверки кода коллегами. Людям, похоже, очень понравился формат. Счет!