다음 묘지의 주인공은? — 지금 핫한 기술의 생존 확률
다음 묘지의 주인공은? — 지금 핫한 기술의 생존 확률
"지금 니가 '이거 안 쓰면 뒤처진다'고 생각하는 기술, 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가 죽으려면:
- JavaScript 자체에 타입 시스템이 도입됨 (TC39에서 논의 중이지만 아직 멂)
- WebAssembly가 프론트엔드를 지배함 (아직 아님)
- 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가 살아남으려면:
- 대기업의 채택이 필요함 (React의 Facebook처럼)
- 서드파티 라이브러리가 충분해야 함
- 커뮤니티가 임계질량을 넘어야 함
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)
개발자의 기술 투자 전략
// 기술을 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년 후에도 존재할까?' ║
║ ║
║ 그 질문에 답할 수 있으면 ║
║ 어떤 기술이 와도 살아남을 수 있음." ║
║ ║
║ — 프레임워크 묘지 관리인 ║
║ ║
╚════════════════════════════════════════════════════════════════╝