Парное программирование: что это такое и стыдно ли это

Парное программирование: что это такое и стыдно ли это

9 вопросов про парное программирование

В ИТ есть практика парного программирования. Вот как она устроена, зачем нужна и к чему готовиться.

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

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

Потом программисты меняются местами: наблюдатель начинает писать код, а ведущий — комментировать.

Зачем это нужно?

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

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

А не лучше ли вдвоём сразу писать код?

Кажется, что парное программирование неэффективно, потому что два человека решают задачу, которую мог бы решить кто-то один. Но на самом деле непосредственное написание кода в программировании занимает одну десятую времени. Остальные 90% времени программист ищет наилучшее решение — и здесь парное программирование помогает существенно ускорить работу. 

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

Как подбираются пары?

Это самое сложное в парном программировании — найти пару, в которой будет комфортно работать. Дело в том, что парное программирование может длиться до 4 часов, и сложно сидеть столько времени с человеком, с которым тебе некомфортно. Поэтому при подборе пар руководители стараются учесть всё:

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

Есть ли специализация в парном программировании?

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

В чём плюсы парного программирования?

✅ Вдвоём одну и ту же задачу получается решить быстрее, чем одновременно, но поодиночке.

✅ В коде намного меньше ошибок, и для него почти не требуется код-ревью или рефакторинг.

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

✅ Парное программирование часто помогает решить те задачи, которые казались нерешаемыми.

Минусы парного программирования

❌ Это очень ресурсоёмкий процесс для обоих — мало у кого получается работать в паре больше 4 часов в день, обычно час-два.

❌ У программистов должна быть примерно одинаковая квалификация.

❌ Сложно сразу найти пару для комфортного программирования, а иногда человек в принципе не способен работать с кем-то в паре.

Что может пойти не так?

Самая частая ошибка — когда один пишет код, а второй молча сидит или тупит в телефоне. Это уже не парное программирование.

Когда оба на удалёнке, бывает сложно наладить контакт, даже если до этого вы отлично работали в офисе. Ведущему легко увлечься и начать писать код самостоятельно без оглядки на второго.

Хочу парно программировать, с чего начать?

Всё просто:

  1. Изучаете любой язык программирования хотя бы на уровне джуниора.
  2. В чате, на форуме или среди знакомых находите того, с кем бы вы хотели программировать в паре.
  3. Пробуйте. Никаких волшебных рецептов нет, всё приходит с опытом. 

Если вы обучаетесь в «Практикуме», вас добавят в чат, где такие же программисты будут искать себе пару. Да и вообще ваши однокурсники — это ваши будущие друзья, товарищи и коллеги.

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Виталий Вебер

Курсы по программированию с нуля
Приходите к нам в ИТ. У нас есть удаленная работа, высокие зарплаты и удобное обучение в «Яндекс Практикуме». Старт бесплатно.
Изучить вопрос
Курсы по программированию с нуля Курсы по программированию с нуля Курсы по программированию с нуля Курсы по программированию с нуля
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Что такое макросы
Что такое макросы

Программирование на минималках

easy
Что такое mobile first
Что такое mobile first

Это когда сначала всё делают для смартфона, а потом для всего остального.

easy
Что такое флаг в программировании
Что такое флаг в программировании

Веселье с флагами, только не веселье

easy
Что такое геттеры и сеттеры в программировании
Что такое геттеры и сеттеры в программировании

Управление объектом или переменной через посредника

easy
Парное программирование: что это такое и стыдно ли это
Парное программирование: что это такое и стыдно ли это

9 вопросов про парное программирование

easy
Soft Skills в ИТ: что это, для чего и как развивать
Soft Skills в ИТ: что это, для чего и как развивать

Почему разработчики с навыками управления стоят дороже

easy
Какие бывают базы данных
Какие бывают базы данных

Объясняем на картинках.

easy
Что такое спринты в программировании

Это время, за которое команда успевает решить какую-то часть задач.

easy
Что такое бэкап, зачем он нужен и как его делать
Что такое бэкап, зачем он нужен и как его делать

Каждый разработчик однажды ЛИШИЛСЯ ВСЕГО, потому что не сделал бэкап.

easy
Что такое указатели в программировании
Что такое указатели в программировании

Это ссылка на ячейку в оперативной памяти

medium
easy