사용자 경험(UX)이라는 최종 목표

322025년 09월 16일3

회의실 화이트보드에는 이제 복잡한 코드 조각 대신, 여러 기술들이 거미줄처럼 연결된 다이어그램이 그려져 있었다. ‘서버 컴포넌트’, ‘Suspense’, ‘동시성’, ‘Transition’. 각 꼭짓점에 위치한 이 개념들은 서로에게 화살표를 주고받으며 복잡한 관계망을 형성하고 있었다.

팀원들은 자신들이 만들어낸 결과물에 잠시 감탄했다. 각 기능은 그 자체로도 웹 개발의 특정 문제를 해결하는 강력한 도구였다.

하지만 그 순간, 로렌 탄이 조용한 질문을 던졌다.

“그래서, 이 모든 것의 최종 목적지는 어디일까요? 우리가 이 모든 기술을 통해 궁극적으로 사용자에게 제공하려는 단 하나의 가치는 무엇이죠?”

그녀의 질문에 모두의 시선이 화이트보드로 향했다. 그들은 잠시 각 기능의 효용성을 다시 떠올렸다.

  • 서버 컴포넌트: 클라이언트의 자바스크립트 부담을 줄여 초기 로딩을 빠르게 한다.
  • Suspense와 스트리밍: 데이터 로딩 중에도 빈 화면 대신 의미 있는 콘텐츠를 먼저 보여준다.
  • 동시성과 Transition: 무거운 렌더링 중에도 사용자의 입력에 즉각적으로 반응하여 버벅임을 없앤다.

처음에는 각기 다른 문제에 대한 해결책처럼 보였던 기술들. 하지만 로렌의 질문을 통해 그 조각들을 다시 바라보자, 모든 화살표가 단 하나의 중심점을 향하고 있다는 사실이 명확해졌다.

그 중심점은 바로 ‘사용자 경험(UX)’이었다.

그 순간, 회의실의 모두가 깨달았다. 그들이 만들고 있는 것은 개별적인 기능의 집합이 아니었다. 그것은 ‘끊김 없는 최상의 사용자 경험’이라는 단 하나의 목표를 향해 정교하게 맞물려 돌아가는 하나의 거대한 시스템이었다.

서버 컴포넌트가 초기 로딩을 빠르게 하는 것은, 사용자의 기다림을 1초라도 줄여주기 위한 것이었다. 데이터를 아껴주기 위한 배려이기도 했다.
Suspense가 로딩 스켈레톤을 보여주는 것은, 사용자가 ‘앱이 죽었다’고 느끼는 대신 ‘무언가 진행되고 있다’고 느끼게 만들어, 인지적인 기다림의 시간을 줄여주기 위한 심리적 장치였다.
Transition이 타이핑을 부드럽게 만드는 것은, 사용자의 의도가 시스템에 의해 무시당하는 최악의 경험을 원천적으로 차단하기 위한 것이었다.

모든 기술적 결정의 배경에는 ‘사용자는 어떻게 느낄 것인가?’라는 질문이 있었다.

“우리의 목표는 단순히 프레임워크의 성능을 높이는 것이 아니었어.” 앤드류 클라크가 조용히 결론 내렸다. “우리의 진짜 목표는, 개발자가 사용자의 시간을 존중하고, 사용자의 상호작용 흐름을 결코 방해하지 않는 애플리케이션을 만들도록 돕는 것이었어. React가 그 복잡성을 모두 책임지는 거지.”

이 깨달음은 팀의 방향성을 더욱 선명하게 만들었다. 그들은 더 이상 개별 기능을 따로 설명하지 않았다. 대신, 사용자의 여정을 그리고, 그 여정의 각 단계에서 마주치는 불편함(Pain Point)을 React 19의 기능들이 어떻게 유기적으로 협력하여 해결하는지를 이야기하기 시작했다.

서버 컴포넌트, 동시성, Suspense, Transition. 이 모든 것은 ‘UX’라는 최종 목표를 위한 수단일 뿐이었다. React 19는 기술의 전시장이 아니었다. 그것은 사용자 중심 설계(User-Centered Design)라는 철학이 코드 레벨에서 구현된, 새로운 시대의 선언문이었다. 팀의 사기는 그 어느 때보다 높았다. 그들은 이제 자신들이 만들어가는 것의 진정한 가치를 확신하게 되었다.