컨퍼런스 리허설

902025년 11월 13일3

코드 동결이 선언된 오후, 앤드류 클라크와 로렌 탄은 메타 캠퍼스 내의 텅 빈 강당 무대 위에 서 있었다. 내일 React Conf에서 전 세계로 생중계될 기조연설의 최종 리허설을 위해서였다. 관객석은 텅 비어 있었지만, 두 사람의 얼굴에는 수만 명의 청중을 앞에 둔 듯한 진지함과 긴장감이 감돌았다.

“안녕하세요, 여러분. React Conf 2024에 오신 것을 환영합니다.”

앤드류가 준비된 첫인사를 건넸다. 그의 목소리가 텅 빈 강당을 울렸다.

리허설은 실제 발표와 똑같이 진행되었다. 프롬프터에는 대본이 흐르고 있었지만, 두 사람은 거의 보지 않았다. 모든 내용은 이미 머릿속에 완벽하게 각인되어 있었다.

가장 중요한 부분은 라이브 코딩 데모 시연이었다.

“자, 여기 복잡한 폼 컴포넌트가 있습니다.” 로렌이 화면에 기존 방식으로 작성된 코드를 띄웠다. “보시다시피, 수많은 useState와 긴 handleSubmit 함수로 가득 차 있죠. 이제 이걸 React 19의 서버 액션으로 바꿔보겠습니다.”

그녀의 손가락이 키보드 위를 날아다녔다. 수십 줄의 코드를 지우고, <form action={...}>useFormState를 사용하는 코드로 순식간에 바꿔나갔다. 이 과정은 수십 번의 연습 덕분에 한 치의 망설임도 없었다.

다음은 앤드류의 차례였다. 그는 동시성 렌더링의 힘을 보여주는 데모를 시연했다.

startTransition이 적용되지 않은 이 검색창을 보세요. 제가 타이핑을 시작하면…”

그가 빠르게 타이핑하자, 의도했던 대로 UI가 미세하게 버벅였다.

“이제, 단 한 줄의 코드, startTransition을 추가해보겠습니다.”

그가 코드를 수정하고 다시 타이핑하자, UI는 언제 그랬냐는 듯 완벽하게 부드러운 반응성을 보여주었다. 이 극적인 대비는 동시성의 가치를 그 어떤 말보다도 명확하게 증명했다.

리허설을 지켜보던 기술 지원팀은 데모의 모든 단계가 매끄러운지, 발표 내용이 오해의 소지를 낳지는 않는지 꼼꼼하게 체크하며 마지막 피드백을 전달했다.

“‘셰프의 비유’를 설명하실 때, 조금만 더 천천히 말씀해주시면 좋겠습니다. 동시성을 처음 접하는 사람들에게는 가장 중요한 부분입니다.”

“‘Before/After’ 데모에서, 코드의 차이점을 하이라이트하는 효과를 추가하면 청중의 이해를 더 도울 수 있을 것 같아요.”

앤드류와 로렌은 모든 피드백을 겸허히 수용하며, 발표의 완성도를 마지막 한 방울까지 끌어올렸다.

리허설의 마지막, 로렌은 클로징 멘트를 연습했다.

“React 19는 끝이 아닙니다. 이것은 React의 새로운 시작이자, 웹 개발의 다음 시대를 향한 우리의 약속입니다. 이 여정에 함께해주셔서 감사합니다.”

텅 빈 객석을 향한 그녀의 목소리에는, 지난 몇 년간의 노고와 미래에 대한 희망이 고스란히 담겨 있었다.

리허설이 모두 끝났을 때, 두 사람은 무대 뒤에서 조용히 서로를 바라보며 고개를 끄덕였다. 더 이상 할 수 있는 것은 없었다. 모든 준비는 끝났다. 이제 남은 것은, 내일 이 무대 위에서 자신들이 만든 모든 것을 세상에 펼쳐 보이는 일뿐이었다. 그들은 준비되었다.