소프트웨어 1.0 → 2.0 → 3.0 진화 — 타이핑 시대의 종말
별칭: Software 3.0 · Karpathy 진화 · 코딩 민주화
요약
entity/karpathy 의 3단계 진화론으로 강의를 연다 — 1.0 명시 코드 → 2.0 신경망/데이터셋 → 3.0 자연어 프롬프트. 핵심 메시지: 개발자의 레버리지가 타이핑 속도에서 컨텍스트 윈도우 통제 능력으로 이동했다. 일차 산출물도 소스 코드 → 명세서·테스트로 옮겨갔다.
상세
| 세대 | 인간의 역할 | 기계의 역할 |
|---|---|---|
| 1.0 명시 프로그래밍 | 모든 규칙·예외를 코드에 하드코딩 | 규칙 실행 |
| 2.0 신경망/딥러닝 | 데이터셋 큐레이션 + 신경망 훈련 | 패턴 학습 |
| 3.0 concept/vibe-coding | 목표·제약을 자연어로 정의 | 코드·시스템 구현 |
일차 산출물의 이동: 1.0~2.0 = 소스 코드 → 3.0 = 명세(Spec) + 테스트. AI가 코드를 짜면 인간은 무엇을 만들지(Spec) 와 잘 만들어졌는지(Test) 에 집중한다.
민주화 효과: 자연어가 보편 인터페이스가 되면서 저널리스트(데이터 시각화), 생물학자(분석 파이프라인), 프롭테크 전문가(허가 자동화), 교육자(맞춤 도구)가 직접 소프트웨어를 만든다. 이는 진입 장벽이 사라졌다는 뜻이지, 설계 부담이 사라졌다는 뜻이 아니다.
방법론
강의 진행 시퀀스 (10분):
- ★ Hook — 개인화된 긴급감 (90초): 슬라이드 "채용 공고 2020 vs 2026"
- 2020: "C++/Java 5년 경력, 알고리즘 능숙"
- 2026: "AI 협업 설계 능력, 요구사항 정의 경험, 에이전트 오케스트레이션"
- 구체적 통증: "여러분이 매일 쓰는 Cursor·Copilot — 그 자동완성을 그냥 받아들이면 어떻게 되는지 본 사람?"
- 청중 손 들기 → AI slop 1 컷 (괄호 깨진 코드 / 누락 import / 무한 루프) → "이게 오늘 여러분의 과제 입니다"
- 메시지: "이 강의는 AI 시대 일반론 이 아닙니다. 졸업 직전 여러분의 이력서가 지금 어떻게 변하고 있는지 의 강의입니다."
- 질문 던지기 (30초): "여러분이 배운 C++/Java 한 줄씩 타이핑 — 앞으로도 핵심 역량인가?"
- 3단계 표 제시 (3분): 표를 띄우고 각 세대의 인간/기계 역할 대비.
- 민주화 사례 4개 (2분): 비개발자가 소프트웨어를 만드는 4가지 영역.
- Elisa 프로젝트 사례 (2분30초): 1명·1주일·39,000줄·1,500 테스트·76 커밋. 인간이 한 일은 아키텍처 + 명세, AI가 한 일은 타이핑.
- 메시지 통일 (30초): "1.0 = 메모리, 2.0 = 데이터, 3.0 = AI 폭주 — 어느 시대든 설계 없이는 코딩이 안된다."
주의사항
- 표를 너무 단순화하면 1.0/2.0이 사라진 것처럼 들린다. 강조: 3.0은 1.0/2.0을 대체하는 게 아니라 그 위에 쌓인 층.
- 민주화를 "누구나 쉽게"로만 해석하면 위험하다. concept/vibe-coding 의 실패 사례(70%만 작동하는 코드, 디버깅 불능)를 02 단원에서 즉시 보여줘 균형을 잡는다.
- Elisa 39,000줄은 인상적이지만 아키텍처 설계가 선행됐다는 점 을 반드시 함께 말해야 한다. 그렇지 않으면 "AI가 다 했다"는 잘못된 인상을 준다.