6년 이상 하나의 제품을 만들며, 제품이 성장하고 팀의 규모가 늘어남에 따라 엔지니어링적으로 어떤 챌린지를 받는지, 새로운 기술 기반을 선택하는 기준 등을 담은 글.

제품과 팀의 성장에 따른 엔지니어링적 챌린지들

  • 기존의 서버 상태 로직에 순차성이 보장되지 않는 것을 알았다면?
  • 데이터량이 급격하게 늘어나 대시보드 접속 속도나 렌더링이 느려진다면?
  • 백엔드와의 타임존 일치를 위해 Intl 모듈 없이 타임존을 구현해야 한다면?
  • 갑자기 일주일 안으로 다국어 환경을 구성해야 한다면?
  • 컴포넌트의 prop 네이밍이 제각기라 실수하는 비율이 늘어난다면?

새로운 기술 기반을 도입하려는 이유

  • PMF에서 GTM의 단계로 나아가기 위해서, 배포 속도는 유지하되 안정성은 높여야 함
  • 낡은 부분을 관리하는데 드는 비용을 줄이고 특정인에 집중된 컨택스트를 재분배해야함
  • 프론트엔드 생태계의 변화 및 발전으로 재작성 비용의 감소 (React Server Component, Framework Agnostic 등)