- 진행 날짜 - 2021.04.23 ~ 2021.05.28
- 주특기(Node.js) 목적 - 팀원들과 함께, 백엔드와 프론트 엔드의 역할을 맡아 주제를 선정하고 프로젝트를 진행하자
- 필수 포함 사항
- 깃 허브 링크 -
항해 99의 열한번째 주가 밝았습니다!
도저히 채팅방을 제대 만들 수가 없을 것 같아서 저희팀은 요번주 월요일, 화요일, 수요일 총 2박 3일간 합숙을 하였습니다. 홍대역 입구 근처에 깨끗한 숙소가 있길래 4명 모두 모여서 합숙 코딩을 시작하기로 했습니다. 이 기간동안 백앤드 팀원 분은 로그인 및 회원가입과 관련한 모든 에러를 수정해주셨고, 저는 이 기간 동안 프론트 분들과 함께 그외 다른 오류를 수정하거나 단체 채팅방 로직을 다시 프론트와 함께 수정하였습니다.
제가 같이 하는 백앤드 팀원보다 오류를 잘 잡고 수정할 수 있었기에, 팀원분이 다른 작업하고 계실동안 어려운 오류를 풀어내거나 코드를 정리해 드렸습니다. 저도 아직 초짜이긴 하지만 그래도 전보다는 깔끔한 코드로 만들어 드렸습니다.
이렇게 합숙까지 하며 열심히 작업을 했기에, 그래도 2박 3일 안에는 끝날 것이라고 예상을 하였으나 결과는 합숙이 끝났음에도 프로젝트에 진전이 없었습니다. 그래서 어쩔 수 없이 다같이 모여서 코딩을 계속 하기로 했습니다.
일단 항해 99는 게더를 통해서 이뤄지는데, 아무래도 집에서 코딩을 하면 서로가 서로의 코드를 제때 볼 수가 없고 의사소통이 잘 이뤄지지 않는 것 같아서 홍대의 팀플레이스라는 스터디 카페에서 모여서 작업하기로 했습니다.
그런데 이렇게 해도 진전이 없는 듯한 기분이 들었습니다...... 뭔가 잘못 돌아가고 있다는 생각이 미친듯이 들기 시작했죠.
저는 node js였기에 프론트쪽 코드는 본적이 없었습니다만, 혹시나 해서 프론트 쪽 코드를 보았습니다. 일단, 리엑트 구문이 정확히 뭘 의미하는지는 모르겠지만 진짜로 큰일이 나긴 난것 같다는 느낌을 받았습니다. 그래서 당장 리엑트를 하고 있는 친구에게 전화를 걸어서 자초지종을 설명하고 코드를 봐줄 수 있겠냐고 부탁을 했습니다. 진짜로 부르기 싫었지만 저희 프론트 코드를 봐줄 사람은 항해 99에 없다고 판단하였습니다. 뭔가가 단단히 꼬여있는 스파게티 코드같았거든요.
그렇게 부른 친구가 한 말이 아직도 잊혀지지 않습니다.
너네 프론트 코드 큰일 난 것 같은데?
정말...... 정말 상상도 하기 싫은 일이 실제로 일어났습니다. 한 10분동안 그 자리에 가만히 있었던 것 같네요. 이 상황을 받아들이기 힘들었거든요. 가뜩이나 우리 팀의 코드를 봐줄 사람이 없는데, 친구한테 저런 말까지 들으니 어떻게 해야할지 눈앞이 캄캄해졌습니다. 일단 채팅방 로직이 어려워서 코드가 꼬여있던게 한 몫을 단단히 했고, 프론트 팀원분들이 해당 로직을 이해하지 못해 일단 값이 나오는대로 만들다보니 완전히 망해버린 코드가 나온 것이었습니다.
저는 node js라 프론트 코드를 고칠 수 없어서, 어쩔 수 없이 친구한테 부탁을 했습니다. 고맙게도 흔쾌히 받아들여줘서 저희 프론트 코드 로직을 고치는데 정말 많은 도움을 주었습니다. 친구가 없었다면 아마 저희는 이 프로젝트를 완성하지 못했을 것 같습니다.
이렇게 요번주는 정말 채팅방 오류만 수정을 한 것 같습니다. 그래도 일단 2명씩 나뉘어서 작업을 했기 때문에, 로그인 및 회원가입, 메인 화면 까지는 작업을 성공적으로 마칠 수 있었습니다. 하지만, 채팅방이 주요 서비스였기에 일정이 뒤로 밀려버리는 참사가 발생했습니다.
아직 고쳐야 하는 오류도 많고 구현해야 하는 기능도 많은데 과연 5월 28일 전까지 모두 완성하고 서비스를 할 수 있을지 모르겠습니다.
😭 내가 조장으로서 역할을 다 하지 못했단 생각이 들었던 이유
1. 프론트 코드를 진작에 봤어야 했다.
아무리 내가 리엑트 코드를 모른다지만, 그래도 전에 있던 회사에서 프론트 일을 하고 나왔으니 흐름 정도는 볼 수 있었을 텐데 신경을 쓰지 못한 것이 저희 프론트 코드를 꼬이게 만든 원인인 것 같습니다.
2. 팀원 분들의 실력을 고려하지 않고 무리한 주제를 잡았다.
처음에는 저희 프로젝트에 graphQl도 사용하고, 프론트쪽에서는 apollo도 사용해 보는 것을 목표로 잡았습니다. 그래도 일단 처음 배우는 기술들이니, 그때 휴일간 잠깐 공부를 해보고 안되면 안쓰는 걸로 결정을 내리기로 했습니다. 그렇게 나온 결정이 graphQl도 apollo도 사용하지 않고 그냥 지금까지 했던 그대로 Rest API를 사용하는 것이었죠. 여기까지는 잘 결정했다고 생각했었습니다.
그러다가 도중에 저희 주제가 바뀌게 되면서 다른 주제를 선택해야 했던 상황이 왔었는데, 그 때 채팅방 기능을 고려하지 않았던 것이 실수였습니다. 프론트에서는 한번도 해보질 않았으니 해당 코드들을 이해하기 힘들었을 것이고, 프로트를 진행해 나가면서 엄청나게 스트레스를 받았을 것 같습니다.
저희 팀 중에서 오직 저만 전부터 코딩을 했던 사람이었고, 나머지 3명은 코드를 항해 들어와서 시작해보신 분들이었는데 그 분들을 제대로 고려하지 않고 프로젝트를 짠 것은 아닌가란 생각이 들었습니다. 제가 이러한 사항들을 전부다 고려해서 빼야할 기능과 꼭 해야하는 기능 구별을 잘 해야 했었는데, 지금 와서 프로젝트를 돌이켜 보니 미흡한 부분들이 많았던 것 같습니다. 정말 저와 함께 해준 팀원분들을 볼 면목이 없습니다.
어떻게든 이 프로젝트에서 빼야할 기능을 빼서 조금이라도 더 완성도를 높여야 할 것 같습니다.
'항해 99 > WIL(Weekly I Learned)' 카테고리의 다른 글
[WIL13] 파이널 프로젝트 (5) (0) | 2021.06.02 |
---|---|
[WIL12] 파이널 프로젝트(4) (0) | 2021.05.23 |
[WIL10] 파이널 프로젝트 (2) (0) | 2021.05.09 |
[WIL9] 파이널 프로젝트 (1) (0) | 2021.05.02 |
[WIL8] 미니 프로젝트(2) 및 최종 프로젝트 시작 (0) | 2021.04.25 |