이번 AI 혁신의 물결을 보면, 코딩의 많은 부분이 본질적 복잡성이 아니라 우연적 복잡성임을 깨닫게 됨
인간에게 개념적인 작업이 AI에게는 절차적인 작업으로 바뀌는 현상임
예를 들어, 예전에는 Java의 public static void main(String[] args)를 쓰기 위해 여러 개념을 배워야 했지만, AI에게는 “클래스의 진입 메서드를 작성하라”는 프롬프트만 주면 거의 확정적으로 그 코드를 생성함
인간에게 어려운 절차적 작업이 AI에게는 쉬운 반면, 사회는 이런 절차적 노동을 중심으로 구조화되어 있어서 혁신이 확산되면 누군가는 상승하고 누군가는 고통받게 됨
올바른 질문을 던지는 데 필요한 경험과 전문성을 과소평가하고 있다고 생각함
“No-code가 개발자를 대체한다”는 주장은 매번 반복되지만, 실제로는 개발자 일자리를 더 많이 만들어왔음
COBOL, VB, Squarespace, 그리고 이제 AI까지 — 도구가 진입 장벽을 낮추면 더 많은 사람이 무언가를 만들려 하고, 결국 한계에 부딪히면 진짜 개발자가 필요해짐
단순 반복 작업은 사라지지만, 무엇을 만들지 정의하고 디버깅하는 일은 여전히 남음
나도 그 확장이 계속되길 바라지만, 결국 새로운 수요가 생기느냐에 달려 있음
AI가 복잡한 프로젝트를 스스로 코딩할 수 있다면, 인간이 세부사항에 신경 쓰지 않아도 되므로 개발자 수요가 줄 수 있음
과거에는 인터넷, 클라우드, 모바일, 머신러닝 같은 대규모 트렌드가 있었지만, 앞으로도 그런 ‘큰 문제’ 가 계속 생길지는 확신이 없음
이건 Jevons Paradox의 고전적 사례임 — 무언가가 싸지면 시장이 오히려 커짐
물론 이번에는 다를 수도 있음. AI가 진짜 약속한 대로 된다면, 개발자 수가 줄 가능성도 있음
농기계가 농부를 더 효율적으로 만들었지만, 지금은 오히려 더 많은 농부가 존재함
“개발자 수가 줄지 않는다”는 주장은 너무 단정적임. AI가 디버깅과 요구 해석까지 할 수 있게 되면 상황이 달라질 수 있음
지난 20년간 시스템 관리 분야에서도 같은 패턴을 봐왔음
“더 높은 추상화가 전문가의 일을 민주화한다”는 약속은 반복되지만, 실제로는 비용이 큰 재발명이 일어남
Kubernetes 같은 도구는 복잡성을 감췄다고 하지만, 결국 개발자들이 기본 개념을 모른 채 같은 문제를 더 비싼 방식으로 다시 배우고 있음
Excel이 대표적 예시임 — 끔찍한 오류를 양산했지만, 접근성 덕분에 성공했음
결국 우리는 “Excel의 접근성과 엔지니어링의 신뢰성”을 동시에 원하지만, 둘 다 가질 수 없음
그렇다면 비결정적 소프트웨어를 쓸 때 보험료나 보상 정책이 바뀌게 될까?
Kubernetes가 노동을 줄이지 못했다면, 대기업 95%가 바보라는 말이 됨
실제로는 규모가 커지면서 업무 복잡도가 상향 이동한 것임
모든 추상화는 누수되는 추상화임. C조차도 컴파일러마다 결과가 달라짐
이런 패턴이 반복되는 이유는 시장 인센티브 때문임
기업들은 AI를 만능 해결사로 포장해야 주가가 오르기 때문에, 실제 성능보다 믿음을 파는 구조가 됨
결국 현실이 드러나면 시장은 혼란스러워질 것임
시장은 만유인력이 아님. 정치 질서가 있어야 시장이 존재함
정말 제품이 약속한 대로 작동했다면, “회의론자 비판”에 집중하지 않고 개발에 몰두했을 것임
사실 개발자 수를 줄일 수도 있었음
기업이 더 선별적 채용과 교육 투자를 했다면 말임
하지만 현실은 반대였고, 웹 프레임워크는 생산성 향상보다 교육비 절감과 인력 풀 확대를 위해 만들어졌음
동의하지 않음. 좋은 프레임워크는 유지보수성과 생산성을 높여줌
중간 관리자와 경영진은 기술 부서를 비용 센터로만 봄
그래서 AI를 모든 보도자료에 언급하며 인건비 절감을 외침
실제로는 AI 때문이 아니라 오프쇼어 인력 교체로 비용을 줄이는 중임
남은 온쇼어 팀은 더 많은 일을 떠안으며 생산성을 높이고 있음
하지만 오프쇼어 지역에서도 해고가 동일하게 발생함
인건비 절감이 아니라 전반적인 투자 위축이 원인임
결국 AI가 데이터센터 투자로 자본을 흡수하면서 일자리를 줄이는 셈임
“세일즈는 제품 없이는 존재할 수 없다”는 주장에는 역사적 반례가 많음
AI의 목적은 개발자 대체가 아니라 추상화 수준을 높여 더 복잡한 문제를 다루게 하는 것임
초기 컴퓨터의 배선 프로그래밍에서 시작해, 어셈블리, C, Python, 프레임워크로 발전하면서 개발자는 점점 더 높은 수준의 문제를 다루게 되었음
단, 이전 단계들은 모두 결정적이고 검증 가능한 변환이었지만, 생성형 AI는 비결정적이라는 점이 다름
관련 이야기로 The Story of Mel을 참고할 만함
하지만 Anthropic의 CEO를 비롯한 기업들은 그런 철학적 목표보다 비용 절감과 대체에 더 관심이 있음
그래도 사람들은 여전히 “개발자 대체”를 이야기할 것임
각 추상화 단계는 내부를 들여다볼 수 있어야 함
LLM은 컴파일러처럼 토큰, AST, IR 등을 볼 수 없기에 불투명함
AI 기업의 진짜 목표는 모든 지적 노동의 자동화임
추상화가 높아질수록 정확성과 통제력이 줄어듦
자연어 기반의 비결정적 시스템은 이전 세대의 추상화와는 다름
그래서 “어셈블리에서 C로의 전환” 비유는 적절하지 않음
Dijkstra의 말처럼, 과학은 어렵기 때문에 미움받고, 그 힘을 가진 과학자도 미움받음 EWD1041 원문 링크
반대로, 개발자들은 늘 비개발 직군을 자동화하려는 꿈을 꿔왔음
AI는 그 꿈의 최신 버전임
언젠가 모든 직업이 좋은 직업이 되는 Star Trek식 세상이 올까?
2000년대 초, 대학에서 Rational Rose UML이 필수 과목이었음
당시 한 스타트업 CEO가 “이제 다이어그램만 그리면 코드는 자동 생성되니 개발자는 필요 없다”고 말했음
하지만 결국 그 예언은 실현되지 않았음
Hacker News 의견들
이번 AI 혁신의 물결을 보면, 코딩의 많은 부분이 본질적 복잡성이 아니라 우연적 복잡성임을 깨닫게 됨
인간에게 개념적인 작업이 AI에게는 절차적인 작업으로 바뀌는 현상임
예를 들어, 예전에는 Java의
public static void main(String[] args)를 쓰기 위해 여러 개념을 배워야 했지만, AI에게는 “클래스의 진입 메서드를 작성하라”는 프롬프트만 주면 거의 확정적으로 그 코드를 생성함인간에게 어려운 절차적 작업이 AI에게는 쉬운 반면, 사회는 이런 절차적 노동을 중심으로 구조화되어 있어서 혁신이 확산되면 누군가는 상승하고 누군가는 고통받게 됨
“No-code가 개발자를 대체한다”는 주장은 매번 반복되지만, 실제로는 개발자 일자리를 더 많이 만들어왔음
COBOL, VB, Squarespace, 그리고 이제 AI까지 — 도구가 진입 장벽을 낮추면 더 많은 사람이 무언가를 만들려 하고, 결국 한계에 부딪히면 진짜 개발자가 필요해짐
단순 반복 작업은 사라지지만, 무엇을 만들지 정의하고 디버깅하는 일은 여전히 남음
AI가 복잡한 프로젝트를 스스로 코딩할 수 있다면, 인간이 세부사항에 신경 쓰지 않아도 되므로 개발자 수요가 줄 수 있음
과거에는 인터넷, 클라우드, 모바일, 머신러닝 같은 대규모 트렌드가 있었지만, 앞으로도 그런 ‘큰 문제’ 가 계속 생길지는 확신이 없음
지난 20년간 시스템 관리 분야에서도 같은 패턴을 봐왔음
“더 높은 추상화가 전문가의 일을 민주화한다”는 약속은 반복되지만, 실제로는 비용이 큰 재발명이 일어남
Kubernetes 같은 도구는 복잡성을 감췄다고 하지만, 결국 개발자들이 기본 개념을 모른 채 같은 문제를 더 비싼 방식으로 다시 배우고 있음
Excel이 대표적 예시임 — 끔찍한 오류를 양산했지만, 접근성 덕분에 성공했음
결국 우리는 “Excel의 접근성과 엔지니어링의 신뢰성”을 동시에 원하지만, 둘 다 가질 수 없음
실제로는 규모가 커지면서 업무 복잡도가 상향 이동한 것임
이런 패턴이 반복되는 이유는 시장 인센티브 때문임
기업들은 AI를 만능 해결사로 포장해야 주가가 오르기 때문에, 실제 성능보다 믿음을 파는 구조가 됨
결국 현실이 드러나면 시장은 혼란스러워질 것임
사실 개발자 수를 줄일 수도 있었음
기업이 더 선별적 채용과 교육 투자를 했다면 말임
하지만 현실은 반대였고, 웹 프레임워크는 생산성 향상보다 교육비 절감과 인력 풀 확대를 위해 만들어졌음
중간 관리자와 경영진은 기술 부서를 비용 센터로만 봄
그래서 AI를 모든 보도자료에 언급하며 인건비 절감을 외침
실제로는 AI 때문이 아니라 오프쇼어 인력 교체로 비용을 줄이는 중임
남은 온쇼어 팀은 더 많은 일을 떠안으며 생산성을 높이고 있음
인건비 절감이 아니라 전반적인 투자 위축이 원인임
결국 AI가 데이터센터 투자로 자본을 흡수하면서 일자리를 줄이는 셈임
AI의 목적은 개발자 대체가 아니라 추상화 수준을 높여 더 복잡한 문제를 다루게 하는 것임
초기 컴퓨터의 배선 프로그래밍에서 시작해, 어셈블리, C, Python, 프레임워크로 발전하면서 개발자는 점점 더 높은 수준의 문제를 다루게 되었음
단, 이전 단계들은 모두 결정적이고 검증 가능한 변환이었지만, 생성형 AI는 비결정적이라는 점이 다름
관련 이야기로 The Story of Mel을 참고할 만함
LLM은 컴파일러처럼 토큰, AST, IR 등을 볼 수 없기에 불투명함
자연어 기반의 비결정적 시스템은 이전 세대의 추상화와는 다름
그래서 “어셈블리에서 C로의 전환” 비유는 적절하지 않음
Dijkstra의 말처럼, 과학은 어렵기 때문에 미움받고, 그 힘을 가진 과학자도 미움받음
EWD1041 원문 링크
반대로, 개발자들은 늘 비개발 직군을 자동화하려는 꿈을 꿔왔음
AI는 그 꿈의 최신 버전임
2000년대 초, 대학에서 Rational Rose UML이 필수 과목이었음
당시 한 스타트업 CEO가 “이제 다이어그램만 그리면 코드는 자동 생성되니 개발자는 필요 없다”고 말했음
하지만 결국 그 예언은 실현되지 않았음