다음 묘지의 주인공은? — 지금 핫한 기술의 생존 확률

다음 묘지의 주인공은? — 지금 핫한 기술의 생존 확률

"지금 니가 '이거 안 쓰면 뒤처진다'고 생각하는 기술, 5년 후에는 이 묘지에 있을 수 있음."


여기까지 읽었으면 패턴이 보이기 시작했을 거임.

  • Flash: 독점 플랫폼 → 개방형 표준에 밀림
  • AngularJS: 후계자의 배신 → React에 자리 빼앗김
  • jQuery: 문제 해결 → 문제 자체가 사라짐
  • CoffeeScript: 미래 제시 → 미래가 직접 옴
  • Silverlight: 대체 전략 → 확장 전략에 밀림

이 패턴을 가지고 지금 핫한 기술들의 생존 확률을 예측해보겠음.

면책 조항

이 글은 2026년 3월 시점의 분석임. 기술 예측은 99% 틀림. 나머지 1%는 우연임. 이 글을 근거로 기술 선택을 하지 마셈. 근데 생각의 재료로는 쓸 수 있음.

기술의 수명 주기: Gartner Hype Cycle

모든 기술은 비슷한 곡선을 따름:

        ┌─── 과대 기대의 정점
        │    (Peak of Inflated Expectations)
        │
   기   │    /\
   대   │   /  \
   치   │  /    \       ┌─── 생산성 안정기
        │ /      \     /    (Plateau of Productivity)
        │/        \   /
        │          \_/  ← 환멸의 골짜기
        │               (Trough of Disillusionment)
        │
        └──────────────────────────── 시간

각 단계:
1. 기술 촉발 (Technology Trigger)
   "이런 게 나왔대!"

2. 과대 기대의 정점 (Peak of Inflated Expectations)
   "이거 안 쓰면 뒤처짐!" / "XX는 죽었다!"

3. 환멸의 골짜기 (Trough of Disillusionment)
   "아 생각보다 별로인데..." / "한계가 명확하네"

4. 깨달음의 오르막 (Slope of Enlightenment)
   "이런 상황에서는 확실히 좋구나"

5. 생산성 안정기 (Plateau of Productivity)
   "적절한 곳에 적절하게 쓰자"

대부분의 과대광고 기술이 3단계에서 죽음.
살아남는 건 4-5단계까지 가는 기술뿐임.

현재 핫한 기술들의 생존 분석

1. React — 왕좌를 지킬 수 있을까?

현재 위치: 생산성 안정기 (이미 성숙)
위협 요인: Server Components 복잡성, 번들 사이즈, 학습 곡선 증가

React의 강점:
+ 압도적 생태계 (npm 패키지의 70%가 React 호환)
+ Facebook의 실사용
+ 거대한 개발자 커뮤니티
+ React Native (모바일)
+ Next.js, Remix 등 메타프레임워크

React의 약점:
- Server Components가 너무 복잡해지고 있음
- "use client" / "use server" 멘탈 모델이 혼란스러움
- 훅의 규칙이 직관적이지 않음
- 번들 사이즈가 커지고 있음
- 새로운 패러다임(Signals)을 따라가지 못하고 있다는 비판
React의 생존 확률: 85%

React가 5년 안에 죽을 확률은 낮음. 근데 "왕좌"를 유지할 수 있을지는 불확실함.

AngularJS의 교훈: 프레임워크가 너무 복잡해지면 더 단순한 대안이 치고 올라옴. React가 Server Components로 복잡해지는 동안 Svelte, Solid 같은 단순한 대안이 성장하고 있음.

jQuery의 교훈: 절대 강자도 패러다임이 바뀌면 밀림. React의 Virtual DOM 패러다임이 Signals 패러다임에 밀릴 가능성이 있음.

하지만 생태계의 규모가 워낙 커서 쉽게 죽지는 않을 거임. jQuery처럼 "좀비 상태"로 오래 갈 수 있음.

2. Next.js — Vercel의 야심작

현재 위치: 과대 기대의 정점 ~ 환멸의 골짜기 진입 중
위협 요인: Vercel 종속, 복잡성 증가, 경쟁자 다수

Next.js의 강점:
+ React 풀스택 프레임워크의 표준
+ Vercel의 강력한 지원과 마케팅
+ App Router의 혁신적 기능들
+ 기업 생태계 (Fortune 500 다수 사용)

Next.js의 약점:
- Vercel에 대한 종속성 우려
- App Router의 학습 곡선
- 캐싱 전략이 너무 복잡함
- 빌드 시간이 길어짐
- 오픈소스지만 Vercel이 방향을 독점

위협하는 기술:
- Astro (콘텐츠 사이트에서 강력한 대안)
- Remix (React Router v7으로 합쳐짐)
- Nuxt (Vue 생태계)
- SvelteKit (Svelte 생태계)
Next.js의 생존 확률: 70%

Next.js는 Silverlight의 교훈을 상기시킴.

Silverlight 실패 원인: 특정 기업(MS)에 종속된 웹 기술 Next.js 우려 사항: 특정 기업(Vercel)에 종속된 React 메타프레임워크

Vercel이 수익화를 위해 Next.js를 Vercel 플랫폼에 유리하게 만드는 느낌이 점점 강해지고 있음. 커뮤니티의 "Vercel-first 개발"에 대한 불만이 쌓이고 있음.

Next.js 자체가 죽지는 않겠지만, "React = Next.js"라는 공식이 깨질 수 있음.

3. TypeScript — 안전 지대?

현재 위치: 생산성 안정기 (가장 안전)
위협 요인: 거의 없음 (현재로서는)

TypeScript의 강점:
+ JavaScript의 상위 집합 (마이그레이션 비용 최소)
+ 모든 프레임워크가 TypeScript 지원
+ IDE 지원 최강 (VS Code + TSServer)
+ 점진적 도입 가능
+ Microsoft 지원 (근데 오픈소스)

TypeScript의 약점:
- 빌드 단계 필요 (근데 점점 해결되고 있음)
- 타입 시스템이 점점 복잡해짐
- 런타임 타입 검사 미지원
- JSDoc 주석으로 타입 대체 가능하다는 주장
TypeScript의 생존 확률: 95%

TypeScript는 현재 가장 안전한 기술 투자임.

CoffeeScript의 교훈을 완벽하게 피함:

  • CoffeeScript: "JavaScript를 대체한다" → ES6가 와서 죽음
  • TypeScript: "JavaScript를 확장한다" → JavaScript가 발전해도 여전히 유용

TypeScript가 죽으려면:

  1. JavaScript 자체에 타입 시스템이 도입됨 (TC39에서 논의 중이지만 아직 멂)
  2. WebAssembly가 프론트엔드를 지배함 (아직 아님)
  3. AI가 코드를 대신 써줘서 타입이 필요 없어짐 (아직 아님)

현재로서는 "TypeScript가 죽을 시나리오"를 상상하기 어려움.

4. Tailwind CSS — 유틸리티 CSS의 미래

현재 위치: 생산성 안정기 진입
위협 요인: CSS 자체의 발전, 반대파의 비판

Tailwind의 강점:
+ 일관된 디자인 시스템 강제
+ HTML에서 바로 스타일링 (컨텍스트 스위칭 없음)
+ 퍼지(purge)로 작은 번들 사이즈
+ 커스터마이징이 쉬움
+ v4에서 Rust 기반 엔진으로 성능 개선

Tailwind의 약점:
- HTML이 클래스명으로 도배됨 (가독성 논란)
- CSS 지식이 결국 필요함
- 복잡한 인터랙션에는 한계
- CSS-in-JS, CSS Modules와의 철학 충돌
Tailwind의 생존 확률: 80%

Tailwind의 위치는 jQuery와 비슷함.

jQuery가 "브라우저 호환성"이라는 문제를 해결했듯이 Tailwind는 "CSS 작명"이라는 문제를 해결함.

근데 CSS 자체가 점점 좋아지고 있음:

  • CSS Nesting (네이티브)
  • @scope
  • :has() 선택자
  • Container Queries
  • CSS Layers (@layer)

CSS가 충분히 발전하면 Tailwind의 가치가 줄어들 수 있음. 하지만 jQuery가 그랬듯이 "좀비 상태"로 오래 갈 가능성이 높음.

5. Svelte/SvelteKit — 컴파일러의 미래

현재 위치: 깨달음의 오르막
위협 요인: 생태계 규모, 기업 채택 부족

Svelte의 강점:
+ 런타임 없음 (컴파일 시 최적화)
+ 반응형이 기본 (Runes with Svelte 5)
+ 번들 사이즈 최소
+ 학습 곡선이 낮음
+ 개발자 만족도 최상위

Svelte의 약점:
- 생태계 규모가 React의 1/20
- 대기업 채택 사례 부족
- 핵심 개발자 수가 적음 (Rich Harris + 소수)
- Vercel에서 일하는 Rich Harris (Vercel 종속 우려)
- TypeScript 지원이 React만큼 성숙하지 않음
Svelte의 생존 확률: 65%

Svelte는 기술적으로 뛰어나지만 생태계가 과제임.

Flash/ActionScript의 교훈: 좋은 기술이라고 살아남는 게 아님. AS3가 JS보다 좋았어도 생태계가 JS를 선택했음.

Svelte가 살아남으려면:

  1. 대기업의 채택이 필요함 (React의 Facebook처럼)
  2. 서드파티 라이브러리가 충분해야 함
  3. 커뮤니티가 임계질량을 넘어야 함

Svelte 5의 Runes가 성공하면 기회가 있음. 근데 React의 관성은 정말 거대함.

6. Rust (for Web) — WASM의 미래

현재 위치: 과대 기대의 정점
위협 요인: 학습 곡선, 웹 개발에서의 실용성

Rust in Web의 현재:
- SWC (Rust 기반 JS 컴파일러) → Next.js에서 사용
- Turbopack (Rust 기반 번들러) → Vercel 개발
- Rspack (Rust 기반 Webpack 호환 번들러)
- Lightning CSS (Rust 기반 CSS 파서)
- Biome (Rust 기반 린터/포매터)
- Oxc (Rust 기반 JS 툴체인)

Rust가 웹 개발 도구를 장악하고 있음.
근데 이건 "개발 도구"지 "앱 코드"는 아님.
Rust의 웹 도구 생존 확률: 90%

Rust가 웹 도구에서 사라질 확률은 매우 낮음. 성능이 JavaScript 기반 도구보다 10-100배 빠르니까.

근데 Rust로 웹 앱을 만드는 건 (Yew, Leptos 등) 다른 얘기임. 이건 Silverlight의 교훈과 같음: "웹 개발자에게 새 언어를 배우라고 하면 안 됨"

Blazor(C#)도 마찬가지로, 기존 .NET 개발자에게는 좋지만 웹 개발자를 끌어오지는 못하고 있음.

Rust for 웹 도구: 확실한 미래 Rust for 웹 앱: 불확실 (니치 시장)

7. AI 코딩 도구 — 개발자를 대체할까?

현재 위치: 과대 기대의 정점 (2024-2025)
위협 요인: 정확도, 보안, 저작권

AI 코딩 도구 현황:
- GitHub Copilot — 코드 자동 완성
- Claude Code — AI 에이전트 코딩
- Cursor — AI 네이티브 IDE
- Windsurf — AI 코딩 어시스턴트
- v0 — UI 코드 생성
- bolt.new — 풀스택 앱 생성

AI가 잘하는 것:
+ 보일러플레이트 코드 생성
+ 패턴 매칭 기반 코드 제안
+ 문서 기반 코드 작성
+ 테스트 코드 생성
+ 리팩토링 제안

AI가 못하는 것 (아직):
- 복잡한 아키텍처 설계
- 비즈니스 로직의 미묘한 엣지 케이스
- 대규모 코드베이스의 전체 맥락 이해
- 성능 최적화의 미묘한 트레이드오프
- 보안 취약점의 완전한 방지
AI 코딩 도구의 생존 확률: 99% (도구 자체), ??? (개발자 대체)

AI 코딩 도구는 확실히 살아남음. 질문은 "얼마나 많은 걸 대체할 것인가"임.

현실적 시나리오 (2026-2030):

  • 주니어 개발자의 일 상당 부분을 AI가 대체
  • 시니어 개발자는 AI를 도구로 사용하며 생산성 2-5배 향상
  • "코딩"보다 "문제 정의"와 "아키텍처 설계"가 더 중요해짐
  • 개발자 총 수는 줄지 않지만, 한 명이 더 많은 일을 함

이건 묘지의 문제가 아니라 진화의 문제임. Excel이 회계사를 없애지 않은 것처럼 AI가 개발자를 없애지는 않을 거임. 근데 "AI를 못 쓰는 개발자"는 밀릴 수 있음.

살아남는 기술의 공통점

묘지에 묻힌 기술과 살아남은 기술을 비교하면 패턴이 보임:

═══════════════════════════════════════════
살아남는 기술의 5가지 특성
═══════════════════════════════════════════

1. 개방성 (Openness)
   죽은 것: Flash (독점), Silverlight (독점), ActiveX (독점)
   산 것: HTML/CSS/JS (표준), React (오픈소스), TypeScript (오픈소스)
   교훈: 한 회사에 종속된 기술은 그 회사 결정에 운명이 달림

2. 점진적 도입 (Incremental Adoption)
   죽은 것: AngularJS→Angular (전면 재작성), CoffeeScript (전체 전환)
   산 것: TypeScript (점진적 도입), React (부분 적용 가능)
   교훈: "전부 아니면 전무" 기술은 도입 장벽이 높아 확산이 느림

3. 문제 해결의 지속성 (Problem Persistence)
   죽은 것: jQuery (IE 호환성 문제가 사라짐), CoffeeScript (JS가 개선됨)
   산 것: Git (버전 관리는 영원), SQL (데이터 쿼리는 영원)
   교훈: 해결하는 문제가 사라지면 도구도 사라짐

4. 생태계 규모 (Ecosystem Size)
   죽은 것: Windows Phone (앱 부족), Backbone (대안 대비 생태계 작음)
   산 것: React (npm 생태계), Java (기업 생태계)
   교훈: 기술의 가치 = 기술 자체 + 생태계

5. 적응 능력 (Adaptability)
   죽은 것: Flash (모바일 못 따라감), IE (표준 못 따라감)
   산 것: MS (오픈소스로 전환), React (클래스→훅→서버 컴포넌트)
   교훈: 변화하지 않는 기술은 죽음

기술 선택의 현명한 기준

기술 선택 프레임워크

새 기술을 평가할 때 물어볼 5가지 질문:

1. 이 기술이 해결하는 문제가 5년 후에도 존재할까?

  • TypeScript의 "타입 안전성" → 5년 후에도 필요 (O)
  • jQuery의 "IE 호환성" → IE가 죽으면 불필요 (X)

2. 이 기술이 특정 기업에 종속되어 있나?

  • React: Facebook이 포기해도 커뮤니티가 유지 가능 (비교적 안전)
  • Next.js: Vercel이 포기하면? (약간 불안)
  • Flutter: Google이 포기하면? (Google의 킬 이력 생각하면...)

3. 점진적으로 도입할 수 있나?

  • TypeScript: JS 파일에 하나씩 적용 가능 (O)
  • Svelte: 기존 React 프로젝트에 부분 적용 불가 (X)

4. 생태계가 충분한가?

  • React: 수만 개의 서드파티 라이브러리 (O)
  • Solid.js: 아직 부족 (성장 중)

5. 배운 개념이 다른 기술에서도 통용되나?

  • React의 "컴포넌트 사고" → Vue, Angular, Svelte에서도 통용 (O)
  • Angular의 "RxJS" → 다른 프레임워크에서는 잘 안 씀 (약간 X)

개발자의 기술 투자 전략

typescript
// 기술을 3개 계층으로 나눠서 투자

interface TechPortfolio {
    // 핵심 (70%) — 절대 안 죽는 기본기
    core: [
        'JavaScript/TypeScript 깊은 이해',
        'HTML/CSS 기본기',
        'HTTP, REST, 네트워크 기초',
        'Git, CLI, 개발 도구',
        '자료구조, 알고리즘, 디자인 패턴',
        'SQL, 데이터베이스 기초',
        '테스트 작성 능력',
    ];

    // 전문 (20%) — 현재 수요가 높은 기술
    specialty: [
        'React/Next.js (현재 시장 지배)',
        'Node.js / Bun',
        'PostgreSQL / Redis',
        'Docker / Kubernetes',
        'AWS / Azure / GCP',
        'CI/CD 파이프라인',
    ];

    // 탐색 (10%) — 미래를 위한 투자
    exploration: [
        'Rust (시스템 프로그래밍)',
        'AI/ML 기초 (LLM 활용)',
        'WebAssembly',
        'Signals 패러다임 (Solid, Svelte 5)',
        '새로 뜨는 도구들 (Bun, Deno, Vite)',
    ];
}

// 핵심을 탄탄히 하면:
// - 프레임워크가 바뀌어도 금방 적응 (React → 다음 것)
// - 도구가 사라져도 개념은 남음 (jQuery → 네이티브 API)
// - 기술 면접에서도 유리 (기본기를 묻는 회사가 좋은 회사)

역사가 반복되는 신호들

현재 프론트엔드에서 보이는 경고 신호:

⚠️ 복잡성의 증가
   - Next.js App Router의 캐싱 전략
   - React Server Components의 멘탈 모델
   - "이거 왜 이렇게 복잡한데?" ← AngularJS 말기와 같은 증상

⚠️ 빌드 도구의 폭발
   - Webpack → Vite → Turbopack → Rspack
   - 1-2년마다 "이제 이걸로 바꿔야 함" ← 프레임워크 피로

⚠️ "풀스택 JavaScript"의 과도한 확장
   - 프론트, 백엔드, 인프라, 모바일, 데스크톱 전부 JS/TS
   - "하나의 언어로 모든 것" ← Ballmer의 "Windows Everywhere"와 비슷

⚠️ 특정 기업에 대한 의존
   - Next.js → Vercel
   - Bun → Oven
   - Deno → Deno Land
   - 한 회사의 결정에 생태계가 좌우되는 구조
5년 후 예측 (틀릴 확률 90%)

2030년에 이 글을 다시 보면 아마 이렇게 될 거임:

확실히 살아있을 것:

  • JavaScript/TypeScript (웹의 기본)
  • HTML/CSS (웹의 기반)
  • React (좀비라도 살아있을 것)
  • Git (대안 없음)
  • SQL (60년간 살아남음)

아마 살아있을 것:

  • Next.js (시장 1위를 유지하지 않더라도)
  • Tailwind CSS (관성 + WordPress 같은 확산)
  • Docker (컨테이너는 안 죽음)

불확실:

  • 특정 상태 관리 라이브러리 (Redux, Zustand, Jotai...)
  • 특정 CSS-in-JS 솔루션
  • 특정 테스트 프레임워크 (Jest vs Vitest)

새로 뜰 것:

  • AI 네이티브 개발 도구
  • WebAssembly 기반 뭔가
  • 아직 이름도 모르는 프레임워크

역사의 교훈: 예측할 수 없는 것에 대비하는 건 기본기를 탄탄히 하는 것뿐임.

마지막 교훈: 기술 개발자로 살아남기

이 시리즈를 통해 배운 가장 중요한 것:

프레임워크 묘지의 교훈 6가지

1. 프레임워크는 죽어도 개념은 살아남음 Flash의 애니메이션 → CSS/Web Animations API AngularJS의 양방향 바인딩 → Vue의 v-model jQuery의 선택자 → querySelectorAll CoffeeScript의 문법 → ES6 Silverlight의 타입 시스템 → TypeScript

개념을 배워라. 도구는 바뀐다.

2. 모든 "절대 강자"는 교체됨 1998: IE가 영원할 것 같았음 2008: jQuery가 영원할 것 같았음 2013: AngularJS가 영원할 것 같았음 2018: React가 영원할 것 같음 ← 지금 여기 2028: ???

3. 실패에서 더 많이 배움 MS는 Silverlight/Windows Phone의 실패에서 TypeScript, VS Code, Azure라는 승리를 만들어냄. 개인도 마찬가지임. 망한 기술을 써본 경험이 다음 기술을 평가하는 안목을 키워줌.

4. 웹 표준은 항상 이김 독점 플러그인 (Flash, Silverlight, ActiveX) → 전부 죽음 웹 표준 (HTML, CSS, JS) → 30년째 살아있음 표준을 무시하는 기술은 결국 표준에 밀림.

5. 개발자의 가치는 도구가 아니라 문제 해결 능력에 있음 "React 개발자"는 React가 죽으면 위험함. "프론트엔드 엔지니어"는 어떤 도구든 적응할 수 있음. "소프트웨어 엔지니어"는 어떤 분야든 갈 수 있음.

자신을 도구로 정의하지 마라. 능력으로 정의하라.

6. 겸손하게 배우고, 유연하게 적응하라 지금 쓰는 기술이 영원하지 않다는 걸 받아들이면 새 기술을 배우는 게 두렵지 않아짐. 그리고 그 자세가 10년, 20년, 30년 커리어를 만들어줌.

시리즈를 마치며

프레임워크 묘지를 한 바퀴 돌았음.

Flash, AngularJS, jQuery, CoffeeScript, Backbone, Silverlight, Windows Phone... 이 기술들이 남긴 교훈은 하나로 모아짐:

기술은 도구일 뿐이고, 중요한 건 문제를 해결하는 능력이다.

지금 React가 죽어도, TypeScript가 사라져도, Next.js가 망해도, 문제를 이해하고 해결할 수 있는 사람은 살아남음.

그러니까 프레임워크 하나에 올인하지 말고, 기본기를 탄탄히 하면서 변화에 유연하게 대응하셈.

그래야 5년 후에 "아 그때 XX 배워놓길 잘했다"가 아니라 "뭐가 와도 적응할 수 있다"는 자신감이 생김.

╔════════════════════════════════════════════════════════════════╗
║                                                                ║
║                   프레임워크 묘지 출구                         ║
║                                                                ║
║    "여기서 본 것들을 기억하셈.                                 ║
║     니가 지금 쓰는 기술도 언젠간 여기 올 수 있음.             ║
║     근데 괜찮음.                                               ║
║     기술이 죽어도 니가 배운 건 살아남으니까.                   ║
║                                                                ║
║     다음에 새 기술이 나오면 이렇게 물어보셈:                  ║
║     '이게 해결하는 문제가 5년 후에도 존재할까?'               ║
║                                                                ║
║     그 질문에 답할 수 있으면                                   ║
║     어떤 기술이 와도 살아남을 수 있음."                        ║
║                                                                ║
║    — 프레임워크 묘지 관리인                                    ║
║                                                                ║
╚════════════════════════════════════════════════════════════════╝