6 причин для парного программирования

Автор: Элли Грампа

Итерационные циклы. Обзоры кода. Быстрая обратная связь. Проверка ошибок и линтинг. Это методы разработки программного обеспечения, которые значительно улучшают качество кода, создаваемого разработчиками. Что, если бы вы могли получить все это мгновенно, набирая код строка за строкой и символ за символом? Вы можете это сделать с помощью парного программирования, метода, характерного для многих гибких рабочих сред.

Скорее «две головы лучше, чем одна», чем «перестань читать через плечо», парное программирование — это практика, когда два разработчика используют одну рабочую станцию ​​для интерактивного решения задачи кодирования вместе. В Code Fellows парное программирование — это один из способов создания среды для совместной работы при развитии ключевых отраслевых навыков.

Как работает парное программирование?

Хотя существует много разных стилей, парное программирование обычно включает две роли: Водителя и Навигатора. Водитель — это программист, который печатает и единственный, чьи руки находятся на клавиатуре. Управляя «механикой» кодирования, Драйвер управляет текстовым редактором, переключением файлов, контролем версий и, конечно же, написанием кода. Навигатор использует их слова, чтобы направлять Водителя, но не обеспечивает никакого прямого ввода данных в компьютер. Навигатор думает об общей картине, о том, что будет дальше, как алгоритм может быть преобразован в код, при поиске опечаток или ошибок. Навигатор также может использовать свой компьютер в качестве второго экрана для поиска решений и документации, но не должен писать код.

Почему парная программа?

При обучении программированию разработчики, скорее всего, изучают несколько языков программирования. Подобно уроку иностранного языка, есть четыре основных навыка, которые помогают любому выучить новый язык: Аудирование: слушание и интерпретация словарного запаса. Говорение: использование правильных слов для передачи идеи. Чтение: понимание того, что письменный язык намеревается передать. поцарапать значимый

Парное программирование затрагивает все четыре навыка: разработчики вслух объясняют, что должен делать код, слушают советы других, читают код, написанный другими, и сами пишут код.

Во время пятичасового парного лабораторного занятия студенты Code Fellows работают над всеми четырьмя языковыми навыками. Способности, которые они развивают, пригодятся им при выполнении заданий, в их собственном общении и обучении, на собеседованиях и при подготовке к работе в компании, которая использует эту гибкую практику.

Ничего себе, все это? Давайте взглянем!

1. Повышение эффективности

Это распространенное заблуждение, что парное программирование занимает намного больше времени и менее эффективно. На самом деле, когда два человека работают над одним и тем же кодом, легче обнаружить ошибки в процессе их создания. Исследования показывают, что парное программирование занимает немного больше времени, но дает более качественный код, который не требует дальнейших усилий по устранению неполадок и отладке (не говоря уже о том, чтобы подвергать пользователей неработающему продукту). Таким образом, в долгосрочной перспективе это часто более эффективно, чем два человека, работающие над отдельными функциями. При выдвижении идей и обсуждении решений вслух два программиста могут прийти к решению быстрее, чем один программист самостоятельно. Кроме того, когда пара застревает, оба программиста могут исследовать проблему и быстрее найти решение. Исследования также показали, что совместная работа улучшает технические навыки, командное общение и даже приносит удовольствие от программирования на рабочем месте.

2. Активное сотрудничество

Когда два программиста сосредотачиваются на одном и том же коде, опыт становится более увлекательным, и оба программиста более сосредоточены, чем если бы они работали в одиночку. Труднее откладывать на потом или сбиваться с пути, когда кто-то другой полагается на вас в выполнении работы. Открытие вашей временной шкалы Facebook менее заманчиво, когда кто-то другой смотрит на ваш экран.

Еще один важный аспект обучения программированию — знать, когда обратиться за помощью. Мы советуем нашим студентам тратить не более пятнадцати минут на решение проблемы, прежде чем обращаться за помощью к ассистенту преподавателя или инструктору. Когда разработчики работают в паре, они больше полагаются друг на друга и часто могут вместе найти решение, не обращаясь за дополнительной помощью. В конечном итоге это повышает общую уверенность.

3. Учиться у однокурсников

У каждого свой подход к решению проблем; работа с товарищем по команде может познакомить разработчиков с методами, о которых они иначе не подумали бы. Если у одного разработчика есть уникальный подход к конкретной проблеме, парное программирование предоставляет другому разработчику новое решение.

Часто разработчики в паре имеют разные наборы навыков. Если один программист более опытен в определенном навыке, он может обучить студента, который менее знаком с этой областью. Менее опытный разработчик получает пользу от знаний и рекомендаций опытного разработчика, а последний выигрывает от объяснения темы своими словами, еще больше укрепляя свое собственное понимание.

4. Социальные навыки

Парное программирование отлично подходит для улучшения социальных навыков. При работе с кем-то, у кого другой стиль кодирования, общение имеет ключевое значение. Это может усложниться, если у двух программистов разные личности. Парное программирование не только улучшает навыки программирования, но также может помочь программистам развить навыки межличностного общения. Когда просто схватить клавиатуру и взять на себя управление — это не вариант, научиться находить нужные слова — это навык сам по себе.

Это имеет долгосрочные последствия для карьеры. Как бы сильно работодатели ни хотели сильных программистов, они знают, что важно нанимать людей, которые могут хорошо работать с другими.

5. Готовность к собеседованию

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

Для большинства должностей способность работать с другими и учиться у них, а также выдающиеся коммуникативные навыки так же (или даже больше!) важны для компании, как и конкретные технические навыки. Парное программирование укрепляет все эти навыки.

6. Готовность рабочей среды

Многие компании, использующие парное программирование, рассчитывают обучить новых сотрудников по программам со степенью CS тому, как они работают, чтобы на самом деле создавать продукт. Выпускники Code Fellows, которые уже знакомы с принципами работы в парах, могут сразу же приступить к новой работе, преодолев на одно препятствие меньше.

Готовы погрузиться и улучшить свои навыки парного программирования и кодирования? Посмотреть ближайшие курсы »

Хотите больше интересного контента по мере обучения программированию? Посмотрите, что нового в блоге Code Fellows »