서론
6주 차 회고를 하고 거의 2주 간 포스팅이 없었습니다.
그만큼 네이버 부스트캠프가 바빴고 알찼답니다 ㅎㅎ
이번 7, 8주 차에는 페어 프로그래밍이라는 걸 했습니다.
혼자서 할 때보다 1.5배로 힘들고 2배 재밌었던 경험이었습니다 ㅎㅎㅎ
바로 회고해 봅시다.
페어 프로그래밍
위에서 말했듯 7, 8주 차에는 페어 프로그래밍을 진행했습니다.
두 명이 짝을 지어서 네비게이터, 드라이버로 나눠서 같이 작업하는 방식이에요.
내비게이터는 지시하는 역할, 드라이버는 지시를 듣고 실행하는 역할입니다.
페어 프로그래밍에서 가장 중요한 건 분업이 아니라 하나의 컴퓨터로 같이 작업을 하는 것입니다.
그래서 저희는 한 명이 화면 공유를 해서 작업하는 방식을 선택했어요.
하나의 코드를 두 명이 대화하면서 짠다는 게 괜찮이 색다르면서 유익한 경험이었습니다.
(M1 Pro 16인치인 저는 괜찮았지만 맥북 에어인 페어는 죽을 뻔했다는 비하인드가 있습니다 ㅋㅋ)
심지어 저와 페어는 그룹 프로젝트도 같이 해서 뜻 깊은 경험이었습니다.
그룹 프로젝트를 함께 하기 전에 팀원이 어떤 스타일로 코드를 짜는지, 어떤 생각을 하며 개발을 하는지 미리 알 수 있었어요.
저와 팀원은 MBTI가 정반대인데요.
MBTI는 정반대이지만 고민 내용과 원하는 개발 방향은 비슷해서 굉장히 신기했습니다.
또, 문제가 생겼을 때 해결까지 나아가는 방향이 상당히 비슷하다고 느껴져서 이것도 너무 신기했어요.
이러한 이유들 때문에 2주간의 페어 프로그래밍이 너무 즐거웠던 거 같습니다.
페어 프로그래밍을 하면서 가장 크게 와닿은 장점은 혼자 개발할 때는 가볍게 넘어가는 것도 둘이 함께 하니 하나하나 자세히 살펴보고 여러 시선으로 볼 수 있던 점이었습니다.
물론 반성할 점도 있었습니다.
제가 상대적으로 Swift 경험이 더 많다보니 어느샌가 제 의견으로만 방향이 결정된다고 느껴졌습니다.
이걸 피하기 위해 일부러라도 더 의견을 구하고 물어봤는데 잘 되었는진 확신이 없네요...
좀 더 부드럽게 소통하고, 말을 정리해서 전달하는 방법을 고민해서
그룹 프로젝트 때는 좀 더 나은 모습을 보여드릴 수 있게 노력해야겠습니다.
읽기 쉬운 코드
페어 프로그래밍을 하면서 읽기 쉬운 코드에 대해 더 깊은 고민을 하게 되었습니다.
혼자 코드를 짜는 게 아니기 때문에 저만 알아보는 코드는 전혀 가치가 없더라고요.
평소에도 가독성을 신경 썼지만 평소보다 두 배는 더 고민했던 거 같습니다.
팀원과도 얘기를 해본 결과, SwiftLint를 적용하기로 했습니다.
SwiftLint를 적용해서 수많은 경고(Warning)를 만났는데요.
전 웬만한 건 disable 하자고 했는데 팀원이 하나하나 지워보자고 하더라고요.
그래서 하나씩 고치기로 결정했습니다.
귀찮을 줄 알았는데 막상 하나씩 고쳐가니까 너무 뿌듯하고 재밌더라고요.
결정적으로 SwiftLint 적용 이유였던 가독성이 크게 올라가고 코드 통일성도 생겨서 만족스러웠습니다.
열정적인 팀원의 선택 덕분에 더 나은 결과를 얻고, 뿌듯하고 유익한 경험도 할 수 있어 감사했습니다.
스스로 생각하는 힘
8주 차까지 진행하니 어느샌가 스스로 고민하지 않고 바로 검색부터 하는 모습이 보였습니다.
물론... 자료를 잘 찾는 것도 중요한 능력이겠지만, 그것보다 중요한 게 스스로 생각하는 힘이라고 생각을 했습니다.
그래서 궁금한 점을 페어와 함께 토의하면서 생각하는 힘을 기르려고 노력했습니다.
당연히 개발 속도는 느려졌지만, 개발을 주제로 함께 대화하고 차근차근 나아가는 게 너무 재밌어서 잘한 선택인 거 같았습니다.
공식 문서, 기존 블로그 글을 정리해서 개발하는 것도 좋지만 이런 경험도 좋은 거 같습니다 ㅎㅎ
특히 네이버 부스트캠프에서는요!
주석의 의미
마지막으로 주석의 의미를 다시 생각해 봤습니다.
마스터 클래스에서 주석의 의미를 짚어주셨는데 딱 제 얘기더라고요.
기존에는 주석을 개인 메모, 사소한 TODO를 적으면서 "개인 공간"으로 생각했습니다. (커밋과 푸시도 했고요 ㅎㅎ;;)
하지만 주석은 타인을 위한 것이라는 걸 깨달았습니다.
다른 사람에게 코드 의도를 표현할 창구로 주석을 사용해야 한다는 것을 배웠고,
주석도 코드의 일부이므로 고민이 들어가야 하는 영역이라는 걸 깨달았습니다.
마무리
네이버 부스트캠프 웹・모바일 8기 멤버십 7, 8주 차 회고가 끝났습니다.
거의 처음으로 iOS 내용 없이 회고 글을 적은 거 같아요 ㅋㅋ
그만큼 페어 프로그래밍의 임팩트(?)가 컸던 거겠죠?
다음 주는 인터미션 기간으로 쉬는 시간이고,
다다음주부터는 그룹 프로젝트가 시작됩니다.
이번주에 면접도 하나 봤고... 더 열심히 해야겠네요 ㅎㅎ
감사합니다.