소프트웨어 뒤에 있는 사람: AI 코딩 에이전트 시대의 제품 영혼에 관한 카리 사리넨의 견해
카리 사리넨(Karri Saarinen)의 에세이 "소프트웨어 뒤에 있는 사람(Someone behind the software)"은 karrisaarinen.com에 게재되었고 Hacker News에서 논의되었으며(486점, 175개 댓글), 좋은 소프트웨어는 그것을 만든 사람들의 관점을 담고 있다고 주장한다. 그리고 에이전트 주도 개발은 그 관점을 독립적이고 조정되지 않은 많은 변경들의 평균으로 대체할 위험이 있다고 말한다. 에세이의 마지막 문장은 이 논지를 직접적으로 말한다: "나는 소프트웨어 뒤에서 창작자를 느끼고 싶다, 공장이 아니라."
핵심 주장: 제품은 제작자의 관점을 담는다
사리넨의 핵심 주장은 소프트웨어 품질이 단지 프로세스와 요구사항의 함수가 아니라, 그것을 구축하는 사람들의 판단의 함수라는 것이다. 그는 이렇게 쓴다: "나는 좋은 제품이 그것을 만든 사람들의 무언가를 담고 있다고 생각한다. 그들의 경험, 그들이 관심을 두는 것, 그리고 그들이 사물이 어떻게 작동해야 한다고 생각하는지. 당신은 그 사람들이 누구인지 모를 수도 있지만, 그들의 관점을 제품에서 느낄 수 있다."
그는 이것을 업계의 공장 은유(요구사항 수집, 기능 구축, 작동 여부 측정)와 대조하면서, 그 은유가 관찰된 산출물의 차이를 설명할 수 없다고 지적한다: "두 팀이 비슷한 고객과 대화하고, 같은 기술에 접근할 수 있으며, 매우 다른 것을 만들 수 있다. 차이는 그들이 보는 것을 어떻게 이해하고, 그것을 구축하는 방식에서 나온다."
Hacker News 댓글 작성자 @nagalluri는 같은 점을 더 일반적으로 말했다: "두 명의 다른 사람에게 같은 문제를 주면, 아마도 서로 다른 경험과 사고방식에 의해 형성된 두 가지 다른 해결책을 얻을 것이다. 나는 소프트웨어가 이것이 나타난 예라고 생각한다."
@abroszka33은 직접적인 비교를 제시했다: "현대의 AAA 게임과 작은 인디 게임을 보라." @conqrr는 이 아이디어를 소프트웨어 너머로 확장했다: "이것은 소프트웨어뿐만 아니라 모든 것이다... 수공예품은 쉽게 더 많은 가치를 가진다." @ceuk는 같은 주장이 수년 동안 음식에 대해 제기되어 왔다고 언급했다.
"프로세스보다 직관"이 "증거 없음"을 의미하지 않는 이유
사리넨은 Linear가 직관을 프로세스나 데이터보다 중시한다고 말할 때 무엇을 의미하는지 명확히 한다. 그는 흔한 오독을 인정하면서도 — "개인적 선호에 기반한 결정, 생각이나 증거 없이" — 그것을 거부한다: "우리가 의미하는 바는 직관이 경험과 이해를 통해 발전한다는 것이다. 당신은 무언가에 대해 작업하고, 고객과 대화하고, 실수를 하고, 무엇에 주의를 기울여야 하는지 배운다."
그는 직관을 판단을 강요하고 익명의 데이터 뒤에 숨지 않게 하는 관점으로 설명한다: "직관은 무언가에 대한 당신의 관점이며, 판단을 사용하도록 강요하고, 얼굴 없는 데이터 뒤에 숨지 않게 한다." 그는 또한 출시 전 고객 대화를 통해 관점이 개선되었다고 언급한다: "우리는 이런 유형의 소프트웨어에 대해 우리 자신의 불만이 있었지만, 그 대화들은 우리가 우리 자신의 경험 너머에서 무엇이 중요한지 이해하는 데 도움이 되었다."
모든 댓글 작성자가 이 프레임을 받아들인 것은 아니다. @nickm12는 직관과 데이터가 반대 개념이 아니라고 주장했다: "'직관'과 데이터는 모두 세상에 대해 배우는 방법이며 서로를 보완한다. 때로는 통찰력은 직관과 데이터가 왜 불일치하는지 파고들 때만 나온다." 그는 또한 프로세스도 도구라고 덧붙였다: "프로세스는 우리의 모범 사례를 구현한다. 그러나 때로는 우리는 벗어나야 하고 때로는 그것들을 버리거나 재구축해야 한다. 이것들은 모두 도구 상자의 도구이다."
@sp1nningaway는 데이터 문제의 반대편을 취하며, 데이터 기반 의사 결정을 설교하는 조직이 종종 데이터를 나쁘게 사용한다고 주장했다: 그들은 "비직관적인 잘못된 결정을 내리기 위해 데이터를 사용하거나 자신의 선입견을 강화하는 통계를 쫓고 있다."
추가 기능 문제: 제품이 프랑켄슈타인의 괴물이 되는 이유
사리넨의 가장 많이 인용된 구절은 제품이 재고가 아닌 추가를 통해 어떻게 퇴화하는지에 관한 것이다. 그는 "많은 제품이, 매우 성공적인 회사의 제품을 포함하여, 나에게 지저분하게 느껴지기 시작했다"고 관찰하며, "기술이 무엇을 할 수 있는지와 무엇을 추가할 수 있는지"에 더 많은 생각이 들어간다고 말한다.
그의 설명: "새로운 기능을 추가하는 것은 기존 기능을 재고하는 것보다 훨씬 쉽다. 그래서 각 제품은 통일된 관점 없이 능력의 집합이 된다."
@jakub_g는 이것을 "매우 훌륭하고 간결한 요약"이라고 부르며 자신의 관찰을 덧붙였다: "거의 모든 제품이 완전히 다른 제품이 하던 일을 하도록 확장하려고 하며, 모든 것을 위한 메가 제품이 된다. 스테로이드를 맞은 자윈스키의 법칙 같다."
@iamcalledrob는 상업적 단절을 지적했다: "최고의 것들이 항상 가장 상업적으로 성공하는 것은 아니다... JIRA는 객관적으로 끔찍할 수 있지만, 여전히 돈을 벌고 있다!" @alexpotato는 그 실패 모드의 구체적인 예를 들었다: JIRA를 사용하고, 버그나 기능 요청을 찾고, Atlassian의 보드를 확인하면, "누군가 10년 전에 정확히 같은 이슈를 열었고, 3000개의 업보트를 받았지만, 여전히 '검토 중'인 것을 볼 수 있다."
@ah1508은 자동차를 사용하여 제품 반론을 제기했다: Porsche는 최근 "차에 화면조차 없는" Mission-S 컨셉을 선보였고, 프랑스에서는 기본 기능만 있는 저가형 Dacia Sandero가 가장 많이 팔리는 차다. 함의는 기능 절제가 약점이 아니라 경쟁적 위치가 될 수 있다는 것이다.
에이전트 기반 "소프트웨어 공장" 우려
사리넨은 추가적 표류를 작업이 조직되는 방식과 연결한다. 그는 이렇게 쓴다: "개인은 에이전트와 함께 독립적으로 변경을 생성하며, 각각은 작은 소프트웨어 공장을 운영한다. 각 변경은 그 자체로는 타당할 수 있지만, 함께 보면 조심스럽게 조각된 조각품보다 프랑켄슈타인의 괴물을 닮기 시작한다."
집합적 효과에 대한 그의 결론: "공유된 관점, 영혼, 또는 생각 없이, 제품은 모든 출력의 평균이 된다. 한때 그것에 특성을 부여했던 선택들은 날이 갈수록 희석된다. 더 많은 것이 작동하지만, 그 뒤에 누군가 또는 심지어 무언가를 느끼는 것이 더 어려워진다."
@ttul은 실제 병목이 어디에 있는지에 동의했다: "에이전트 코딩은 더 적은 시간에 더 많은 것을 구축할 수 있게 한다... 그러나 병목은 코딩 실행이 아니라, 무엇을 구축할지 선택하고 구축된 것이 형편없지 않은지 검증하는 것이다." 그는 이것이 바뀔 것이라고 예측했다: "그들이 제품 관리에 대해 훈련받기까지 얼마나 걸릴까? 오래 걸리지 않을 것이다. 미안하다."
@unsungNovelty는 이 추세를 새로운 것이 아니라 이데올로기적 연속으로 프레임했다: "사람들은 '빠르게 움직이고 물건을 부수자'는 소프트웨어 공장 도구 체인의 이데올로기에 LLM을 추가했을 뿐이다. 초점은 돈을 버는 것과 오직 돈을 버는 것에 있다."
@kristianc는 '완료'의 두 가지 의미 사이에 가장 날카로운 선을 그었다: "이 시대는 '기술적으로 완료'를 의미하는 '완료'와 '반대편 사람에게 지속적인 가치를 창출하는' '완료'를 구분하는 데 훌륭할 것이다. AI는 대체로 전자만 한다."
취향과 가치는 자동화할 수 없다
@allenu는 AI가 제품에 의도를 부여하는 인간적 입력이 부족하다고 주장했다: "궁극적으로 AI는 가치, 의도, 취향이 없다... 좋은 소프트웨어를 사용할 때, 당신은 만들어진 것에서 의도를 감지할 수 있다. 그 사람(또는 팀)은 자신의 특정 관점을 사용자의 목표와 결합했다." 그는 에이전트 코딩이 "훈련 데이터의 결과로 공유된 가치와 일반적인 것들의 대부분을 올바르게 얻을 수 있지만, 인간이 여전히 출력을 편집하거나 자신만이 볼 수 있는 좋은 경로로 그것을 조종해야 한다"고 덧붙였다.
SaaS 저자인 @jwr는 지금 자신의 가치가 어디에 있는지 설명했다: "가치는 코드에 있는 것이 아니라(AI가 이 시점에서 나보다 더 잘 코딩할 수 있다), 심지어 소프트웨어 아키텍처에도 없다... 그것은 무엇을 구축하고 무엇을 구축하지 않을지 결정하고, 제품의 전반적인 특성과 비전을 정의하고, 각 화면을 보면서 '이것이 내 고객이 그들의 일을 하는 데 어떻게 도움이 되는가'를 생각하는 것이다." 그는 비용을 언급했다: 이것은 "시간이 걸린다, 왜냐하면 처음에 생각했던 것만큼 좋지 않은 것으로 판명된 아이디어들 때문에 여러 번 다시 시작해야 하기 때문이다. 그리고 그것은 '독단적'이라고 불리는 소프트웨어를 만든다."
@piro0919는 실용적인 예를 들었다: "Claude Code가 코드를 작성하더라도, 나는 여전히 어떤 기능이 들어갈지, 화면이 어떻게 보이고 무엇을 말하는지 결정한다. 특정 사용자를 염두에 두고 구축하는 것은 아직 AI에게 맡길 수 없다."
@simonbarker87는 원칙을 "훌륭한 소프트웨어는 독단적이다"로 요약하며 덧붙였다: "그 독단은 창작자의 것이며, AI로 바뀌지 않는다."
@blauditore는 구조적 버전의 주장을 했다: "구현자들은 또한 구축될 소프트웨어의 인간 사용자의 대표자 역할을 한다. 그것은 정의상 자동화될 수 없는 것이다."
솔로 개발자가 이점을 가질 수 있다
@mik3y는 사리넨의 소프트웨어 공장 구절에서 직접 이어지는 질문을 제기했다: "그렇다면 솔로 개발자는 오늘날 취향 있고 독단적인 소프트웨어를 생산하는 데 약간의 이점을 가지고 있는가?"
@absoluteunit1은 솔로 작업이 문제를 자동으로 해결하지 않는다고 보고했다: "나는 최근에 직장을 그만두고 제품을 구축하는 일을 해왔다. 그리고 솔로임에도 불구하고, 나는 여전히 이런 방식으로 운영하는 것이 매우 쉽다는 것을 알게 된다. (AI 이전에도) 명확한 제품 비전을 가지고 그것을 고수하는 것; 기능, 디자인, 카피라이팅 등이 제품 구축의 수명 동안 일관되게 유지하는 것은 정말 어렵다."
@tamersalama는 누가 가장 좋은 소프트웨어를 만드는지에 대한 관련 관찰을 제공했다: "소프트웨어의 소비자가 그것을 작성하는 사람들이라면 어떨까? 그것이 보통 소프트웨어를 훌륭하게 만든 것이 아닌가?"
에세이 뒤에 있는 '제작자의 마음' 전통
@ajrouvoet는 에세이를 더 오래된 계보와 연결하며, Fred Brooks가 The Mythical Man-Month에서 Dorothy Sayers의 The Mind of the Maker를 인용한다고 언급했다. 인용된 구절은 창의적 활동을 "아이디어, 구현, 상호작용"으로 나누며, Brooks는 "창조는 누군가가 책을 읽거나, 컴퓨터를 사용하거나, 프로그램을 실행하여 제작자의 마음과 상호작용할 때 완성된다"고 쓴다.
@swiftcoder는 공장 모델이 존경받는 소프트웨어 회사가 실제로 운영한 방식이 결코 아니라고 지적했다: "Steve Jobs와 Johnny Ive가 사용자 경험에 대해 부하들에게 소리치는 것. 심지어 Bezos가 두려운 물음표를 보내는 것. 훌륭한 소프트웨어는 오토르의 개인적 비전을 소프트웨어로 번역하는 팀의 작업이었다... 반면 IBM과 같은 블루칩은 위의 기업 방법으로 유용하지만 영혼 없는 소프트웨어를 쏟아냈다." 그는 덧붙였다: "어떻게든 대부분의 사람들은 기업 환경이 더 나은 소프트웨어를 생산하는 데 반복적으로 실패했음에도 불구하고 더 이상 이것을 믿지 않는 것 같다."
@impoppy는 이 아이디어를 특정 도구에 적용했다: FFmpeg. "어떤 종류의 마음이 FFmpeg를 만들었는가?" 이 댓글 작성자의 설명에 따르면, 대답은 QEMU와 tcc 뒤에 있는 같은 사람이다 — "예외적으로 뛰어난 마음"으로, 그의 인터페이스 선택은 "편의보다 정확성을 선택"하여 "비현실적으로 난해한" CLI를 만들었다. 요점은 제품의 특성이 어렵더라도 느껴질 수 있다는 것이다.
A/B 테스트는 '누군가'를 최적화로 대체한다
@lightandlight는 에세이의 주장에서 일반적인 제품 관행으로 직접 선을 그었다: "이것이 내가 제품 개발을 위한 A/B 테스트를 싫어하는 이유이다. 그것은 '누군가'를 모호한 광범위한 매력이나 불량한 최적화 세력으로 대체한다."
@convenwis는 대화형 인터페이스로 우려를 확장했다: "이것이 내가 많은 AI 신봉자들이 믿는 미래, 즉 AI와의 채팅이 모든 것을 주도하고 인터페이스가 기본적으로 사라지는 세상에 우리가 끝나지 않기를 정말 바라는 이유이다... 잘 생각되고 구축된 소프트웨어는 사용하기에 너무 만족스러워서 그것이 사라지는 것을 보면 매우 슬플 것이다."
직관에 대한 확장 반대
@dozerly는 에세이의 직관 우선 입장에 가장 구체적인 운영상 반대를 제기했다: "직관 접근법의 실용적인 문제는 두 사람의 직관을 서로 측정할 방법이 없다는 것이다. 작은 조직에서는 괜찮지만, 커질 때마다 50명의 직관을 서로 비교할 수 없다."
@cadamsdotcom은 부분적인 답변을 제공하며, Linear의 입장이 회사가 자체 고객이기 때문에 유지하기 더 쉽다고 주장했다: "Linear는 그냥... Linear에서 Linear의 구축을 추적할 수 있다. 소프트웨어 뒤에 있는 사람이 고객일 때, 그들은 많은 판단을 처음에 올바르게 할 것이다." 그는 자체 고객이 아닌 회사에 경고를 덧붙였다: "자주 틀릴 계획을 세우고 — 회사와 아키텍처와 제품을 빈번한 오류와 호환되게 유지하여 발견되면 올바른 것으로 전환할 수 있도록 하라. 자존심 없이."
반론: AI는 원인이 아니다
@solatic은 에세이의 진단에 동의했지만 AI에 귀속시키는 것에 이의를 제기했다. 핵심 불만은 혁신가의 딜레마라고 이 댓글 작성자는 주장했다: "변경이나 제거는 근본적으로 누군가가 당신의 제품을 사용하는 방식과 엉망이 된다... 당신이 엉망으로 만든 것을 누군가가 사용할 때, 그들이 이탈할 위험이 있다, 그게 다다." 주장은 계속해서 좋은 제품 리더십은 "사용자를 엉망으로 만드는 결과를 두려워하지 않으며", "좋은 제품 리더십은 좋은 리더십이 드물기 때문에 드물다. AI와는 아무 관련이 없다."
@elliotto는 더 근본적인 수준에서 에세이의 프레임을 거부했다: "상업적 소프트웨어 노력의 예술성을 인간화하는 것은 아마도 실수일 것이다. 이러한 시스템은 자본이 존재할 가치가 있다고 판단했기 때문에 존재하며, 그들은 자본의 욕구 — 소비하고 확장하는 — 를 반영할 것이다." 이 댓글 작성자는 "자본이 가능하다면 소프트웨어 생산 과정에서 모든 인간을 잘라낼 것"이라고 주장했고, 오픈 소스와 개인적으로 동기 부여된 소프트웨어가 인간 주도 작업의 더 나은 예이며, "Linear는 효과적인 티켓 관리 시스템이지만, 이것의 예는 아마 아닐 것"이라고 말했다.
@zeroq는 에세이가 여러 개별적인 점을 혼동한다고 주장했다. 그중: 도공은 컵에 대해 $200 또는 $2000을 청구할 수 있는데, 구매자가 "그녀가 컵과 함께 제공하는 이야기에 대해 지불"하기 때문이지만, 그 역학은 소프트웨어로 전이되지 않는다; 시간이 실제 제약이며, 자원이 아니다; 그리고 "당신의 제품이 '말을 위한 틴더'라면 그것이 LLM이나 비건에 의해 작성되었는지는 중요하지 않다. 작동하기만 하면 된다." 같은 댓글 작성자는 "당신이 제품을 점진적으로 개발하고 싶다면 바이브 코딩은 매우 빠르게 방해가 될 것이다. 그것은 프로토타이핑과 잘 정의된 제품 개발에 훌륭하지만, 장기적으로는 당신의 시스템이 어떻게 작동하는지 알아야 할 것이다."라고 덧붙였다.
@dmitrijbelikov는 더 쉬운 소프트웨어에 대한 에세이의 낙관론에 반박했다: "아니요, 왜냐하면 우리는 많은 프랑켄슈타인과 채팅 인터페이스를 가지고 있기 때문이다." 이 댓글 작성자는 또한 에이전트 이전의 코드베이스도 결코 완벽하지 않았다고 언급했고, "소프트웨어 뒤에는 창작자뿐만 아니라 관심 있는 사람들과 사용자도 있다."
@notesinthefield는 논의의 전체 레지스터에 의문을 제기했다: "아무도 시적 관점 없이 AI 소프트웨어 개발 대화를 관찰하는 사람이 있는가? 나는 여기 있는 10명 중 9명이 그럴 수 있다고 생각하지 않는다."
@riazrizvi는 에세이의 시작 통찰력이 좁은 청중에게만 새로운 것이라고 주장했다: "오직 소프트웨어 개발자 청중만이 그 첫 번째 진술을 통찰력 있다고 생각할 것이다. 나머지 세계는 일반적으로 표현이 그 표현을 실행하는 인간의 산물이라는 것을 이해한다. 그 깎인 잔디. 그 이메일 메시지. 그들이 당신을 위해 만든 식사. 그것들은 특정 인간에 대한 창이다."
@lifeisloving는 이 아이디어가 다른 전통에서 이름을 가지고 있다고 언급하며, 상품 물신주의와 연결했다: "모든 사람이 이 감정에 동의한다, 내가 그것이 마르크스주의적 아이디어라고 말할 때까지."
이것이 지금 중요한 이유
사리넨의 에세이는 더 쉬운 소프트웨어 생산이 가능하게 할 수 있는 것에 대한 낙관적인 메모로 끝난다: "소프트웨어를 만드는 것이 더 쉬워지고 있다. 나는 그것이 사람들에게 관점을 개발하고 그것을 더 멀리 추구할 더 많은 여지를 주기를 바란다. 문제를 깊이 이해하고 조각들이 서로 어울릴 때까지 답을 계속 다듬는 것."
여러 댓글 작성자는 이 순간을 손실이 아니라 필터로 프레임했다. @thinkindie는 팀에 대한 기대치를 높이는 것을 설명했다: "나는 매일 내 팀과 함께 그들의 인도물에 대한 기대치를 높이는 자신을 발견했다... 평균적인 엔지니어는 더 적은 노력으로 같은 것을 할 수 있다고 믿지만, 그들은 오히려 더 많은 것과 더 높은 품질을 제공하고, 사용 가능한 추가 시간을 사용하여 점들을 연결하는 것에 대해 생각해야 한다. 나는 이것이 앞으로 큰 필터가 될 것이라고 믿는다."
@hirako2000은 더 직설적으로 말했다: "이번에는 장인 정신을 요구하기 위해 70년을 기다리지 않을 수도 있다."
@Nevermark는 가장 긴 관점을 제공하며, 문제가 AI보다 반세기 앞선다고 언급했다: "소프트웨어 설계 품질의 큰 부분은 일반적으로 거의 움직이지 않았다. 확실히 수십 년에 걸쳐 점점 덜 움직였다... 소프트웨어 시스템은 만연하게 명백히 나쁜 설계를 보여준다. 이것이 복잡한 기반 시스템을 다루는 피할 수 없는 문제를 포함할 수 있다는 것이, 응용 개발자의 취향 부족을 나타내는 만큼, 변명이 아니다."
@majkinetor는 구축자에게 실용적인 요점을 요약했다: "이것은 AI 시대에 유일한 결정 요인이 될 것이다 — 자신의 직관과 취향, 경험에 기반하여 사물을 형성하는 사람."
Sources
관련
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch