경험 중심 1인칭 답변
React 기반 대시보드 애플리케이션을 팀 프로젝트로 설계하고 약 4개월간 운영했습니다. 가장 큰 도전은 컴포넌트가 늘어날수록 상태 관리가 복잡해지면서 예상치 못한 리렌더링이 빈번히 발생한 것이었습니다. 처음에는 props drilling으로 상태를 내려보냈는데, 컴포넌트 깊이가 4~5단계가 되면서 어디서 상태가 바뀌는지 추적하기 어려워졌습니다. Context API를 도입해 전역 상태를 분리했고, `useMemo`와 `React.memo`를 선택적으로 적용해 불필요한 렌더링을 줄였습니다. 이 과정에서 최적화를 처음부터 과하게 적용하면 코드가 복잡해지기만 하고 실제 성능 차이가 없는 경우도 있다는 것을 배웠습니다.
프로파일러로 측정 후 병목 구간에만 적용하는 방식으로 바꿨고, 그 이후 팀원들도 "왜 이게 여기 있지?"라는 혼란이 줄었습니다. 이 경험에서 성능 최적화는 측정 없이 하지 않는다는 원칙이 생겼습니다.