Как ускорить свое обучение с помощью парного программирования
Рассказываем, что такое парное программирование и как правильно с помощью этого инструмента учиться писать код.
3К открытий5К показов
Обучение программированию постоянно сопровождается состоянием, когда код не работает и не понятно что делать. Это сильно демотивирует и может привести к забрасыванию обучения. Чтобы этого не произошло, можно пойти разными путями от поиска наставника до использования нейросетей, которые могут частично помочь в данной ситуации. Но есть еще один способ, который редко используется у людей, которые только учатся программированию, — это парное программирование.
О том, что это такое и как правильно учиться с помощью этого инструмента, рассказал Кирилл Мокевнин, сооснователь онлайн-школы программирования Хекслет.
Что такое парное программирование?
Парное программирование — это техника написания кода с “другом”. Один человек пишет код, а второй наблюдает за ним “со спины” или виртуально, если это удаленный формат. Наблюдающий смотрит на код и дает подсказки пишущему, а также указывает на ошибки, если их видит. Примерно каждые 20-30 минут пара меняется местами, тот, кто писал код, переходит в режим наблюдения, тот, кто наблюдал, начинает писать код.
Почему двое лучше, чем один?
При правильном использовании, парное программирование резко увеличивает эффективность кодинга. Как с точки зрения скорости так и качества кода. И вот почему:
- Скорость работы. Разработчики не отвлекаются на посторонние задачи, разговоры, кофебрейки и доводят ее до конца. Уровень прокрастинации падает практически до нуля, повышая производительность до максимума.
- Скорость отладки. Найти баг вдвоем намного проще и оперативнее, чем сделать это в одиночку. Там где один может не увидеть проблему, другой найдет ее за секунды.
- Качество кода. Человек за клавиатурой фокусируется на строчках которые пишет прямо сейчас, человек за спиной, скорее, видит картину в целом. Причем это происходит автоматически из-за разного формата работы. Это помогает сразу учитывать пограничные случаи и лучше проектировать код.
- Взаимное обучение. Парное программирование позволяет научиться всему: приемам программирования, эффективному использованию инструментария и т.д. Это лучший способ распространять знания в команде. И лучше всего работает в паре новичок-опытный.
В цифрах
В 1999 году в University of Utah Computer Science было проведено исследование о том, как парное программирование влияет на процесс и результат. Вот некоторые цифры оттуда:
- Код пары содержал на 15% меньше дефектов, чем тот же код у одиночных разработчиков;
- Время потраченное на разработку у пары на 15% меньше, чем у “одиночек”;
- 95% опрошенных сказали, что были гораздо более уверены в получившемся решении, чем когда они работали в одиночку.
Как правильно проводить парное программирование для ускорения своего обучения?
Прежде чем вы начнете работать, убедитесь, что у вашей “пары” такие же стандарты кодирования. Иначе это может повлечь за собой ненужные споры и даже конфликты.
Задача слишком легкая и понятная для обоих? Откажитесь от парного программирования – это не принесет вам пользы. Отказаться от идеи стоит и в случае, если задача слишком сложная и требует постоянного чтения документации/анализа.
Вот несколько правил, как наиболее эффективно использовать парное программирование для обучения:
- Пары должны меняться ролями каждые 20 минут;
- Пока вы пишете код, второй участник наблюдает, а не занимается своими делами (и наоборот!);
- Если вы никогда не пробовали парное программирование, ограничьтесь 1-2 часами кодинга. Парное программирование достаточно энергозатратно из-за сильного фокуса, поэтому с непривычки продержаться даже час будет сложно.
Если хотите погрузиться в тему еще глубже, можно посмотреть отличное видео с лучшими практиками от Atlassian.
Чемпионаты по парному программированию
Еще один способ ускорить свое обучение с помощью парного программирования — участвовать в соревнованиях и чемпионатах.
Это достаточно распространенный вид активности для программистов, который дает возможность не только получить новые навыки, но и выиграть интересные призы.
Так, например, с 2012 по 2018 годы свой чемпионат проводил VK — VK Cups. Он существует и по сей день, но уже в измененном виде — теперь каждый соревнуется сам за себя.
Подобное мероприятие можно организовать и в рамках своей компании в качестве тимбилдинга. Например, одна пара — одна команда, каждая пара формируется случайно. В качестве задания — работа над каким-либо открытым проектом. В качестве приза — мерч компании. Не забудьте про ведущего — опытного сеньора, который сможет вести участников и подсказывать им, что делать.
Такая практика поможет и улучшить навыки кодинга сотрудников, и укрепить отношения в команде.
Где найти себе пару?
Если вы учитесь в онлайн-школе или уже работаете, то все достаточно просто: скиньте в чат группы\рабочий чат этот текст и попробуйте поработать вместе с тем, кто откликнется.
Если вы учитесь самостоятельно или просто хотите попробовать парное программирование, то попробуйте найти себе пару в любом IT-коммьюнити. Например, в коммьюнити Хекслета отзывчивые участники, которые активно откликаются на подобные просьбы.
Ещё один вариант — поучаствовать в чемпионатах и конкурсах по спортивному программированию. Только будьте внимательнее, не все из них включают в себя возможность работать в парах. Можно приходить как со своим другом или коллегой, так и самостоятельно. Организаторы сами подберут вам “пару”.
Парное программирование — отличная практика, которую можно долго обсуждать в теории. Но понять и прочувствовать насколько она на самом деле эффективна можно только на практике.
3К открытий5К показов