Две (или более) головы лучше, чем одна.

Самостоятельно кодировать сложно.

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

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

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

# 1 — Быстро выйти из тупика

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

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

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

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

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

# 2 — Вы изучаете новые приемы для повышения эффективности разработки

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

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

Парное программирование — это не только решение проблем, но и наблюдение за тем, КАК кто-то решает проблемы.

# 3 — Вы получаете точку зрения эксперта на новую систему

Парное программирование становится особенно ценным, когда вы присоединяетесь к новой компании или используете новую кодовую базу. Найти эксперта для совместной работы может быть неоценимым.

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

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

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

# 4 — Оба инженера создают общий контекст для функции

Парное программирование предотвращает накопление племенных знаний у любого человека.

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

# 5 — Вы сближаетесь со своей командой, особенно в удаленной рабочей среде

На самом деле недооцененная часть парного программирования — это знакомство с вашими товарищами по команде.

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

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

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

Заключение

Подводя итог, я люблю парное программирование по следующим причинам:

  1. Я быстро выхожу из тупика или помогаю другим выйти из тупика
  2. Я изучаю новые трюки, наблюдая за своим партнером по паре
  3. Я быстро адаптируюсь, обучаясь у эксперта
  4. Оба инженера обмениваются контекстом, и племенные знания сокращаются.
  5. Вы познакомитесь с другими инженерами и получите больше удовольствия!

Дайте мне знать о своем опыте парного программирования и любых уроках, извлеченных на этом пути!