리액트 팀의 굳건한 믿음과 철학

882025년 11월 11일4

페이스북 기술 블로그에 글이 게시되었지만, 온라인 커뮤니티의 차가운 반응은 쉽게 바뀌지 않았다. 비판의 목소리는 여전했고, 리액트는 ‘페이스북의 갈라파고스 기술’이라는 조롱 섞인 꼬리표를 달게 되었다.

팀의 사기는 떨어질 대로 떨어졌다. 매일 아침 출근하면, 동료의 코드를 리뷰하는 대신 트위터와 해커 뉴스에 올라온 새로운 비판 글부터 확인하는 것이 일상이 되었다.

“이쯤 되면 우리가 정말 틀린 걸까요?”
신입 개발자 중 한 명이 힘없이 말했다. “이렇게 많은 똑똑한 개발자들이 모두 반대하는데, 우리만 옳다고 주장하는 건 너무 오만한 생각 아닐까요?”

그의 말은 팀 전체의 불안감을 대변하고 있었다. 외부의 끊임없는 부정은 가장 단단했던 믿음마저 흔들리게 만들었다.

그때, 톰이 팀원 전체를 회의실로 소집했다. 그의 표정은 그 어느 때보다 진지했다.

“모두 힘든 시간을 보내고 있다는 걸 압니다. 하지만 오늘, 우리는 외부의 목소리는 잠시 잊고, 우리가 왜 이 길을 선택했는지 처음부터 다시 이야기해 볼 필요가 있습니다.”

그는 화이트보드에 커다랗게 ‘WHY?’라고 적었다.

“우리가 왜 리액트를 만들었습니까? 단순히 새롭고 멋진 기술을 만들고 싶어서였나요? 아닙니다.”

그는 페이스북의 코드가 스파게티처럼 얽혀 아무도 손대지 못했던 시절을 상기시켰다. 알림 아이콘 버그 하나를 잡기 위해 며칠 밤을 새워야 했고, 그 버그를 잡으니 더 큰 시스템이 마비되었던 그 끔찍했던 날들을.

“우리는 복잡성 때문에 고통받았습니다. 예측 불가능한 버그와 싸우느라 정작 중요한 제품 개발에 집중하지 못했죠. 리액트는 그 고통을 끝내기 위해 태어났습니다. 우리의 목표는 단 하나, 예측 가능한 코드를 작성하는 것이었습니다.”

그는 리액트의 핵심 원칙들을 하나씩 짚어나갔다.

“우리가 왜 단방향 데이터 흐름을 고집했습니까? 데이터가 어디서 어떻게 변하는지 명확하게 추적하기 위해서였습니다. 더 이상 숨겨진 부작용에 시달리지 않기 위해서였죠.”

“우리가 왜 버추얼 DOM이라는 비효율적으로 보이는 방식을 택했습니까? 개발자가 DOM의 상태를 직접 관리하는 복잡함에서 벗어나, 오직 애플리케이션의 상태에만 집중하게 하기 위해서였습니다. ‘어떻게’가 아닌 ‘무엇을’에 집중하기 위해서였죠.”

“그리고, 우리가 왜 세상의 비난을 받으면서까지 JSX를 포기하지 않았습니까? UI의 구조와 로직이 하나의 컴포넌트 안에 캡슐화되어 있을 때, 코드가 가장 이해하기 쉽고, 유지보수하기 쉬우며, 재사용하기 쉽다고 굳게 믿었기 때문입니다.”

그의 목소리에는 힘이 실려 있었다. 그것은 팀원들의 잊혀가던 초심을 일깨우는 외침이었다.

“리액트의 모든 결정은 이 ‘예측 가능성’과 ‘단순함’이라는 단 하나의 목표를 향해 있습니다. 세상이 지금 당장 우리를 이해하지 못하는 것은 당연합니다. 그들은 우리가 겪었던 것과 같은 수준의 고통을 아직 겪어보지 못했을 수도 있습니다.”

톰은 팀원 한 명 한 명의 눈을 바라보며 말했다.
“외부의 평가에 흔들리지 마십시오. 우리의 철학을 믿으세요. 우리는 지금 올바른 길을 가고 있습니다. 언젠가 세상은 깨닫게 될 겁니다. 우리가 왜 이런 선택을 해야만 했는지를. 그날이 올 때까지, 우리는 묵묵히 우리의 길을 가면 됩니다.”

회의실을 나서는 팀원들의 발걸음은 더 이상 무겁지 않았다. 그들은 다시 한번 자신들의 사명을 깨달았다. 리액트는 단순한 라이브러리가 아니었다. 복잡성이라는 거대한 적에 맞서 싸우는 개발자들을 위한, 새로운 희망이자 무기였다.

세상의 비난은 계속될지라도, 리액트 팀의 믿음은 그 어느 때보다 굳건해졌다. 그들은 이제 외부의 소음에 귀를 닫고, 다시 코드에 집중하기 시작했다. 자신들의 철학이 틀리지 않았음을, 결국에는 코드로 증명해 보이기 위해서였다.