Две (или более) головы лучше, чем одна.
Самостоятельно кодировать сложно.
Есть преимущества в том, чтобы бороться самостоятельно. Вы растете как разработчик, ударяясь головой о проблему.
Но стратегическое обращение за помощью может ускорить ваш рост и помочь вам решить инженерную проблему способами, о которых вы, возможно, и не подозревали.
Вот где на помощь приходит парное программирование. Вот пять самых больших преимуществ, которые я испытал за десятилетие разработки программного обеспечения.
# 1 — Быстро выйти из тупика
Я сбился со счета, сколько раз я просил коллегу-разработчика посмотреть мой неработающий код, и они сразу же находили ошибку.
Я сделал то же самое для других инженеров. Но как другой инженер решит вашу проблему за считанные минуты, если вы не могли решить ее за часы?
Я считаю, что часть проблемы заключается в Эффекте Einstellung. Это причудливый способ сказать, что, когда вы слишком долго смотрите на проблему, вы в конечном итоге подходите к ней ограниченными способами и потенциально перестаете видеть лучшие способы.
Когда вы соединяете программу с другим инженером, вы представляете кого-то со свежим взглядом. Они быстро обнаружат отсутствие закрывающих скобок или неправильное управление состоянием в вашем приложении. Ваш мозг может не позволить вам увидеть эти «очевидные» проблемы, если вы слишком долго смотрели на него.
Мой совет: определите время для вашей «сессии борьбы» с каким-то кодом, на котором вы застряли. После разумных усилий по поиску решения сотрудничество с другим инженером, просто поделившись черновиком запроса на включение или попросив 15-минутную демонстрацию экрана, может сэкономить вам часы на неправильном пути.
# 2 — Вы изучаете новые приемы для повышения эффективности разработки
Когда я смотрю код более опытных инженеров, я нахожу так много крутых ярлыков и инструментов, которых раньше никогда не видел.
Это включает в себя новые команды терминала, горячие клавиши для более быстрой навигации по моему редактору кода, расширенные вспомогательные функции на языке программирования и многое другое.
Парное программирование — это не только решение проблем, но и наблюдение за тем, КАК кто-то решает проблемы.
# 3 — Вы получаете точку зрения эксперта на новую систему
Парное программирование становится особенно ценным, когда вы присоединяетесь к новой компании или используете новую кодовую базу. Найти эксперта для совместной работы может быть неоценимым.
В каждой компании есть специалисты, знающие систему вдоль и поперек, которые могут передать обширные знания за очень короткий период времени.
Эти знания включают в себя изучение архитектуры системы, передовой опыт, подключение бизнес-концепций к соответствующему коду и более глубокое понимание используемого языка программирования или инфраструктуры.
Отказ от ответственности: всегда прилагайте разумные усилия для самостоятельного изучения системы, прежде чем просить эксперта выделить время для сопряжения программы. Они всегда могут сказать, когда вы не проявили должную осмотрительность, и это показывает неуважение к их времени.
# 4 — Оба инженера создают общий контекст для функции
Парное программирование предотвращает накопление племенных знаний у любого человека.
Совместное кодирование — это ценная возможность понять «почему» функция или система и коллективно ознакомиться с соответствующим кодом. Это позволяет вам или вашим товарищам по команде справляться с инцидентами, связанными с системой, или любыми будущими улучшениями, которые необходимо внести в эту систему.
# 5 — Вы сближаетесь со своей командой, особенно в удаленной рабочей среде
На самом деле недооцененная часть парного программирования — это знакомство с вашими товарищами по команде.
Вы узнаете, как они думают, что их волнует и что потенциально происходит в их личной жизни, что может повлиять на их работу.
Парное программирование — это возможность общаться с товарищами по команде на человеческом уровне, а не только профессионально.
Особенно в удаленной среде, где вы не можете подойти к чьему-то столу, более длительные сеансы программирования видеопары позволяют инженерам укреплять доверие друг к другу, вместе решать проблемы и, в конечном итоге, работать быстрее в долгосрочной перспективе.
Заключение
Подводя итог, я люблю парное программирование по следующим причинам:
- Я быстро выхожу из тупика или помогаю другим выйти из тупика
- Я изучаю новые трюки, наблюдая за своим партнером по паре
- Я быстро адаптируюсь, обучаясь у эксперта
- Оба инженера обмениваются контекстом, и племенные знания сокращаются.
- Вы познакомитесь с другими инженерами и получите больше удовольствия!
Дайте мне знать о своем опыте парного программирования и любых уроках, извлеченных на этом пути!