웹 개발은 왜 괴물이 되었나? “The Web is Weird”가 말하는 본질과 단순함의 미학

개발자가 자기가 말하고 싶은거라면서 공감해서 학습 해봤다 [LINK]

1. 우리가 마주한 기묘한 현실: “웹 개발이 너무 어렵다”

웹 개발자라면 누구나 가슴 한구석에 품고 있을 법한 고민에 대한 글을 읽고 “왜 갈수록 웹 개발이 복잡해지는가?”에 대한 내용으로 이야기를 해보려고 한다.
최근 IT 커뮤니티를 뜨겁게 달군 “The Web is Weird(웹은 이상하다)”라는 글은 우리가 당연하게 여겨온 현대 웹 개발의 관행에 생각 해볼만하다고 생각했다.

과거에는 메모장에 HTML 몇 줄 적고 새로고침만 하면 화면이 바뀌었다.
하지만 지금은 버튼 하나를 만들기 위해 수천 개의 라이브러리를 설치하고, 복잡한 빌드 설정을 거쳐야 하는 상황이다.
우리는 분명 더 나은 도구를 갖게 되었는데, 왜 개발은 더 고통스러워졌을까?

2. 태생적 한계: 문서 공유 시스템에서 앱 플랫폼으로의 무리한 진화

웹이 ‘이상해진’ 첫 번째 이유는 태생에 있다고 볼 수 있다.
원래 웹은 전 세계 과학자들이 논문을 공유하기 위한 ‘하이퍼텍스트 문서 시스템’이었다고 한다.
지금처럼 화려한 애니메이션이 돌아가고 실시간으로 데이터를 주고받는 ‘애플리케이션 플랫폼’이 아니었다.

우리는 단층 주택용으로 설계된 기초 공사 위에 억지로 고층 빌딩을 올리고 있는 셈이며, 부족한 기능을 메우기 위해 끊임없이 새로운 기술을 덧대다 보니, 웹은 거대한 누더기 같은 형태가 되었다.
여기에 “20년 전 코드도 돌아가야 한다”는 하위 호환성의 원칙이 더해지면서, 낡은 유산과 최신 기술이 기괴하게 공존하는 환경이 만들어졌다.

3. 추상화의 역설: 편리함이 가져온 거대한 기술 부채

개발자들은 이 복잡함을 해결하기 위해 ‘추상화(Abstraction)’라는 카드를 꺼냈다고 한다.
직접 바닥부터 만드는 대신 React, Vue, Next.js 같은 프레임워크라는 포장지를 씌운 것이였고, 덕분에 생산성을 얻었습니다. 하지만 이 포장지는 공짜가 아니었다….!

추상화 계층이 깊어질수록 우리는 내부에서 어떤 일이 벌어지는지 알 수 없게 되었고, 에러가 발생하면 내 로직의 문제인지, 라이브러리의 버그인지, 혹은 빌드 도구의 설정 오류인지 파악하는 데만 수 시간을 허비한다.
해결하려는 문제보다 그 문제를 해결하기 위해 도입한 ‘도구’를 배우는 데 더 많은 시간을 쓰는 아이러니한 상황에 놓이게 된 것이다.

4. 도구의 홍수: 배보다 배꼽이 더 커진 개발 현장

현대 웹 개발의 node_modules 폴더 용량은 때로 수백 메가바이트를 넘는다.
아주 간단한 랜딩 페이지를 만드는데도 수천 개의 작은 코드 조각들이 얽히고설켜 돌아가고, 그 중 단 하나만 버전이 맞지 않아도 전체 시스템이 멈춰버리곤 한다.

또한 지식의 유통기한은 짧아졌다. (특히, 요즘 AI시대는 어제와 오늘 더 좋은 환경이 휙휙 바뀌고 있다)
작년의 ‘표준’이 올해의 ‘구식’이 되는 빠른 변화 속에서 개발자들은 끊임없는 피로감을 느끼며, 우리가 도입한 이 수많은 도구들이 정말 사용자에게 획기적인 가치를 주는지, 아니면 단순히 개발자의 자기만족이나 유행을 따르기 위한 것인지 냉정하게 되돌아봐야 할 시점이다.

5. 본질의 실종: 개발자 경험(DX)과 사용자 경험(UX)의 충돌

“The Web is Weird”가 지적하는 가장 뼈아픈 지점은 우리가 ‘본질’을 잊고 있다는 것이다.
웹의 본질은 결국 ‘사용자에게 정보를 전달하는 것’이며, 사용자는 우리가 어떤 최신 기술을 썼는지 관심이 없었다. 페이지가 빨리 뜨는지, 내 기기에서 잘 작동하는지가 중요할 뿐이다.

하지만 우리는 개발자의 편의성(DX)을 위해 사용자에게 무거운 자바스크립트 파일을 떠넘기곤 한다.
고사양 맥북을 쓰는 개발자에게는 부드러운 사이트가, 저사양 폰을 쓰는 사용자에게는 장벽이 되는 상황에서 우리는 더 나은 웹을 만든다고 생각했지만, 실제로는 특정 환경에서만 잘 돌아가는 ‘이상한 웹’을 양산하고 있었을지도 모른다는 것이다.

6. 생존 전략: 다시 단순함(Simplicity)으로 회귀하기

그렇다면 우리는 어떻게 해야 할까?
> 답은 다시 기본으로 눈을 돌리는 것입니다.

  • 웹 표준 활용: 프레임워크 의존도를 낮추고 브라우저가 기본 제공하는 강력한 API들을 적극적으로 활용하기
  • 적정 엔지니어링: 100명이 사용하는 서비스에 구글 급 아키텍처는 필요 없습니다. 문제의 크기에 딱 맞는 도구를 선택하는 안목 필요
  • 뺄셈의 미학: 가장 완벽한 시스템은 더 이상 뺄 것이 없는 상태이며, 불필요한 코드를 줄이고 웹의 본질적인 강점을 회복해야 함

7. “이상한 웹”에서 길을 잃지 않는 법

웹은 분명 이상하고 복잡하다.
하지만 동시에 전 세계 누구에게나 열려 있는 가장 자유로운 플랫폼이기도 한다.
우리가 도구의 화려함에 현혹되지 않고 ‘문제를 해결하는 본질’에 집중한다면, 이 복잡한 생태계 속에서도 길을 잃지 않을 것이다.

여러분의 코드를 한 번 돌아보는 시간도 가질 필요가 있다.
너무 화려한 프레임워크를 내려놓고, 순수한 HTML과 CSS가 주는 명료함의 가치를 느끼며, ‘이상한 웹’에서 우리가 더 나은 서비스를 만드는 본질을 볼 차례지 않을까 싶다

댓글 남기기