병갈이 블록

[우아한 테크캠프 Pro 2기 - 번외] 스터디 & 페어 프로그래밍 2주차 본문

개발공부 이야기(New)/우테캠Pro2기

[우아한 테크캠프 Pro 2기 - 번외] 스터디 & 페어 프로그래밍 2주차

woojang 2021. 5. 30. 00:52

1주일간 거의 새벽 2시 반 ~ 4시에 자고 아침에 출근을 반복 했더니 오늘 점심시간까지 기절을 해버렸다. 원래 일정은 일찍 일어나서 빨래와 집안 정리를 하고 스터디로 가는 일정이었으나 30분 전에 급하게 일어나서 씻고 바로 스터디 장소로 이동했다.

 

2주차도 동일하게 페어 프로그래밍으로 진행하기로 했다. 오늘은 총 4명이 참석해서 2명씩 나누어 진행하였고, 지난주와는 다른 파트너와 함께 하였다. 이번 주 주제는 [인수테스트 실습 : 1단계 - 지하철 노선 관리]이다.

 

처음에는 ATDD를 이해하는데 시간이 좀 걸렸다. 그래도 함께 참석한 분들과 이야기를 나누면서 이해하는데 도움을 많이 받았고 미션을 진행하면서 자세한 감을 잡기로 했다. 

 오늘의 진행은 인수 테스트 단위로 순서를 돌아가기로 했다. 진행 과정을 돌이켜 보면 지난주와는 조금 다르게 파트너의 차례에도 서로 많은 개입을 하게 되었다는 것이다.(다른 이유는 아니고 서로 이 미션에 대한 이해가 부족한 상황이었기에 자연스럽게 많은 의견을 나눌 수 밖에 없었다.) 그래서인지 궁금한 내용들을 각자가 찾아보게 되고 알게된 것들을 바로바로 공유하면서 문제를 이해해나가는 과정이 상당히 빨랐던 것 같다. 이런 과정은 막상 미션을 시작하였을 때 겪게 되는 막연함과 막막한 감정들로 부터 빨리 벗어나는 것에 큰 도움이 되었다.

 실제 코드 작성을 진행하면서는 경험한 것은 내가 작성한 코드에 대한 설명도 함께 하면서 진행하였기에 내가 무엇을, 왜, 어떤 방식으로 만드는지에 대한 이해가 우선되어야 할 수 밖에 없었고, 막연한 코드가 아니라 문제 해결의 컨셉을 가져야만 했다는 것이다.(이게 생각보다 훈련이 많이 되는것 같다) 사실 남에게 설명이 가능해야지만이 진짜 제대로 이해한 것이다라는 말이 있듯이 이렇게 내가 짠 코드를 설명하고 내가 사용한 기능을 설명해 내는 과정이 진짜 그것들을 나의 것으로 만들어 가는 과정이라고 생각한다. 그렇게 설명을 하다보면 나 스스로가 정확하게 이해하고 있지 못한 부분들도 드러나고 무엇이 부족한지도 드러나게 된다. 중요한 건 이러한 부족함(또는 내 지식과 기술의 민낯)이 드러나는 것을 부끄러워하고 감추려 하는게 아니라 모름은 인정하고 물어보고 찾아볼 내용으로 리스트업해두고 따로 공부해 보는 자세인 것 같다.

 

좋았던 점은 위에 언급했지만 함께 내용을 공유하는 과정만으로도 미션을 이해하는 시간이 많이 단축되었다는것과 내가 짠 코드를 설명을 하기 위해 구현 방향을 머릿속에 자세하게 그려두는 연습이 되었다는 것이다.

단점은 역시나 시간이지 않을까? 미션을 이해하는 과정이라 오히려 시간이 아껴진 느낌이 있지만, 만약 미션 진행을 이해 한 상태로 페어를 했다면 혼자 하는 것 보다는 시간이 더 걸렸을 거라는 생각이 든다. 서로의 생각을 말로 표현하고 그거를 서로 받아들이거나 설득하는 과정을 거쳐야 하기 때문이다.

이런 시간적인 아쉬움이 있음에도 두번째 페어 프로그래밍 또한 이러한 아쉬움이 아깝지 않을 정도로 많은걸 깨닫고 알고 느끼게 되는 시간이었다고 생각한다.

 (지난주도, 이번주도 시행착오 느낌이 강해서 아쉬움이 남지만 매주 하기로 했으니 점차 진행 룰을 정하고 정확히 지키면서 진행하는 훈련이 되지 않을까 기대해 본다.)

Comments