프디아에서 페어 프로그래밍을 해보았다. 페어 프로그래밍에 대해 알고는 있었지만 해본 적이 없어서 궁금하기도 했고, 걱정되기도 했다. 찾아보니까 페어 프로그래밍을 하는 이유는 상호 피드백을 경험하기 위함이라고 한다.
어쨌든 페어 프로그래밍에 대한 후기를 남기려고 한다.
개발 환경은 다음과 같다.
IDE : Intellij
언어 : Java
2명이서 진행했고 직접 코딩하는 사람, 매니징 하는 사람으로 나눴다. 찾아보니까 직접 코딩하는 사람은 드라이버, 매니징 하는 사람은 네비게이터라고 불린다.
총 30분 동안 진행했고 5분마다 서로 역할을 바꿨다. 가장 핵심은 드라이버는 네비게이터가 매니징 하는 대로 코딩을 한다는 점이다. 즉, 드라이버가 네비게이터의 매니징이 잘못되었다고 느껴도 네비게이터의 매니징에 맞게 코딩을 해야한다.
1. 피드백
피드백을 받고 주는 경험을 할 수 있었다. 프로젝트를 할 때도 피드백을 주고받는다. 하지만 실시간으로 코딩을 하면서 페어에게 피드백을 듣는 경험은 새로웠다. 처음에는 피드백을 실시간으로 준다는 게 어색했지만 하다보니까 오히려 빠르게 코드를 고칠 수 있어서 좋았던 거 같다.
2. 집중도 향상
확실히 누군가 옆에 있으니까 집중이 더 잘되었다. 혼자할 때는 마음이 편하니까 살짝 풀어지는 경우도 있는데, 누군가 옆에 있으니까 살짝 긴장이 되면서 오로지 코딩에만 집중할 수 있었다.
3. 소통 스킬
네비게이터가 되었을 때 드라이버에게 나의 의견을 잘 전달해야한다. 따라서 드라이버가 이해하기 쉽게 전달을 해야한다. 그러다 보니 예시를 들거나, 레퍼런스를 찾는등 잘 전달하기 위해 노력을 많이 했다.
이렇게 계속 반복하면 소통 스킬이 확실히 좋아질 거 같다고 생각했다.
1.시간
좀 더 해보고 싶은데 생각보다 시간이 빨리가서 아쉬웠다. 30분이라는 시간이 생각보다 짧았던 거 같다.
2.프로젝트 주제
단순히 "버블정렬"을 구현했기에 프로젝트를 하는 느낌은 들지 않았다. 클래스를 만들거나 폴더를 만들어서 하나로 몰거나하는등등 좀 더 복잡한 프로젝트를 하고싶다는 생각이 들었다.
좀 더 복잡한 주제로 해보고 싶다. 알고리즘을 구현하는 느낌 보다는 서버라는 하나의 도메인을 주제로 하면 페어 프로그래밍의 진가를 좀 더 느낄 수 있을 거 같다.