В ИТ есть практика парного программирования. Вот как она устроена, зачем нужна и к чему готовиться.
Что такое парное программирование?
Парное программирование — это когда над кодом одновременно работает два программиста: один пишет, второй комментирует вслух. Второй может заметить ошибку или предложить более быстрый алгоритм. При этом исправлять сам он ничего не может — это задача первого.
Потом программисты меняются местами: наблюдатель начинает писать код, а ведущий — комментировать.
Зачем это нужно?
Парное программирование нужно для продуктивности и взаимного обучения. Наблюдатель вникает в код, следит за ходом мысли и постоянно ищет, к чему бы придраться. Параллельно он узнаёт для себя новые техники.
Ведущий тоже работает не совсем в привычном ритме: он проговаривает вслух, зачем пишет каждую строчку кода. Побочный эффект — произнося свои решения вслух, программист может сам заметить ошибку.
А не лучше ли вдвоём сразу писать код?
Кажется, что парное программирование неэффективно, потому что два человека решают задачу, которую мог бы решить кто-то один. Но на самом деле непосредственное написание кода в программировании занимает одну десятую времени. Остальные 90% времени программист ищет наилучшее решение — и здесь парное программирование помогает существенно ускорить работу.
В парном программировании над одной задачей думают двое, при этом сразу делятся друг с другом мыслями. То, что два программиста поодиночке будут делать два дня, в паре они могут сделать за несколько часов.
Как подбираются пары?
Это самое сложное в парном программировании — найти пару, в которой будет комфортно работать. Дело в том, что парное программирование может длиться до 4 часов, и сложно сидеть столько времени с человеком, с которым тебе некомфортно. Поэтому при подборе пар руководители стараются учесть всё:
- темперамент — жизнерадостному программисту будет сложно работать в паре с молчаливым и необщительным коллегой;
- скорость речи — чтобы того, кто говорит быстро, не раздражала медленная речь другого;
- стиль программирования и специализацию — чтобы коллеги были полезны друг другу;
- и всё остальное, что может помешать двум программистам работать вместе.
Есть ли специализация в парном программировании?
Да. Одни пары успешно решают сложные задачи, к которым никто не знал как подойти. Другие классно находят ошибки в чужом коде и делают рефакторинг. Третьи лучше всех справляются с концептами и прототипами, когда нужно быстро получить рабочее решение.
В чём плюсы парного программирования?
✅ Вдвоём одну и ту же задачу получается решить быстрее, чем одновременно, но поодиночке.
✅ В коде намного меньше ошибок, и для него почти не требуется код-ревью или рефакторинг.
✅ Наблюдая за кодом и стилем мышления другого программиста, можно самому научиться новому.
✅ Парное программирование часто помогает решить те задачи, которые казались нерешаемыми.
Минусы парного программирования
❌ Это очень ресурсоёмкий процесс для обоих — мало у кого получается работать в паре больше 4 часов в день, обычно час-два.
❌ У программистов должна быть примерно одинаковая квалификация.
❌ Сложно сразу найти пару для комфортного программирования, а иногда человек в принципе не способен работать с кем-то в паре.
Что может пойти не так?
Самая частая ошибка — когда один пишет код, а второй молча сидит или тупит в телефоне. Это уже не парное программирование.
Когда оба на удалёнке, бывает сложно наладить контакт, даже если до этого вы отлично работали в офисе. Ведущему легко увлечься и начать писать код самостоятельно без оглядки на второго.
Хочу парно программировать, с чего начать?
Всё просто:
- Изучаете любой язык программирования хотя бы на уровне джуниора.
- В чате, на форуме или среди знакомых находите того, с кем бы вы хотели программировать в паре.
- Пробуйте. Никаких волшебных рецептов нет, всё приходит с опытом.
Если вы обучаетесь в «Практикуме», вас добавят в чат, где такие же программисты будут искать себе пару. Да и вообще ваши однокурсники — это ваши будущие друзья, товарищи и коллеги.