☝️ 우선 모든 것을 털어내 봅시다.
좋았던 점, 아쉬웠던 점 무엇이 되었든 좋으니 우선 모든것을 털어내봅시다.
Good
- 기획
- 기획과 설계에 전체 프로젝트의 절반에 가까운 시간을 투자했다. 중간에 바뀌는 부분도 있었지만 튼실한 기획서와 Figma를 바탕으로 개발 단계에서 지체되거나 헤매는 일을 줄일 수 있어서 집중도가 올라갔던 거 같다.
- 중간중간에 잔버그는 보였지만 기본 요구사항은 모두 충족시켰고, 추가적인 요구사항에도 발을 들여보며 마감과 완성도에 대한 trade-off를 배우게 되었다.
- 프로젝트 관리
- Github repository 안에 있는
Projects
를 이용하여 태스크 분배를 시도했다. 여기서 issue나 PR과 연관시킬 수 있고 각 태스크에 대한 assignee를 빨리 확인할 수 있어서 좋았는데, 추후에 협업 시에도 활용하면 좋을 것 같다.
- 리액트 숙련도
- React-query, Jotai, Reect hook form 등 실제로 많은 프로젝트에서 사용되는 유명한 패키지에 대한 경험을 할 수 있었다. 현재는 기본 기능만 사용한 정도지만, 더 잘 사용하려면 각 패키지의 공식문서를 참고하여 기존 기능에 대한 확장이나 개선을 할 수 있을 것 같다(https://react-query.tanstack.com/reference/useMutatio, https://react-hook-form.com/advanced-usage 등)
- 팀 문화
- 문제가 발생했을 때 해결방안은 여러가지가 나올 수 있고 이를 혼자 고민하다가 지체되는 시간과 옳고 그름을 판단하기 어려워질 때가 있을 텐데, 디스코드나 슬랙으로 팀원과 즉각적인 소통 혹은 비동기적인 의견 교환을 통해 더 나은 선택지를 고를 수 있었다.
- 짧은 기간 안에 개발을 하기 위해 문제, 어려운 부분이 있어 시간이 지체되고 있을 때, 해결하기 위해 모두 같이 의견을 모아 빠른 의사결정으로 막힘없이 진행할 수 있었다.
- 그 외
- 비록 정식 진행 기간은 끝났지만, 모두 프로젝트 개선 의지가 있으셔서 보다 나은 수준의 결과물로 바꿀 수 있을 것 같다.
Bad
- 프로젝트 문서화
- 회의록을 주기적으로 작성하지 못했고, 후반부로 갈수록 PR, issue 등 템플릿을 지키며 개발 단계를 문서화하여 공유하는 작업에 대한 완성도가 떨어지게 되었다.
- 개발
- Typescript를 사용해보고자 야심차게 시작했지만 ESLint에 휘둘리며
any
가 많이 쓰이면서, 이점을 많이 챙기지 못했다. - 당장의 기능 구현에만 신경을 쓰느라 더 좋은 방법에 대한 고찰이 부족했다. 멘토님께 여쭤보거나 돌아다니는 잘 만들어진 오픈소스에 대한 참고를 더 많이 했다면 좋았을 것 같다.
- 처음 계획은 모바일을 우선으로 하는 레이아웃을 만들고자 했지만, 처음 설정 width부터 잘못되었었고 반응형에 대한 대비를 하지 못했다. 그 외에도 여러 컴포넌트들에 대한 애니메이션도 부족해서 현재는 사용자 경험을 평가하기도 힘든 정도라고 생각한다.
- 코드 가독성에 대해 신경을 많이 쓰지 못했다. 디렉토리 구조를 나눌 때의 네이밍이나, emotion 스타일 코드 분리 등 추가적인 개선이 필요할 것 같다.
- 코드리뷰 및 프로젝트 관리
- PR을 main에 통합할 때, 일정 수의 approve가 필요했는데, 처음엔 2 이상의 approve가 필요하다가 프로젝트 후반부에는 일정에 쫓겨 1로 낮추다보니 서로의 코드를 체크하는 시간이 부족했던 것 같다.