첫번째 팀 프로젝트 회고

오민교·2021년 3월 29일
0

projects

목록 보기
1/1
post-thumbnail
post-custom-banner

설레이고 걱정되는 마음

문과출신에 실용음악을 전공하고 서비스직만 전전하던 과거가 무색하게 코딩에 점점 빠져들었고, 동시에 두려움은 커져만 갔다. '내가 어디까지 할수 있을까? 이 과정을 마치면 취직을 할수 있게 되는걸까?' 그렇게 즐거움과 고통을 동시에 느끼며 한주 한주가 지나갔고, 첫 팀 프로젝트 기간이 시작되었다.

2주라는 시간은 생각만큼 길지도, 생각만큼 여유롭지도 않았다..


코린이들의 좌충우돌 작업시작

첫번째로 부딪힌 난관은 'SR' 이었다. 아이디어를 정리하고, 각자 맡을 파트를 정하고 (백엔드, 프론트엔드 등), 소요 예상시간별로 테스크를 나누고, 각자 스케쥴에 맞게 테스크를 분배하는 등등, 하나부터 열까지 프로젝트 전반에 관한 사항들을 세분화 시키고 나누는것 자체가 낯설고 고통스럽게 느껴졌다. 여기서 '팀장'의 중요성을 정말 많이 느끼게 되었다. 어떤 작업을 우선순위에 둘지, 해당 테스크의 예상 소요시간은 얼마나 걸릴지, 등등 고려할 사항이 너무너무 많았다. 경험이 부족한 우리로서는 고통받으면서 해당 작업들을 진행할수밖에 없었지만 새로운 경험이 언제나 그렇듯이 당시에는 고통스러웠지만 지나고 보니 좋은 경험이었다고 생각한다.

두번째로 부딪힌 난관은 CSS, UI/UX 경험과 고민 부족 이었다. 프로젝트 SR 단계에서 모든 고민의 중심에는 '기술적 구현' 에만 포커스가 맞춰져 있었다. 여태까지 배운 기술들을 복습해본다는 측면에서는 옳은 결정 이었지만, 결과물이 완성에 가까워올수록 많은 아쉬움들이 따라오게 되었다. CSS borderbox 속성을 정하지 않아서 다른 상태로 CSS 작업을 했다던지, 팀의 구성색상을 정하지 않아서 검정바탕이 되었다가 흰바탕이 되었다가 하느라 글씨가 사라진다던지, 자잘한 것들에서 많은 삐걱임을 겪게 되었다. 이런걸 전부다 예상하고 준비했으면 좋았겠지만 사실상 불가능 하다는걸 알기 때문에 거름으로 삼아 앞으로 진행될 프로젝트들에 적용 시켜야 겠다.

'시작이 반이다' 라는 말은 잠시 접어두자. 준비를 생각하는거 이상으로 철저히 하자.


어려운 와중에도 해는 뜬다

경험의 부재와, 기술의 부족함으로 프로젝트는 어려움의 연속이었지만 그와중에 하나하나 해결해가는 희열은 참 느껴보지 못했던 그런 감정들이었다. 페이지가 새로고침 될때마다 리덕스의 상태가 초기화되는 현상으로 몇시간을 끙끙 앓다가 찾아낸 redux persist 라이브러리로 해결될때의 해소감 이라던지, 리덕스 액션함수 내에서 axios 사용법 이라던지, 몰랐던 부분들을 알아내고 이 어려움을 이미 먼저 거쳐간 선배 개발자들이 라이브러리, 혹은 패키지등으로 해결해 놓은걸 보면서 말못한 해방감(?) 같은것을 느꼈다.

'검색'을 잘하자. 구글은 최고의 교보재(?)이다. we support 'pull' stack - Google-


4인 팀 프로젝트의 장점과 힘든점

우리는 모두 각자의 위치에서 N0년 이상 각자의 방식으로 세상을 살아왔다. 일을 뒤로 미루고 마감이 되어서야 초사이언으로 변해서 일을 처리해내는 유형, a-z 까지 모든 준비를 마쳐놓고 시간단위별로 체계적으로 해결해나가는 유형, 검은색을 좋아하는, 핑크색을 좋아하는 등등 너무 다양한 사람들과 그 자체로 빛나는 사람들이 모여서 하나의 팀을 이룬다는건 생각보다 쉽지 않은 일이었다.

어두운 배경과 레트로적 감성을 좋아할수도, 시간별로 태스크를 나누고 각각 맡은바 충실하고 싶을수도, 주말엔 쉬고싶다거나, 점심시간은 2시간으로 하고싶다거나 어떤것이든 의견을 하나로 모은다는것 자체는 상당한 에너지를 소모하는 일이었다.

하지만 뚜렷한 장점이 있다. 협업은 내가 몰랐던 부분을 알수 있게 해주고, 내 부족함을 깨닫게 해주며, 상대에게 좋은 영감을 주며, 힘든 상황에 서로에게 힘이 되어줄수 있다. 가장 간단하고 분명한 예로는 서버와 프론트를 나눠서 작업하며 시너지를 가져갈수 있다는 부분이 있겠다.

우리는 이번 프로젝트에서 팀이란 어떤 의미 이며, 어떻게 서로 상호 보완을 하며 프로젝트를 진행시킬때 시너지가 발생할수 있는지 부딪히고 겪으며 익히고 습득하게 되었다.

'너'와 '나'는 다르지만 상호보완될수 있고, 그부분에 에너지가 소모되긴 하지만 가져오는 이점은 너무 명확하다


결과물 - 아쉬운점

첫번째로 UI적인 부분에 많이 신경을 쓰질 못했다. 너무 기능 구현에 집중한 나머지 CSS를 놓쳤던거같다. 보여지는 부분이 많은 부분을 차지 한다는 사실을 다른팀들의 시연영상을 통해 알게 되었다. 다음번 프로젝트는 기능구현과 UI/UX 부분을 적절히 분배해서 안정적인 기능구현과, UI/UX 부분 구현에 더욱 신경 써야겠다.

두번째로는 OAuth 기능의 Drop 부분이다. 사용자의 편의를 위해 본인인증 절차를 간소화하였는데 (오어스로 로그인 시도시에 회원가입 없이 즉시 새로운 계정 생성과 로그인 동시에 진행) 이부분이 실제 배포과정에서 오류들을 뿜어냈다. (라우팅을 할수없다던지, 비밀번호를 바꿀수 없다던지) 하여 마지막에 미완성인 상태로 프로젝트를 마치게 되었다. 다음번 프로젝트는 큰기등들의 작동여부를 중간중간 점검하며 진행해야 겠다.

세번째로는 '배포' 문제였다. aws를 이용하여 모든 배포과정을 진행하였는데, 미리미리 준비하지 못하고 마감기한 4일전(2주일중에서)에 진행한게 아쉬웠다. 실제 배포를 진행하다보니 로컬환경에서 잘 진행되던 것들도 안되는 경우가 있고, 실제 배포하여 사용자가 사용하기에 UX 적인 부분들이 어색하고 들어맞지 않는 경우들이 발생했다(버그들은 당연하고..). 다음번 프로젝트는 프로젝트 기획단부터 배포를 염두에 두고 진행해야겠다.

결과물 - 좋았던점

리액트 리덕스에 대한 이해도가 한층 상승했다.

사실 코드스테이츠 수강 기간동안 리액트과 리덕스의 공부 시간이 7일 내외로 굉장히 짧았다. 물론 이시간에 충분히 마스터하고 넘어가는 경우도 있겠지만, 이미 두달동안 새로운 스택들과 새로운 기술들을 마구마구 배워온 상태에서 완벽히 숙지하고 넘어가기란 쉽지 않았다. 하지만 이번 2주 프로젝트동안 많은 삽질(?)과 헤딩을 통해 흩어져있던 조각들이 조금씩 맞아들어 가고있는 느낌이 들었다. 다음 4주 프로젝트까지 약간의 남은시간동안 조금더 공부해서 잘 정리를 해둬야 겠다.

함께하는 기쁨과, 함께 나누는 기쁨이 배가 된다는걸 깨달았다.

뭐든지 혼자하는게 편할수는 있다. 먹고싶은 음식을 마음대로 시켜먹고, 가고싶은곳을 마음대로 가고, 정말 편할테지만 함께하는 즐거움과 기쁨은 혼자하는것과는 사뭇 다른 느낌으로 다가왔다. 고통을 함께하고 그 고통이 해결되었을때 함께 공유하고 기뻐할수 있다는건 함께하면서 생기는 불편함을 감수 하고도 남을만큼 큰 기쁨을 맛보게 해주었다 (물론 내가 못해서 삽질할때 동료가 풀어줘서 기쁜건 덤이고^^*).

무엇이든 만들어 낼수 있겠다는 약간(?)의 자신감?

함께 뭔가를 만든다는것은 혼자 무언가를 만들때 막혀서 좌절하는 것보다 훨씬 수월하게 힘든 환경과 상황을 돌파할수 있었던거 같다. 혼자 했다면 포기했거나 대충 넘겼을 일들도 함께하기 때문에 서로 의지하고 도와가며 해낼수 있었다는 생각이 든다. 동료와 함께라면 어떤것도 만들어낼수 있겠다는 작은 확신이 생겼다.

마치며

12월 초 코스를 시작할때만 해도 지금의 것들이 전혀 상상되지 않았었다. let, const 를 배우면서 끙끙 앓았던 때가 불과 엊그제 같은데 벌써 시간이 지나 작지만 강렬했던 프로젝트 결과물을 만들어냈다니.. 모든게 신기하고 놀랍다. 2주 프로젝트를 통해 부족한점도 많이 알게 되었고, 기쁨도 느껴보았으니, 4주 프로젝트 열심히 준비하고 잘 해내서 좋은 개발자가 되고싶다. 이세상에 모든 코린이, 주니어, 개발자님들 화이팅!!

  • 반응형으로 제작되어 작은 모바일일때 모습
profile
자바스크립트 개발자
post-custom-banner

0개의 댓글