7개월 부트캠프의 마지막 커리큘럼인 파이널 프로젝트가 끝이 났다. UX/UI, 백엔드, 프론트엔드 파트가 협업하는 기업 연계 프로젝트로, 여러 기업의 제안 요청서(RFP)를 읽고 1,2지망을 선택하여 랜덤으로 수강생들과 매칭되었다.
내가 선정한 주제는 인사 채용 담당 서비스로, 여태까지 장바구니, 찜하기, 구매 기능이 있는 쇼핑몰 성격이 짙은 프로젝트만 했기 때문에 다른 성격의 서비스를 만들어보고 싶었기 때문이었다. 처음 해보는 것이라 조금 떨리도 하는 마음 반, 기대되는 마음 반으로 프로젝트를 시작하게 됐다.
기업측과 미팅을 진행하면서 처음 제안서와는 다른 요구사항을 마주하게 됐다. 시간만 흐르고 정해지는 것이 없는 상황에 답답하고 불안하기도 했지만, 계속된 논의 끝에 결국 인사 채용 담당 서비스라는 큰 틀은 유지한 채 우리가 처음부터 서비스를 기획해보기로 했다.
커밋/ 이슈/ PR/ 코드 컨벤션, prettier,lint, 기술 스택을 하나부터 꼼꼼하게 정해 레포지토리를 만들어 효율적이고 원활한 개발을 준비했다.
UXUI 분들이 피그마로 와이어프레임을 설계해주시는 것을 보고 기능 명세서를 작성해 백엔드 분들이 참조할 수 있도록 했다. 혹시 나중에 배포에 문제가 생길지도 모르기에 미리 배포부터 해놓고 PR마다 오류가 있는지 체크했다.
마일스톤을 사용하여 우리의 작업 속도를 명시적으로 나타낼 수 있게 하였다. 또한 와이어프레임과 기능명세서 기준으로 git issue에 스프린트 백로그를 작성했다. 레이블도 기본 레이블이 아니라, 필요한 레이블을 직접 등록하여 알맞게 사용했다.
이슈 템플릿을 만들어 일관성있는 PR을 했으며, 내 작업 내용을 모를 다를 팀원들을 위해 최대한 자세히 적으려고 노력했으며 참고 사항이 될 만한 내용도 함께 기재했다.
팀원들 코드를 보면서 새로운 인사이트를 얻을 때도, 내가 아는 부분을 전달 할 때도 있었다. 다른 사람 코드를 읽는 것 자체로 많은 공부가 되는 것 같다.
내가 하는 작업이 바쁘긴 하지만 전체 팀의 진행사항도 필수적으로 알고 있었어야 했기에 하루 일과 시작 전 10분 제한으로 어제 한 일, 오늘 할 일, 궁금한 점 등에 대해 이야기를 나누는 데일리 스크럼을 진행했다. 또한 슬랙으로 실시간 소통을 했다.
처음부터 기획했기 때문일까 조율해야 하는 사항이 정말 정~~~말 많았다. 회의를 제안하고, 시간을 정하고 참여했다. 전체 파트가 참여할 때도, 두 파트만 진행할 때도 있었다.
흥미롭게 사용했던 것은 피그마였다. 미니프로젝트 때에 잠깐 만져본 적이 있지만 역시 전문가들이 하니 다르구나..! 질문 사항이 있다면 포스트잇을 붙여 질문하고 답변했다.
짧은 기간이었지만 일주일에 한 번 모든 파트가 함께 정기회고를 하며 한 주를 되돌아보기도 했다.
세 개 파트가 함께 진행됐던 만큼 문서화도 중요했는데, 진행했던 모든 회의, 결정은 노션에 문서화했다.
많이도 진행했던 회의
기획 하나하나에 이렇게 많은 생각이 들어가야 하는구나 느꼈던 기능명세서 작성.
코드와 더 많은 gif 는 여기에서 보실 수 있습니다. (아직 리드미 작성 중이라 곧 보실 수 있습니다.😅)
서버 관리 문제로 배포 사이트는 작동하지 않습니다..😂
react query
기존에는 데이터 페칭에는 로딩 상태 관리 및 페칭한 데이터 관리 등을 위해 여러 훅( useState useEffect )을 사용해야 하고, 데이터가 최신 여부를 보장할 수 없어 항상 갱신이 필요했으나, react-query를 사용하면 훨씬 간결하게 페칭이 가능하고 쉽게 관리 가능하다는 것을 들어보기만 했지 실제로 적용해 본 적은 없었는데 이번 프로젝트에서 사용해보면서 react-query 를 사용하여 로딩 상태, 에러 상태, 그리고 데이터 관리를 얼마나 쉽게 할 수 있는지 알게 됐다. 또한 useQuery 의 select 라는 옵션을 쓰면 데이터를 바로 필터링 할 수 있다는 것도 놀라웠다!
typescript
이전에 프로젝트 2개를 타입스크립트에서 진행했지만 이번처럼 타입 지정을 많이 하고 반환값에서 오류가 난 적이 없었다. 여러 에러를 마주하고 고치면서 타입스크립트와 조금 더 친해진 것 같다.
기획
모든 서비스에는 제대로 된 기획이 중요하다 생각이 들었다.
개발 시간이 절대적으로 짧았던 것이 정말 아쉽다. 이전에 진행했던 미니 프로젝트보다도 개발 기간이 짧았다.. 컴포넌트 분리, 코드리뷰, 분기처리에 시간을 더 들이지 못해 아쉬움이 남는다.
여태까지 내가 배웠던 것들을 많이 적용해보고 이만큼 성장했구나 느낄 수 있었다. 물론 부족함도 많이 느껴 더 열심히 해야겠단 동기부여가 됐다. 나의 부족한 점을 다른 팀원들이 채워주어 정말 감사하고, 이것이 협업하는 진정한 의미가 아닐까 생각해보게 됐다. 전 파트 모든 팀원들이 진심으로 임했기 때문에 힘들었지만 정말 좋은 프로젝트로 기억될 것 같다.
✨ 중요한 것은 꺾이지 않는 마음
4월 14일 금요일 진행했던 수료식에서 최우수 프로젝트, 최우수 회고를 수상하였다! 싹쓰리 조 이름처럼 수료식을 다 쓸어버리다..!
어떠한 집단에서 1등 을 한다는 것은 정말 어려운 일이라고 생각하는데, 부트 캠프 과정 마지막에 그 어려운 것을 하면서 끝마치다니 앞으로 다 잘 될 것 같은 기분이 마구마구 든다.😊
멋져요 효림님🙏