산업형 소프트웨어의 부상
(chrisloy.dev)- AI 코딩 도구의 발전으로 소프트웨어 생산이 수공예적 방식에서 자동화된 산업화 단계로 전환 중이며, 비용 절감과 대규모 생산이 가능해지고 있음
- 산업화의 2차 효과로 일회용 소프트웨어라는 새로운 범주가 등장하고 있으며, 이는 소유, 유지보수, 장기적 이해에 대한 기대 없이 생성되는 소프트웨어를 의미
- 제번스 역설에 따르면 효율성 향상이 오히려 전체 소비량 증가로 이어지며, 소프트웨어 생산에서도 동일한 현상이 예상됨
- 농업 산업화가 풍요 대신 초가공 식품과 비만 위기를 낳은 것처럼, 소프트웨어 산업화도 저품질 대량 생산의 경제적 압력을 만들어낼 가능성 존재
- 기술 발전은 산업화와 혁신의 상호작용으로 이루어지며, 핵심 질문은 "아무도 소유하지 않는 소프트웨어를 누가 유지보수할 것인가"로 귀결
소프트웨어의 산업화 전환
- 소프트웨어는 역사적으로 고숙련 전문 인력의 노동 비용에 의해 생산 비용이 결정되는 수공예에 가까웠음
- 산업화는 자동화를 통해 인간 노동 의존도를 줄이고, 비용 절감과 생산 규모의 탄력성을 동시에 달성하는 것을 목표로 함
- 인간의 역할은 감독, 품질 관리, 산업 프로세스 최적화로 축소됨
- 산업화의 1차 및 2차 효과
-
1차 효과: 고품질 제품 공급망의 교란, 노동의 탈중개화, 진입 장벽 하락, 경쟁 심화, 변화 속도 가속
- 이러한 효과들이 현재 전통적인 소프트웨어 산업에서 나타나기 시작
-
2차 효과: 저품질·저비용 제품의 대규모 생산 방식이 새롭게 가능해짐
- 인쇄 산업화 → 페이퍼백 장르 소설의 등장
- 농업 산업화 → 초가공 정크푸드의 출현
- 디지털 이미지 센서 산업화 → 사용자 생성 비디오의 등장
-
1차 효과: 고품질 제품 공급망의 교란, 노동의 탈중개화, 진입 장벽 하락, 경쟁 심화, 변화 속도 가속
- 소프트웨어에서 생산의 산업화는 일회용 소프트웨어(Disposable Software) 를 등장 시킴
- 일회용 소프트웨어: 소유, 유지보수, 장기적 이해에 대한 지속적 기대 없이 생성되는 소프트웨어
- 지지자들은 이를 'vibe-coded software' 라 부르고, 회의론자들은 'AI slop' 이라 칭함
- 쉬운 재생산성으로 인해 각 소프트웨어 산출물의 경제적 가치가 낮아짐
- 가치 부족으로 이 트렌드를 일시적 유행으로 치부하기 쉽지만, 이는 현명하지 못한 판단
제번스 역설과 슬롭의 중독성
-
제번스 역설(Jevons paradox): 19세기 석탄 소비 효율성 향상이 비용 절감 → 수요 증가 → 전체 소비량 증가로 이어졌다는 경제 이론
- 현재 AI 컴퓨팅에서 동일한 현상 관찰: 모델의 토큰 예측 효율성이 높아질수록 수요가 급증하여 전체 소비량이 증가
- 소프트웨어 개발에서도 노력 비용 감소가 더 높은 소비와 산출로 이어질 가능성이 역사적으로 뒷받침됨
- 농업 산업화의 교훈
- 20세기 초 과학 발전이 기아 퇴치와 풍요로운 식량 시대를 열 것으로 기대되었으나, 2025년 현재 3억 1,800만 명이 급성 기아 상태
- 미국의 성인 비만율은 40% 에 달하며 당뇨병 위기 심화 중
- 초가공 식품이 해롭다고 널리 인식됨에도 대다수 미국인이 매일 섭취
- 산업 시스템은 과잉과 저품질 상품 쪽으로 경제적 압력을 지속적으로 생성함
- 생산 비용이 충분히 낮아지면 물량, 마진, 도달 범위를 극대화하는 것이 정크 제품이기 때문
- AI slop에 대한 욕구는 마찬가지로 충족되기 어려울 것으로 예상
- 스마트폰이 가능하게 한 사진, 비디오, 오디오 캡처의 민주화처럼, 소프트웨어 민주화가 이루어지면 소셜 미디어 규모로 사용자 생성 소프트웨어가 생성, 공유, 폐기될 가능성
- 참신함과 보상의 피드백 루프가 지난 반세기의 개발을 구식으로 보이게 할 소프트웨어 산출 폭발을 일으킬 수 있음
전통적 소프트웨어는 살아남을 수 있을까?
- 초가공 식품이 유일한 옵션이 아니듯, 건강하고 지속 가능한 식품 생산에 대한 수요가 존재하고 성장 중
- "유기농 소프트웨어" 운동이 가능할 수 있음
- 의류 산업 예시: 산업화 이전에는 장인, 길드, 수작업, 지역 자원, 수년간 축적된 전문성으로 의류 생산
- 산업화 후: 대륙 간 원자재 운송, 공장 대량 생산, 기계 조립, 빠르고 일회용이며 착취적인 패션
- 그러나 맞춤 정장부터 손뜨개 스카프까지 수공예 의류는 여전히 존재
- 맞춤 핏, 부의 과시, 제품 내구성, 취미로서의 공예 즐거움 등 다양한 이유
-
소프트웨어의 특수성: 무형재와 혁신
- 소프트웨어가 물리적 제품이었다면 인간이 작성한 소프트웨어가 고급 패션이나 수제 니트웨어처럼 틈새로 제한되었을 수 있음
- 그러나 소프트웨어는 무형재(intangible good) 이며, 다른 산업화된 분야와 달리 본질적으로 컴포넌트 재사용의 오랜 역사를 가짐
- 혁신이 기존 제품의 더 나은/저렴한 버전에 국한되지 않고, 솔루션 공간 자체의 성장을 포함
- 증기 기관이 재사용 가능한 기계 부품을 가능케 하고, 이것이 생산 라인을, 생산 라인이 자동차를 가능케 한 것과 유사
- 소프트웨어 개발의 기술 발전 메커니즘은 산업화뿐 아니라 혁신을 포함
- 연구개발은 비용이 많이 들지만 시간이 지남에 따라 더 큰 가치를 얻는 유일한 경로
-
혁신과 산업화의 차이
- 혁신: 오늘날 존재하는 것을 더 효율적으로 복제하는 데 초점을 두지 않음
- 새로운 문제를 찾고 해결하며, 이전 것 위에 구축하고, 이전에 존재할 수 없었던 기능을 제공
- 산업화는 그 후에 규모와 상품화를 제공하여 다음 혁신 라운드가 구축될 기반을 제공
- 이 두 힘의 상호작용이 '진보(progress)'
-
대형 언어 모델: 소프트웨어의 증기 기관 순간
- LLM은 소프트웨어의 증기 기관 순간
- 이전에 희소한 인간 노동에 전적으로 의존했던 작업 클래스의 비용을 급격히 낮추고, 산출의 비범한 가속을 가능케 함
- 증기 기관도 진공 상태에서 나타나지 않았음: 풍차와 물레방아가 터빈보다 수 세기 앞섬
- 기계화는 석탄과 철강에서 시작되지 않았고, 자동화, 규모, 자본이 결합되어 경제적 변혁을 이끄는 변곡점에 도달
- 소프트웨어도 오랫동안 산업화되어 왔음:
- 재사용 가능한 컴포넌트(오픈소스 코드)
- 이식성(컨테이너화, 클라우드)
- 민주화(로우코드/노코드 도구)
- 상호운용성(API 표준, 패키지 관리자)
진보의 끝없는 순환
- 소프트웨어 산업 혁명에 진입하고 있으나, 이는 단절의 순간이 아닌 거대한 가속
- 산업화가 기술 발전을 대체하지 않지만, 새로운 아이디어의 흡수와 새로운 기능의 상품화 모두를 크게 가속화
- 새로운 기술 위에 구축하는 비용이 더 빨리 떨어지면서 혁신이 더 빠르게 해제됨
- 진보의 순환은 계속되지만, 대량 자동화 시대에 바퀴는 그 어느 때보다 빠르게 회전
핵심 질문: 생태계와 유지보수
- 열린 질문은 산업용 소프트웨어가 지배할지 여부가 아니라, 그 지배가 주변 생태계에 무엇을 하는가
- 이전 산업 혁명들은 비용을 무한해 보였던 환경에 외부화했지만, 그 환경은 결국 무한하지 않았음
- 소프트웨어 생태계도 다르지 않음: 의존성 체인, 유지보수 부담, 산출 규모에 따라 복합되는 보안 표면
- 기술 부채는 디지털 세계의 오염이며, 그것에 의존하는 시스템을 질식시킬 때까지 보이지 않음
- 대량 자동화 시대에 가장 어려운 문제는 생산이 아니라 관리(stewardship) 일 수 있음
- 핵심 질문: "아무도 소유하지 않는 소프트웨어를 누가 유지보수하는가?"
Hacker News 의견들
-
이 글은 ‘소프트웨어 빌드(build) ’와 ‘소프트웨어 작성(writing) ’을 혼동하고 있음
이미 세상에는 거의 모든 일을 수행할 수 있는 값싼 대량생산 소프트웨어가 존재함
개발자의 역할은 건축가나 설계 엔지니어처럼 새로운 설계도를 만드는 일임
이런 설계에는 미적 감각과 상황에 대한 통찰이 필요하며, LLM은 이 부분을 잘 돕지 못함
러시아어를 배운다고 해서 톨스토이가 되는 건 아닌 것과 같음- Bryan Cantrill이 인용한 Jeff Bonwick의 말처럼, 코드는 정보이자 동시에 기계임
건축가가 설계도를 만들면 그것은 물리적 건물로 구현되지만, 개발자가 코드를 작성하면 그 자체가 작동하는 기계가 됨
YouTube 영상에서도 이 개념을 설명함
UML로 아키텍처를 그린다고 해서 실제 기계를 만든 건 아님 - 용어의 기술적 의미에 너무 매달린 것 같음
글의 요지는 대부분의 소프트웨어가 더 이상 장인정신의 산물이 아니라 산업화된 대량생산품이 된다는 점임
하지만 훌륭한 소프트웨어는 여전히 존재할 것임 - 건설업에서 일하는 입장에서 보면, 설계 엔지니어는 세부사항을 시공사에 맡길 수 있지만 소프트웨어는 그럴 수 없음
소프트웨어는 설계, 엣지 케이스 탐색, 실제 구현까지 모두 포함함
즉, 설계는 전체 과정의 1/3에 불과함 - 실제로 많은 프로젝트가 비즈니스 의사결정자들의 무지로 인해 스파게티 코드로 변함
좋은 엔지니어가 이를 완화할 수는 있지만 한계가 있음
결국 생각 없는 프로세스에서는 ‘산업 폐기물’ 같은 코드가 나올 수밖에 없음 - 글의 비유는 잘못된 해석임
LLM이 만드는 것은 ‘러시아 문학의 걸작’이 아니라 러시아 SNS용 댓글 수준의 코드임
LLM은 저품질 소프트웨어를 싸게 만드는 데 탁월함
덕분에 예전엔 만들 가치가 없던 간단한 스크립트를 쉽게 만들 수 있게 되었지만,
동시에 쓰레기 콘텐츠가 넘쳐나는 부작용도 있음
- Bryan Cantrill이 인용한 Jeff Bonwick의 말처럼, 코드는 정보이자 동시에 기계임
-
비유로 사고하는 건 그럴듯해 보이지만 실제로는 약함
물리적 상품과 소프트웨어는 한계비용 구조가 완전히 다름
물리적 상품은 단위당 비용이 0보다 크지만, 디지털 상품은 한계비용이 0임
이미 대부분의 소프트웨어가 무료이거나 매우 저렴하므로, ‘저가형 산업화’라는 개념은 맞지 않음
AI가 개발비를 낮춘다 해도 시장 구조는 크게 달라지지 않음- 비유는 새로운 가능성을 탐색할 때는 유용하지만, 무언가를 배제하는 논리로 쓰면 안 됨
- 글에서도 완전한 1:1 비교는 아니라고 명시되어 있음
- 디지털 상품에도 저장공간, 대역폭, 전력 등 비용 요소는 존재함
또한 소비자는 품질보다 가격에 더 민감함
무료 모바일 게임이 유료 게임을 압도한 이유가 그 예임
-
최근 LLM으로 거의 완성된 개인 프로젝트를 진행했음
마을 역사 웹사이트를 만들었는데, 모델이 점점 엉뚱한 방향으로 가는 걸 제어하기가 어려웠음
속도는 빨라졌지만 여전히 ‘선장’ 역할이 필요했음- 문제는 ‘노를 젓는 사람들’의 역할이 사라진다는 것임
선장과 100명의 노잡이에서 선장과 증기기관으로 바뀌면, 나머지 사람들은 어디로 가야 할까 하는 의문이 생김
- 문제는 ‘노를 젓는 사람들’의 역할이 사라진다는 것임
-
산업화가 품질을 낮춘다는 인식은 잘못임
대량생산 시스템은 오히려 품질 관리를 극단적으로 향상시킬 수 있음
중간급 대량생산 자동차가 장인 제작 자동차보다 나은 경우도 많음- 산업화는 낮은 품질 하한선을 보장하지만, 동시에 상한선도 존재함
수제 빵이나 수제 가구처럼, 대량생산품보다 훨씬 뛰어난 장인 제품도 있음
하지만 시장성은 낮음 - 수제 슈퍼카나 수제 제과점의 제품은 여전히 대량생산품보다 우수함
즉, 산업화가 모든 품질 영역을 대체하지는 않음 - AI가 품질 관리를 개선할 수 있을지 의문임
- ‘품질’의 기준이 무엇인지부터 명확히 해야 함
럭셔리 자동차 대부분은 여전히 장인 방식으로 만들어짐 - 그렇다면 아미시 가구 같은 사례는 어떻게 설명할 수 있을까 하는 반문임
- 산업화는 낮은 품질 하한선을 보장하지만, 동시에 상한선도 존재함
-
30년 경력의 개발자로서, 내가 작성한 코드 대부분은 결국 폐기물통으로 갔음
데이터 처리, 로그 분석, 모델링 등은 계속하지만 AI가 등장해도 본질은 달라지지 않음
다만 결과물이 조금 더 ‘화려한 색’을 띨 뿐임- 25년 동안 일했지만 실제로 프로덕션에 배포된 코드는 거의 없음
대부분은 취소되거나 프로토타입으로 끝남 - 재단사도 만든 옷이 결국 버려지듯, 소프트웨어도 수명이 있음
수제 옷과 패스트패션의 관계처럼, 전통적 개발과 AI 생성 코드의 관계도 비슷함 - 이런 현실이 두렵다고 느낌
그래서 일 외의 정서적 의미를 여행, 가족, 예술 등에서 찾아야 한다고 생각함
- 25년 동안 일했지만 실제로 프로덕션에 배포된 코드는 거의 없음
-
요즘 ‘vibe-coded’ 개인용 소프트웨어가 많아지고 있음
Simon Willison의 사이드 프로젝트들이 그 예임
앞으로는 ‘1인용 포크(fork) ’가 늘어날 것 같음- 나도 최근 오픈소스에 작은 기능 추가로 기여하기 시작했음
하지만 업스트림 반영까지 시간이 오래 걸림
Nix를 활용해 빌드 환경을 자동화하니 훨씬 편해졌음
Nix가 더 널리 쓰였으면 좋겠지만, 모노컬처에 대한 우려도 있음
- 나도 최근 오픈소스에 작은 기능 추가로 기여하기 시작했음
-
소프트웨어의 중요한 측면 하나는 사용자 학습 비용임
독점적 소프트웨어는 사용자가 새 버전에 적응하도록 강요하지만,
오픈소스는 안정된 인터페이스를 제공해 재학습 비용을 줄임
예: mutt, vim, talon 같은 프로그램- 경계선이 오픈소스 여부로만 나뉘지는 않음
Windows는 오히려 안정적인 API를 제공했고, 오픈소스 중에도 파괴적 변경이 많은 사례가 있음 - 나는 이런 개념을 ‘지식 풀(Knowledge Pool) ’이라 부름
이는 조직이 특정 도구나 방법에 대해 공유하는 집단적 지식의 저장소임
불필요한 인터페이스 변경은 이 지식 풀을 고갈시키므로, 유지하는 것이 시장 경쟁력이 됨
- 경계선이 오픈소스 여부로만 나뉘지는 않음
-
소프트웨어의 산업혁명은 이미 고급 언어의 등장으로 시작되었음
어셈블리 대신 고급 언어를 쓸 수 있게 된 시점이 바로 그것임- 글에서도 이 점을 인정함
오픈소스, 클라우드, 로우코드/노코드, API 표준화 등이 이미 산업화를 이끌고 있음 - 하지만 터미널, 키보드, 실시간 편집 환경 등은 또 다른 혁신이었음
카드 덱 입력에서 인터랙티브 개발 환경으로의 전환이 진짜 혁명이었음 - Codex나 Claude Code 같은 모델을 보면, 아직은 시작에 불과함
지금까지의 발전은 속도 향상에 불과하며, 앞으로 더 큰 변화가 올 것임
- 글에서도 이 점을 인정함
-
나도 글쓴이의 비전에 공감함
대부분의 소프트웨어는 불필요하게 복잡하고, 나는 그저 내 문제를 해결할 도구만 원함
예를 들어 오디오 파일을 업로드하면 장면별로 분할하고 이미지와 싱크해 영상을 만드는 툴을 LLM으로 만들었음
버그도 있고 기능도 부족하지만, 내 문제를 해결하기엔 충분함
결국 나는 소프트웨어가 아니라 결과물(영상) 이 필요함
다음 프로젝트에서는 더 나은 버전을 만들 수 있을 것 같음
산업화된 소프트웨어 시대가 이미 시작되었고, 우리는 이에 적응해야 함- 하지만 은행, 세금, 급여 같은 현실 세계와 연결된 소프트웨어는 다름
이런 시스템은 단순히 코드만으로 대체할 수 없으며, 이미 무료 대안이 존재함
- 하지만 은행, 세금, 급여 같은 현실 세계와 연결된 소프트웨어는 다름
-
어셈블러, 컴파일러, 가비지 컬렉션, 고급 언어 등도 결국 복잡성의 산을 높이는 도구였음
LLM도 마찬가지로, 더 빠르게 산을 쌓게 해줄 뿐 복잡성을 줄이지는 않음- 내 경험상 LLM은 복잡성 관리에는 도움이 안 됨
단지 개발 속도를 높여줄 뿐임
- 내 경험상 LLM은 복잡성 관리에는 도움이 안 됨