Hacker News 의견들
  • 이 글은 ‘소프트웨어 빌드(build) ’와 ‘소프트웨어 작성(writing) ’을 혼동하고 있음
    이미 세상에는 거의 모든 일을 수행할 수 있는 값싼 대량생산 소프트웨어가 존재함
    개발자의 역할은 건축가나 설계 엔지니어처럼 새로운 설계도를 만드는 일임
    이런 설계에는 미적 감각과 상황에 대한 통찰이 필요하며, LLM은 이 부분을 잘 돕지 못함
    러시아어를 배운다고 해서 톨스토이가 되는 건 아닌 것과 같음

    • Bryan Cantrill이 인용한 Jeff Bonwick의 말처럼, 코드는 정보이자 동시에 기계
      건축가가 설계도를 만들면 그것은 물리적 건물로 구현되지만, 개발자가 코드를 작성하면 그 자체가 작동하는 기계가 됨
      YouTube 영상에서도 이 개념을 설명함
      UML로 아키텍처를 그린다고 해서 실제 기계를 만든 건 아님
    • 용어의 기술적 의미에 너무 매달린 것 같음
      글의 요지는 대부분의 소프트웨어가 더 이상 장인정신의 산물이 아니라 산업화된 대량생산품이 된다는 점임
      하지만 훌륭한 소프트웨어는 여전히 존재할 것임
    • 건설업에서 일하는 입장에서 보면, 설계 엔지니어는 세부사항을 시공사에 맡길 수 있지만 소프트웨어는 그럴 수 없음
      소프트웨어는 설계, 엣지 케이스 탐색, 실제 구현까지 모두 포함함
      즉, 설계는 전체 과정의 1/3에 불과함
    • 실제로 많은 프로젝트가 비즈니스 의사결정자들의 무지로 인해 스파게티 코드로 변함
      좋은 엔지니어가 이를 완화할 수는 있지만 한계가 있음
      결국 생각 없는 프로세스에서는 ‘산업 폐기물’ 같은 코드가 나올 수밖에 없음
    • 글의 비유는 잘못된 해석임
      LLM이 만드는 것은 ‘러시아 문학의 걸작’이 아니라 러시아 SNS용 댓글 수준의 코드
      LLM은 저품질 소프트웨어를 싸게 만드는 데 탁월함
      덕분에 예전엔 만들 가치가 없던 간단한 스크립트를 쉽게 만들 수 있게 되었지만,
      동시에 쓰레기 콘텐츠가 넘쳐나는 부작용도 있음
  • 비유로 사고하는 건 그럴듯해 보이지만 실제로는 약함
    물리적 상품과 소프트웨어는 한계비용 구조가 완전히 다름
    물리적 상품은 단위당 비용이 0보다 크지만, 디지털 상품은 한계비용이 0
    이미 대부분의 소프트웨어가 무료이거나 매우 저렴하므로, ‘저가형 산업화’라는 개념은 맞지 않음
    AI가 개발비를 낮춘다 해도 시장 구조는 크게 달라지지 않음

    • 비유는 새로운 가능성을 탐색할 때는 유용하지만, 무언가를 배제하는 논리로 쓰면 안 됨
    • 글에서도 완전한 1:1 비교는 아니라고 명시되어 있음
    • 디지털 상품에도 저장공간, 대역폭, 전력 등 비용 요소는 존재함
      또한 소비자는 품질보다 가격에 더 민감함
      무료 모바일 게임이 유료 게임을 압도한 이유가 그 예임
  • 최근 LLM으로 거의 완성된 개인 프로젝트를 진행했음
    마을 역사 웹사이트를 만들었는데, 모델이 점점 엉뚱한 방향으로 가는 걸 제어하기가 어려웠음
    속도는 빨라졌지만 여전히 ‘선장’ 역할이 필요했음

    • 문제는 ‘노를 젓는 사람들’의 역할이 사라진다는 것임
      선장과 100명의 노잡이에서 선장과 증기기관으로 바뀌면, 나머지 사람들은 어디로 가야 할까 하는 의문이 생김
  • 산업화가 품질을 낮춘다는 인식은 잘못임
    대량생산 시스템은 오히려 품질 관리를 극단적으로 향상시킬 수 있음
    중간급 대량생산 자동차가 장인 제작 자동차보다 나은 경우도 많음

    • 산업화는 낮은 품질 하한선을 보장하지만, 동시에 상한선도 존재함
      수제 빵이나 수제 가구처럼, 대량생산품보다 훨씬 뛰어난 장인 제품도 있음
      하지만 시장성은 낮음
    • 수제 슈퍼카나 수제 제과점의 제품은 여전히 대량생산품보다 우수함
      즉, 산업화가 모든 품질 영역을 대체하지는 않음
    • AI가 품질 관리를 개선할 수 있을지 의문임
    • ‘품질’의 기준이 무엇인지부터 명확히 해야 함
      럭셔리 자동차 대부분은 여전히 장인 방식으로 만들어짐
    • 그렇다면 아미시 가구 같은 사례는 어떻게 설명할 수 있을까 하는 반문임
  • 30년 경력의 개발자로서, 내가 작성한 코드 대부분은 결국 폐기물통으로 갔음
    데이터 처리, 로그 분석, 모델링 등은 계속하지만 AI가 등장해도 본질은 달라지지 않음
    다만 결과물이 조금 더 ‘화려한 색’을 띨 뿐임

    • 25년 동안 일했지만 실제로 프로덕션에 배포된 코드는 거의 없음
      대부분은 취소되거나 프로토타입으로 끝남
    • 재단사도 만든 옷이 결국 버려지듯, 소프트웨어도 수명이 있음
      수제 옷과 패스트패션의 관계처럼, 전통적 개발과 AI 생성 코드의 관계도 비슷함
    • 이런 현실이 두렵다고 느낌
      그래서 일 외의 정서적 의미를 여행, 가족, 예술 등에서 찾아야 한다고 생각함
  • 요즘 ‘vibe-coded’ 개인용 소프트웨어가 많아지고 있음
    Simon Willison의 사이드 프로젝트들이 그 예임
    앞으로는 ‘1인용 포크(fork) ’가 늘어날 것 같음

    • 나도 최근 오픈소스에 작은 기능 추가로 기여하기 시작했음
      하지만 업스트림 반영까지 시간이 오래 걸림
      Nix를 활용해 빌드 환경을 자동화하니 훨씬 편해졌음
      Nix가 더 널리 쓰였으면 좋겠지만, 모노컬처에 대한 우려도 있음
  • 소프트웨어의 중요한 측면 하나는 사용자 학습 비용
    독점적 소프트웨어는 사용자가 새 버전에 적응하도록 강요하지만,
    오픈소스는 안정된 인터페이스를 제공해 재학습 비용을 줄임
    예: mutt, vim, talon 같은 프로그램

    • 경계선이 오픈소스 여부로만 나뉘지는 않음
      Windows는 오히려 안정적인 API를 제공했고, 오픈소스 중에도 파괴적 변경이 많은 사례가 있음
    • 나는 이런 개념을 ‘지식 풀(Knowledge Pool) ’이라 부름
      이는 조직이 특정 도구나 방법에 대해 공유하는 집단적 지식의 저장소임
      불필요한 인터페이스 변경은 이 지식 풀을 고갈시키므로, 유지하는 것이 시장 경쟁력이 됨
  • 소프트웨어의 산업혁명은 이미 고급 언어의 등장으로 시작되었음
    어셈블리 대신 고급 언어를 쓸 수 있게 된 시점이 바로 그것임

    • 글에서도 이 점을 인정함
      오픈소스, 클라우드, 로우코드/노코드, API 표준화 등이 이미 산업화를 이끌고 있음
    • 하지만 터미널, 키보드, 실시간 편집 환경 등은 또 다른 혁신이었음
      카드 덱 입력에서 인터랙티브 개발 환경으로의 전환이 진짜 혁명이었음
    • Codex나 Claude Code 같은 모델을 보면, 아직은 시작에 불과함
      지금까지의 발전은 속도 향상에 불과하며, 앞으로 더 큰 변화가 올 것임
  • 나도 글쓴이의 비전에 공감함
    대부분의 소프트웨어는 불필요하게 복잡하고, 나는 그저 내 문제를 해결할 도구만 원함
    예를 들어 오디오 파일을 업로드하면 장면별로 분할하고 이미지와 싱크해 영상을 만드는 툴을 LLM으로 만들었음
    버그도 있고 기능도 부족하지만, 내 문제를 해결하기엔 충분함
    결국 나는 소프트웨어가 아니라 결과물(영상) 이 필요함
    다음 프로젝트에서는 더 나은 버전을 만들 수 있을 것 같음
    산업화된 소프트웨어 시대가 이미 시작되었고, 우리는 이에 적응해야 함

    • 하지만 은행, 세금, 급여 같은 현실 세계와 연결된 소프트웨어는 다름
      이런 시스템은 단순히 코드만으로 대체할 수 없으며, 이미 무료 대안이 존재함
  • 어셈블러, 컴파일러, 가비지 컬렉션, 고급 언어 등도 결국 복잡성의 산을 높이는 도구였음
    LLM도 마찬가지로, 더 빠르게 산을 쌓게 해줄 뿐 복잡성을 줄이지는 않음

    • 내 경험상 LLM은 복잡성 관리에는 도움이 안 됨
      단지 개발 속도를 높여줄 뿐임