부스트캠프 그룹 프로젝트를 시작한 지 2주차가 지나가고 있습니다. 이번 기수는 특별히 주제를 기준으로 랜덤으로 팀이 구성되었습니다. 네이버 부스트캠프에서 추구하는 방향성이 웹 풀스택 개발자 양성이지만, 각자의 선호도와 희망 진로는 다를 수 있다는 점을 고려하며 프로젝트를 진행하고 있습니다. 이러한 상황에서 저는 팀의 유일한 프론트엔드 지망생으로 참여하게 되었습니다.
프로젝트를 준비하고 진행하면서 '어떤 방향으로 나아가야 더 큰 성장을 이룰 수 있을까'라는 고민을 계속했습니다. 단순한 기술적 도전을 넘어서, 다양한 측면에서의 성장을 고려하다 보니 기술 스택과 도구 선정에 특별히 많은 시간을 투자했습니다.
이번 프로젝트의 기술 스택과 개발 방향을 결정하는 데 있어 두 가지 상황을 중점적으로 고려했습니다. 첫 번째는 실제 회사 환경에서의 적용 가능성입니다. 이는 올해 상반기 인턴 경험에서 비롯된 것인데, 당시 사수 없이 혼자 개발을 진행하면서 이전 개발자들이 남긴 문서의 중요성을 절실히 느꼈습니다. 서비스 운영 기간에 비해 개발 문서가 부족하거나 주요 내용이 생략된 경우가 많았고, 이는 실무에서 겪을 수 있는 어려움을 미리 체험하는 계기가 되었습니다. 향후 제가 소속될 회사에서도 개발 인력이 충분한 팀에 합류할 수도 있고, 인턴 때처럼 혼자 프로젝트를 이끌어가야 할 수도 있습니다.
두 번째로 고려한 것은 백엔드 개발자분들과의 페어 프로그래밍 상황입니다. 팀원 중 두 분이 프론트엔드 개발에도 관심이 있으시지만 리액트 경험이 없으신 상태입니다. 이분들과 함께 리액트 개발 과정을 이해하고 컴포넌트 설계 시 고려사항을 공유하며 함께 배워나가는 과정이 되어야 하기에, 코드의 가독성과 유지보수성, 그리고 효율적인 협업을 위한 도구 선정이 더욱 중요해졌습니다.
앞서 언급한 상황들을 고려하며 기획 회의를 진행하고 본격적으로 개발에 돌입하게 되면서 어느 정도 선택을 진행한 상황입니다. 저희는 현재 react + vite + typescript
환경에서 개발을 진행하고 거기에 스토리북, tsdoc(typedoc)을 적용하고 있습니다.
이런 기술 스택과 도구를 고려 하면서 왜 선택했는 지를 확실하게 정리하고 넘어가려고 합니다. 부스트캠프 마스터 클래스 시간에도 한 멘토님이 얘기 해주셨지만 “사용하는 도구에 대해서 사용 하는 이유, 선택한 이유를 확실하게 가져 가면 좋겠다” 라는 점을 해당 글을 통해 녹여 보려고 합니다.
Vite는 현대적인 웹 프로젝트를 위한 빌드 도구로, 빠른 개발 서버와 최적화된 빌드 과정을 제공합니다. 기존에 React의 경우 CRA라는 도구를 많이 사용했지만, Vite는 더 빠르고 효율적인 개발 환경을 제공합니다. Vite의 장점 중 하나는 빠른 서버 시작 시간인데, 이는 대규모 프로젝트에서 특히 유용합니다. 또한, Vite는 최신 웹 표준을 지원하며 다양한 프레임워크와 호환되어 유연성을 제공합니다.
.
이런 특징 들을 고려하는 동시에 React에서도 공식적으로 vite는 빌드 도구를 선택했다는 점을 참고해서 vite를 사용하려고 합니다. React에서도 vite를 선택한 이유는 아무래도 CRA에 비해서 빠른 개발 서버 시작과 모듈 단위의 HMR을 지원하기 때문일 것입니다. 이러한 특징들은 개발 생산성을 크게 향상시키며, 특히 우리 팀과 같이 다양한 백그라운드를 가진 개발자들이 협업하는 환경에서 매우 유용합니다. 또한, Vite의 간단한 설정과 직관적인 사용법은 프론트엔드 개발에 익숙하지 않은 팀원들도 쉽게 적응할 수 있게 해줍니다