카테고리 없음

코드스테이츠 파이널 프로젝트 회고

Gray Park 2020. 12. 22. 19:23
728x90
반응형

2주간의 퍼스트 프로젝트를 마치고, 4주기간의 파이널 프로젝트까지 마무리되었다. 물론 아직도 부족한 부분이 많아 조금 더 개선하겠지만 기간 내에 보여줄 수 있는 제품을 만들었다는 사실에 뿌듯하다. 예전에 스타트업에서 생활할 때 개발자들이 두달이면 제품 하나 뽑을 시간이라고 말할 때 정말 대단하다, 그게 가능한가? 하는 생각을 가졌었는데... 빡세겠지만 나도 이제 가능하다고 답할 수 있다. 그 사실이 뿌듯하다.

 

2주동안 진행하는 퍼스트 프로젝트

퍼스트 프로젝트에서 우리팀은 '맛집 정보 공유 서비스'를 기획했다. 당시 내가 점심메뉴 고르는 것에 염증을 느끼던 시기여서 ( 물론 지금이라고 별반 다를 바는 없지만 ) 나도 이 아이디어에 한 표를 보냈다. 그리고 여러가지 서비스를 합친 어마어마한 대작의 아이디어를 기획하고, 이제 구현이 남은 시점에서 예상치 못한 아니, 예상 했어야만 했던 문제가 고개를 들었다.

 

"시간 내에 할 수 있느냐"

 

"네...니오?"

 

브레이크 없는 자동차는 벽에 부딪힐 때까지 멈출 수 없었다.

그렇게 첫주차에는 아이디어 회의와 삽질만 하다가  2주차에 이르러서야 결국, 프로젝트를 밑바닥부터 갈아엎는 지경에 이르렀다. 그렇게 우리는 남들은 코딩하고 있을 시기에 SR(Software Requirement, 또는 SR을 결정하는 회의)부터 다시 시작했다. 시간이 부족했던 만큼 당연히 보여주기 민망한 수준의 프로젝트로 마무리 되었다. ( 물론 나중에 다시 갈아엎어볼 생각이 있다 )

 

4주동안 진행하는 파이널 프로젝트

보통 퍼스트 프로젝트가 끝나면 팀원이 많이 바뀐다고 한다. 아니, 팀원이 거의 그대로 간 적이 없다고 전해들었다. 하지만 우리가 2주동안 뼈저리게 느낀 SR과 브레이크의 중요성, 그리고 시간을 다른 사람과 공유하고 설득할 시간이 너무나 아깝게 느껴졌다. 지식을 전달하는 건 아깝지 않지만 (실제로 퍼스트 프로젝트 발표에서 가장 중요하게 다뤘던 부분이다), 퍼스트 프로젝트에서 느낀 좌절감은 이루 말할 수 없었다. 그리고 팀장님과 나를 포함한 팀원 모두 퍼스트 프로젝트의 과오에 대해 절치부심하였고, 그 분노와 아쉬움, 열망 모든 것을 열정으로 치환하여 파이널 프로젝트에 모두 쏟아붓고 싶었다. 아마 다른 세 분도 같은 생각이셨으리라. 그렇게 우리는 함께 하고 싶은 멤버로 각자 서로를 지목했고 다시 파이널 프로젝트를 시작하게 되었다.

 

우리 기수 ( 23기 )부터는 파이널 프로젝트를 시작하기에 앞서 재호님의 간단한 세션이 있었다. 어떤 프로젝트가 좋은 프로젝트인지 너무나 쉽게 이해할 수 있도록 설명해주셨다. 우리는 재호님의 조언을 잠시 뒤로 하고, 브레인스토밍을 위해 갖가지 아이디어를 쏟아 내었다. 분야, 스택, 기술, api 등 다양한 부분의 관심과 기술에 대한 지식욕을 채우고자 했고, 직접 적용해보고 싶었다. 그러나 우리 팀은 브레이크가 없는 SR이 나중에 어떻게 되돌아올 지 알고 있었다. 우리가 정리한 내용을 바탕으로 여러 피드백을 받았고, 받은 피드백을 바탕으로 스택과 기술을 정리했다. 정리한 걸 바탕으로 학습 기간을 가졌고, 멤버 개개인이 속에 품은 열정으로 단기간에 뼈대를 완성할 수 있었다.

 

그렇다. 뼈대 완성까지 우리는 10일이 채 걸리지 않았다.

 

하지만 세상 어느 소조가 살이 없이 완성될까. 우리는 잘 만든 뼈대 위에 살을 덧붙여야 했다. 그리고 이 과정에서 다시 한 번 큰 회의를 진행했다. 프론트엔드에서는 페이지와 컴포넌트 구성을 어떤 식으로 접근하여 더 효율적으로 운영할 것인지 ( 이 과정에서 몇몇 기능에 대해 아토믹 디자인을 채용하였다 ), 전체적인 css는 어떤 식으로 구성할 것인지, 데이터의 최종 형태와 추천 알고리즘의 적용 및 구현에 대해 하루종일 회의했다. 진짜 거짓말 안하고 아침에 토이문제 풀고 10시에 구글밋에서 시작해 오후 6시가 지나 저녁을 먹고 다시 만났다. 그리고 제법 그럴싸한 설계를 구상했다. 다음날부터는 파트별로 모이거나 개별 작업을 진행했고, 특히 나는 추천 시스템을 적용하기 위해, 행렬분해 알고리즘의 구현방법을 고민했다. 그리고 생각보다 간단하게 구현을 마쳤다(고 생각했다. 에러를 만나기 전까지는).

 

누군가는 컴포넌트를 끊임없이 업데이터 하셨고, 누군가는 서버를, 누군가는 css를, 그리고 남은 누군가는 데이터나 추천 시스템을 잡고 작업을 이어나갔다. 정말이지 하루가 짧았는데, 내가 작업하는 동안 신경도 못쓴 부분을 다른 멤버들이 신경써서 완성해준 모습을 보노라면, 또 자극받아서 미친듯이 작업하게 된다. (누가 될 순 없지) 그렇게 다함께 구글밋에 모여있지만 모여있지 않은 느낌으로 (모각코라 하더라) 각자의 맡은 역할에 충실하고, 이슈카드나 pr을 통해 공유된 사항을 다른 멤버가 핸들링해서 금방금방 해결될 때는 그 특유의 공기와 감각, 그리고 어디서 샘솟았는 지 모를 "잘 돼고 있다"는 생각을 가지게 했다. 그리고 이 기분은 마지막에 이르러 자신감이 되었다.

 

발표를 앞두고 마무리하는 과정에서 과감히 포기해야하는 부분이 있었다. 시간을 들이면 충분히 가능하고, 현재의 기능에 영향이 없다고 생각되는 부분이다. 이런 부분을 정리해서 수료 이후에 다잡는 것으로 멤버들과 합의하고 발표를 진행했다. 좋은 멤버들과 함께 즐겁고 열정가득한 프로젝트를 할 수 있어서 행복했다. 여기서 다시 한 번 감사의 말씀을 전한다. 감사합니다.

 

서비스는 배포되어있고 깃헙은 아직 private이다. 아래의 링크에서 서비스를 확인할 수 있다.

배포링크: My Raspberry

728x90
반응형