깊고 넓은 삽질

프리온보딩 코스 회고록 1 | 협업이란 몰까,,? 본문

Programming/개발 회고록

프리온보딩 코스 회고록 1 | 협업이란 몰까,,?

ggsno 2022. 9. 1. 17:49

  원티드 프리온보딩 프론트엔드 코스를 참가하면서 배운 점들을 정리하고자 글을 쓴다. 이 코스는 매주마다 주어지는 기업과제를 팀과 함께 해결해나가는 과정이다. 과제와 별개로 매주 프론트엔드와 관련된 강의가 열린다. 참가자 모두 사전 과제로 todo app을 각자 만들었고 임의로 배정된 7~8명이 한 달동안 한 팀이되어 진행한다.

 

08.30 ~ 09.01 todo app (github repo https://github.com/wanted-team-11/assignment1)

첫 과제 | 협업의 방법 배우기

  첫 과제는 팀에서 하나의 todo app을 만드는 것이었다. 과제의 목적은 최선의 결과물이 아닌 협업하는 방법을 공부함에 있었다. 강의 시간 때 배운 협업은 깃 버전관리나 코드포메팅 등 기술적인 부분이었다. 과제를 진행함에 따라 기술적인 부분 이외의 협업에 대해서도 많은 배울 점이 있었다.

주안점 공유 | 내 코드가 짱이에요?

  첫 회의에는 각자의 주안점을 공유하는 시간을 가졌다. 주안점은 모두 비슷했지만 접근 방식이 조금씩 달랐다. 효율적인 진행을 위해 한 사람의 코드를 베이스로 리팩토링을 진행하는 형식으로 결과물을 취합해보기로 했다.

  다들 코드에는 큰 차이가 없었는데 내가 내 코드에 대한 어필을 많이 해서 내 코드를 베이스로 진행되었다. 사실 이전에 todo app에 대한 피드백을 한 시니어분에게 받을 기회가 있었다. 피드백 부분을 수정하고 뭔가 성장했다는 느낌에 내 코드가 짱인 것 같았다. 물론 이 생각은 반나절도 못 가서 박살 났다. 여기부터 배울 점이 많아진 것 같아 내 생각을 열심히 어필한 건 잘했던 것 같다.

짝코딩 및 취합하기 | 우탕당당 취합 대소동 / 불친절한 코드

  내 코드를 나를 포함한 8명이서 리팩토링을 진행했다. 2명씩 나눠 짝코딩 형식으로 반나절정도 리팩토링을 각자하고 밤에 다시 만나서 취합하기로 했다.

  짝코딩을 이번에 처음 해봤는데 집중도 잘되고 즐거운 경험이었다. 어떤 의도로 이런 코드를 짜는지 실시간으로 설명하면서 코드를 짜니 목적과 목표가 분명해지면서 집중이 잘 됐다. 무엇보다 함께 고민하면서 이야기를 나누며 같이 코딩한다는 것 자체가 즐거웠다. 기회가 있으면 자주 짝코딩을 하고 싶다.

  즐거운 짝코딩시간이 끝나고 취합의 시간이 돌아왔다. 팀에서 리팩토링의 큰 틀은 잡아 놔서 충돌되는 부분은 그 부분만 바꾸면 될 줄 알았다. 문제는 내 코드에 의존성이 너무 많았다. 하나의 함수를 고쳤을 때 그 함수에 의존하고 있는 함수들이 있었다. hook 안에서 다른 hook을 쓰는 부분도 있었다. hook의 이름도 너무 일반적인 이름이라 팀원들이 코드를 이해하기 어려웠다고 했다. 짱코드에서 반나절만에 똥코드가 되었다. 과거의 내가 부끄럽다면 그만큼 시야가 넓어졌다는 의미일 것이다. 요즘은 매일매일이 부끄럽다.

  서로 강하게 결합된 코드들 덕분에 충돌 파티가 벌어졌다. 이 과정에서 우리 방장님을 필두로 깃의 무궁무진한 명령어를 배울 계기가 되었다. 다른 브랜치의 특정 커밋만을 내 브랜치에 선택적으로 merge 시키는 cherry-pick을 발견하고 우리 팀은 불을 발견한 원시 인류처럼 기뻐했다.

merge 할 때마다 코드 충돌 vs 회의 열 때마다 의견 충돌

  어찌저찌 취합을 다 하고 우리의 주안점을 readme에 작성하는데 이 때는 이미 밤이 깊은 시간이었다. 여기서 약간의 의견 충돌이 있었다.

  과제에서는 토큰을 저장하는 storage를 local storage로 제한했지만, 우리 팀에서는 특정 storage에 의존하지 않기 위해 storage라는 파일을 따로 만들고 그 파일 안에서 local storage를 내부적으로 사용했다. 이 접근을 나는 의존성 관리라고 이름 지었는데 팀원 중 한 분이 의존성이라는 단어는 여기에 어울리지 않는 것 같다고 의견을 주셨다.

  이 때 나는 내 생각이 너무 확고해서 부끄럽게도 다소 공격적으로 되받아 쳤다. 서로 아무런 근거 없이 “의존성이란 말 많이 쓰이지 않아요?” ↔ “아닌데요?” 이런 ‘내가 맞다’식 대화가 한 3분쯤 오간 것 같다. 이 때가 후회된다. 협업은 누구의 잘잘못을 따지고 상벌을 주는 것이 아니라 문제를 해결해 나가는 것이 목적이다. 더 나아가, 함께 일하는 동료를 존중하고 즐겁게 일하는 것이 궁극적인 목적일 것이다. 내 생각에 너무 갇혀있어서 이런 실수를 저질렀던 것 같다. 열린 자세로 동료의 이야기를 좀 더 들어보고 의견을 공유했더라면 더 즐거운 팀플이 되었을 것 같아 아쉽다.

드라마 '이상한 변호사 우영우'의 정명석 변호사 역을 맡은 강기영 배우님

“같이 일하다 의견이 안맞고 문제가 생기면
서로 얘기해서 풀고 해결을 해야죠.

매사에 잘잘못 가려서 상주고 벌주고,
난 그렇게 일 안합니다”
- 정명석

Comments