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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Всё просто:

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

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

Это айти. Вот как сюда войти
Если вам близко то, о чём написано выше, у вас есть все шансы стать разработчиком, тестировщиком, дата-сайентистом или менеджером в сфере ИТ. Тут хорошо платят и приятная компания. Стоит хотя бы изучить вопрос.
Изучить вопрос
Это айти. Вот как сюда войти Это айти. Вот как сюда войти Это айти. Вот как сюда войти Это айти. Вот как сюда войти

Текст:

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

Редактор:

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

Художник:

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

Корректор:

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

Вёрстка:

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

Соцсети:

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

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

Что нужно знать тем, кто хочет стать айтишником в 2022-м году

easy
Можно ли стать разработчиком, если учиться по вечерам
Можно ли стать разработчиком, если учиться по вечерам

Текст о стратегии обучения в сфере ИТ

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

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

easy
Что такое демоны и службы в программировании
Что такое демоны и службы в программировании

Это маленькие программы, которые работают в фоновом режиме

easy
Дизайнер в ИТ: зачем он нужен и как им стать
Дизайнер в ИТ: зачем он нужен и как им стать

Нестыдные вопросы, в том числе — нужно ли уметь рисовать.

easy
Чем отличается C от C++
Чем отличается C от C++

На 99% — ничем, но в C++ есть родная поддержка ООП.

easy
В чём разница между ждущим и спящим режимом
В чём разница между ждущим и спящим режимом

Вся разница — в режиме энергосбережения

easy
Как прокачать буфер обмена
Как прокачать буфер обмена

И что это вообще такое

easy
Что такое обфускация кода
Что такое обфускация кода

Когда код специально запутывают так, чтобы было непонятно, как он работает

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

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

medium
easy