동기 - 비동기 미션 짝프로그래밍하기
☑️ 동기 - 비동기 미션 짝프로그래밍하기
오늘 14시 ~ 17시 사이에 BC
, 산토리
와 함께 이전 동기-비동기 미션을 짝프로그래밍으로 진행해봤다. 진행은 처음 약 30분가량은 역할 로테이션 방향, 시간, 코드공유 방식, 설계를 미리하고 할것인지 설계부터 진행할것인지를 회의했다. 시간이 어떻게 흘러가는지 모를정도로 계획했던 4시간의 짝프로그래밍 시간은 후딱 지나가버렸다. 모두 제로베이스에서 미션과 설계도만 켜놓고 진행하다보니 3명의 의견 제안, 교환이 여러번 진행됬고 그에따라 코드 구현의 진행방향도 계속 바뀌었다. JK가 말했던것중에 학습을 할때 회고를 하는 이유중 하나가 자신이 제대로 가고 있는지 방향을 확인하고 수정하기 위함이라고 했는데 그 방식을 짝프로그래밍에서 절실히 느끼게 되었다. 하지만 정확도가 높은지는 여러 테스트와 구현이 완료되어봐야 아는것이고, 방향이 계속 바뀌다보니 구현 속도는 현저히 느려졌었다.
결국, 구현은 모두 하지 못하였다. 끝나고 서로 간단하게 회고를 하는 시간을 가졌는데 공통으로 느끼던 부분이 새로운 아이디어를 배우게 되었고 이전보다 코드 구현 한줄한줄의 고민 농도가 짙어졌다는것이다. 나도 개인적으로 인터페이스로 강한결합 끊는걸 제대로 몰랐었는데 산토리
가 자기도 고민하고 있었던 부분이라면서 알려주신 덕분에 약한결합으로 구현하는 법을 배울 수 있었다. 이처럼 짝프로그래밍을 해보니 장점들도 있었지만 단점으로는 체력이 엄청 빨린다는것이다. 왜 JK가 최대 2시간으로 잡으라고 한지 공감할 수 있었다.
내일은 오프라인으로 동일한 멤버로 짝프로그래밍을 해보면서 온라인과 무엇이 다른지 체크해볼 생각이다. 다들 오프라인으로 만나는건 초면이라 설레는 마음이 크지만 되려 어색해져서 의견을 못낼까봐 걱정도 된다. ㅎㅎ
짝프로그래밍을 하면서 '아 이걸 알고있었으면 빨리 제안해보고 더 나은 아이디어를 같이 고민해볼 수 있을거 같은데' 라는 생각을 몇번했었다. 예를들면 enum 클래스를 쓰면 적합할것 같은 부분이 보이는데 enum에 대해서 정확히 모르니 enum을 찾는 시간이 또 걸리게 된다. 물론 100% 다 알고 진행하는게 욕심이긴한데 적어도 한번은 짝프로그래밍으로 진행할 미션에 대해 필요한 함수가 무엇일지 전체적으로 보고 어떤 내용인지만 인지하고 와도 서로 아이디어를 생각해보고 공유하는 시간을 더 가질 수 있지 않을까 싶다.