Мы такие большие поклонники парного программирования в Makers Academy, поэтому большая часть нашей модели обучения построена на нем. Каждый месяц я провожу бесчисленные часы, разговаривая с потенциальными студентами о том, что такое спаривание и почему оно такое классное, поэтому я подумал, что стоит изложить свои мысли «на бумаге» ...

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

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

Что такого хорошего в парном программировании?

Многие люди (в том числе и я!) Негативно реагируют, когда впервые слышат о спаривании. Мы привыкли считать, что лучше всего работаем тогда, когда нас ничто не отвлекает - когда у вас громко включены наушники или когда вы дома работаете поздно вечером. Теория спаривания не может быть согласована с этой интуицией.

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

  • Повышение качества кода: код представляет собой объединенный продукт двух голов, а не одной, и контроль качества встроен в процесс.
  • Значительный выигрыш в командном общении и сотрудничестве: в отличие от одного кодирования, вы постоянно пытаетесь обмениваться своими идеями, объяснять свои решения и защищать свое решение от других решений. Общение по коду становится намного проще, когда вы его понимаете. привык к этому.
  • Удивительные множители скорости и глубины обучения: между обеими сторонами в паре происходит постоянная передача знаний. Никто не может полагаться на свои существующие знания до тех пор, пока их пара будет подталкивать их к объяснению нюансов в коде, что также может помочь выявить пробелы в знаниях, о которых они, возможно, не подозревали.
  • Повышение концентрации внимания и мотивации. Наличие другого человека, работающего с вами, помогает вам сосредоточиться на текущей задаче и предотвращает неизбежный «быстрый» просмотр Facebook!
  • Еще веселее! Давайте будем честными. Самостоятельное обучение может быть уединенным, временами угнетающим и демотивирующим. Наличие кого-то рядом с вами, в окопах, делится вашими минимумами и максимумами, просто делает все это более приятным.

Мы видели, как эти истины воплощаются в жизнь сотнями студентов за последние несколько лет здесь, в Makers Academy, и крупномасштабные исследования выпускников компьютерных наук подтвердили наши убеждения.

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

Если бы это было так хорошо, разве все это не делали бы?

И да и нет. Во-первых, многие до сих пор подвергают сомнению утверждение, что спаривание более эффективно, чем работа в одиночку. Это резко противоречит нашим глубоко укоренившимся представлениям о том, как выполняется работа. Мы настолько привыкли достигать состояния «потока» только работая в одиночку, что нам трудно понять, как это может произойти при тесном сотрудничестве с другими людьми, поэтому мы отвергаем идею создания пары вне руки.

Во-вторых, многие люди утверждают, что тихое размышление - неотъемлемая часть творческого процесса (если вы зашли так далеко, я полагаю, мне не нужно защищать, почему кодирование - это творчество !?). Людям нужно время, чтобы задуматься о проблеме, изучить возможные решения, поиграть с идеями, пока что-то не начнет выходить из хаоса подсознания. При объединении трудно допустить эту часть процесса, и редко бывает, чтобы обе части пары были настолько синхронизированы, что не сдерживали друг друга на этом этапе. Это справедливая критика до тех пор, пока вы просто не примете, что для одного или обоих из пары совершенно нормально запросить 5… 10… даже 20 минут тишины, чтобы провести некоторое исследование и обсудить идею и изучить несколько потенциальных решений.

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

Короче говоря, ошибиться настолько легко, что мало кто когда-либо видел материальную выгоду от хорошего сочетания. Подробнее о различных стилях сочетания см. Этот блог нашего AI Паладина и отца тигра, Сэма« tansaku Джозефа»

Первоначально опубликовано на сайте blog.makersacademy.com 7 декабря 2015 г.