[sw정글 14주차]<나만무> 프로젝트 진행에 대한 고찰

Date:     Updated:

카테고리:

태그:

🚀프로젝트 진행

일단 나는 팀원들이 인강을 보기 원하지 않았다. 코치님께서 예전에 ‘공부로 도망치지 마세요!!’ 라고 했던 말이 떠올랐다. 문제에 막히면, ‘인강을 보고나면 알게 되겠지’라는 생각을 하며 문제로부터 도망치는 현상을 지적했던 것 같다. 앞으로도 계속 생각날 것 같앗다.

그래서, 문법을 전혀 모른다면 기초인강은 보되, 인강을 정주행하기를 원하지 않았다. 문제가 생길 때, 모르는 부분이 생길 때 해당 부분을 인강으로 알게 되면 된다고 생각했다. C언어로 OS까지 만들어 보았으면, 자바스크립트, 타입스크립트, nodeJS, React 등은 몇시간이면 이해할 것이라고 생각했다. 그렇게 1~3일정도 인강을 보며 프로젝트 정보 서칭을 같이 해나갔다.

🚀리서치

일단 게더타운은 어떤 스택을 사용하고 있는지 궁금했다. 추측성 글만 난무하는 와중 채용사이트에 들어갔다. LinkedIn에 들어가자 자세한 기술스택이 나와 있었다.

gathertown_recruit

  • 프론트
    • typescript, react, redux, customized-HTML5 canvas
    • typescript, nodejs
  • 렌더링
    • Phaser, WebGL, Unity

더 자세히 알기는 힘들었고, 실제 작동하는 코드들을 보고자 찾아보았다.

🚀스카이오피스

검색을 하다 sky-office라는 코드를 찾게 되었다. 어떻게 보면 논란의 시작이 여기서부터였던 것 같다. 해당 코드는 gathertown의 기초적인 역할들을 이미 하고 있었다. 따라서 나는 이걸 수정해서 사용하고자 하였다.

하지만, 처음부터 코드를 짜올려야 한다는 의견이 있었다. 처음부터 쌓아올린 코드여야, 면접장에 가서도 떳떳하다는 의견이였다. 또한, 통신에 있어, colyseus라는 생소한 라이브러리로 구현된 이 코드를 사용하고 싶어하지 않아했다. socketIO로 통신을 하고싶어했다.

하지만 내 생각은 조금 달랐다.

결국, 기술적으로 어려운 도전을 해나가며 성장을 해나갈 텐데, Step1(core Engineering)을 하며 시간을 사용하고 싶지 않았다. 게더타운 구현은 아주 쉽고, 진짜는 그 이후부터 시작된다고 생각했기 때문이다. 다른 부트캠프, 혹은 정글 이전기수에서도 일반적인 게더타운 형태는 어떤 팀이든 구현을 했을터이다. 그 과정은, Core Engineering과정, 즉 가장 기본적인 기능구현은 완료된 상테이지만, 기술적 어려움에 도전하지 않은 상태라고 생각했다. 따라서, 코드를 처음부터 짜게된다면, 기술적 어려움에 도전할 수 있는 좋은 기회를 날릴 것 이라고 생각했다. 하지만 이러한 의도가 제대로 전달되지 않았던 것 같다. 다시금 소통의 중요성을 깨달은 바였다.

🚀논란

결국 스카이오피스 코드 재활용 이슈로 2~3일을 썼던 것 같다. Colyseus의 장점, 단점을 파악해 보거나, 재활용 관련 이슈로 토론을 자주 했다. 결국, 머릿속에 ❓❓물음표가 가득 한 상태에서 프로젝트 진행이 이루어졌던 것 같다. 생각해 보면, 나는 팀원들 머릿속에 물음표가 어느정도인지 측정할 생각을 못해보았던 것 같다. 한명 한명 따로 이야기를 해보던가, 다같이 툭 까놓고 솔직히 Sync를 맞추는 시간을 가졌어야 했던 것 같다.

현재 팀원들이 나의 의견을 존중해주고 Colyseus와 스카이오피스 일부 코드를 재활용 하는 방향으로 가고 있다. 하지만, 팀원들의 역량이 워낙 좋으니 처음부터 다시 짜보는것도 나쁘지 않았을 것 같기도 하다. 내가 양보를 해서 팀원들의 불안감을 빠르게 줄여주거나, 나의 의견이나 생각을 조금 더 솔직하게 이야기하고 의견조율을 빠르게 했어야 했던 것 같다.

결국 주된 논점은 이거였던 것 같다. 나는 ‘인터넷 어디를 검색해봐도 해결방법이 나오지 않을 어려운 문제‘를 해결하고 성장하는것이 프로젝트의 목적이라고 생각했다. 그것이 성장이고 결국 우리의 힘이 되어줄 것이라고 생각했다. 하지만, 유튜브 등을 보며 공부를 해나가며 코드를 바닥부터 짜고, 그 결과물에 대해 자신감을 가지고 나아가는것에 조금 더 중점을 두는 팀원들도 있었다. 둘다 도움이 되겠지만, 나는 전자가 더 중요하다고 생각했고, 다양한 방법으로(?..ㄷㄷ) 납득시키고 논란을 잠재웠다.

이 글을 쓰는시점에서는, Colyseus를 사용하는 이유를 명확하게 알게 되었고 쓰는 선택이 좋은 선택이였다. 하지만 그 당시에는 나는 어떠한 적절한 근거를 제공하기 어려웠다. 추측만이 난무하는 순간, 나의 의견을 믿어준 팀원들에게 고맙게 느낀다.

그렇게 4일정도 달리던 와중 또하나의 난관에 부딪혔다.

🚀중간발표

momstown_gif

중간발표때 데모시연을 꼭 보여주고 싶었다. 서버, 클라이언트 배포 테스트도 완료했으며, 40명까지도 잘 돌아가는 것을 확인했다. 데모에는 이상이 없을 줄 알았다.

중간발표 직전, 데모를 연습해보는데 계속 삐걱거림이 있었다. 4명이 영상통화를 하려고 하자, 하울링이 울렸고, 하울링이 울리지 않도록 모두 멀리 떨어지자 인터넷 이슈로 인한 끊김현상이 있었다. 결국 완성된 데모 시연을 보지 못한채로, 발표대에 올라갔다. 발표를 하기 직전에 데모에 자신이 없어서 심장이 너무 빨리 뛰었었다. 생각해보면 이게 red-signal이였던 것 같다.

결과적으로, 팀원들이 뒤에서 어떤일을 했는지 모르겠지만 데모는 완벽하게 잘 작동하고, 성공적으로 데모를 마쳤다. 하지만… 불안한 상태로 올라간 나의 발표는 성공적이지 못했다. 데모를 제외하고는… 좋은 발표와는 거리가 멀었다. 결과를 보면, 내가 멘탈을 좀 더 잘잡았으면 괜찮게 발표할 수 있었을 것 같다.

🚀기타 첨언

🤖chat GPT3

chatGPT3

나는 프로젝트 진행에 있어서 chatGPT3를 적극 활용하는 것을 추천한다. 심지어 Copilot도 결제해서 프로젝트 진행에 활용했다. 추상적인 개념에 대한 정리, 생각하는 가설에 대한 검증등은 ChatGPT에게 맡겼다. 그리고, 단순 반복 코드작업은 Copilot에게 맡김으로서 생산성이 쭉쭉 올라감을 느꼈다.

예전에 gpt2를 직접 학습시켜본적이 있는데, 이때, 어떤 형식의 데이터가 들어가는지 등, NLP 모델에 대한 이해가 어느정도(attention 등) 있어서인지 더욱 잘 활용할 수 있었던 것 같다. 좌GPT, 우Pilot, 든든했다. (하지만, gpt서버가 터진날에는 조금 많이 불편함을 느꼈다…)

🔥프로젝트 진행

우야무야 잘 진행 해 나갔던 것 같다. 초창기여서 프로젝트 방향성을 잡는데 헤맸던 것 같다. 개인적으로는, 잘못된 방향을 잡는다면 나의 책임이 크다고 생각했다. 이에 마음이 조금 무거웠던 것 같다. 문제가 잘 정의되고, 목표를 향해 기술공부 및 구현을 하는것은 전혀 어렵지 않을것처럼 느껴졌다. 아이디어를 짜내기 위한 영감이나 시간이 부족했기에, 지금 이 블로그에 몇줄의 글을 적는것도 사치처럼 느껴졌다.

회고

기획을 하며, 팀원들과 왈가왈부 하며 시간을 상당히 많이 사용했다. 처음에는 시간을 날렸다 라고 생각을 했지만 나름 의미있는 고민이였다는 생각이 든다. 프로젝트에 들어 갈 때는, 오래걸리더라도 방향성을 잘~ 잡아서 시작해야지. 5시간안에 나무를 베어야한다면, 9시간은 도끼날을 가는것이라 생각했었다. 하지만, 막상 마음이 급해지면 그런 생각이 들지 않았다. 생각이 토끼굴로 흘러가지 않도록… 팀장으로써 조금 더 큰그림을 보려고 항상 의식해야 좋은 방향성을 잡을 수 있을 것 같다.

나는 어려운문제에 도전하는것을 성장이라고 생각했는데, 이처럼 프로젝트에 대한 고민을 가지는 시간도 성장의 일부였던 것 같다.

똑같은 길을 걷게될 누군가에게

멘탈 꽉잡으세요! 얍!

다 잘될겁니다! 얍!



😵배우면서 깨달은 내용을 정리해 보았습니다. 틀린 것 같은 개념을 아래 댓글에 달아주시면 감사합니다😵

🌜 Thank you for reading it. Please leave your comments below😄

맨 위로 이동하기

swjungle survive 카테고리 내 다른 글 보러가기

댓글 남기기