왜 코딩을 사랑하는 사람들이 코딩에서 밀려나는가
Les Orchard가 最近 글에서 짚어낸 觀察 하나가 머릿속에서 떠나지 않는다。LLM 코딩 어시스턴트가 나오기 前까지는、소프트웨어 엔지니어들 사이의 分裂은 보이지 않았다。
匠人 氣質의 사람들과
일단 돌아가면 된다는 사람들이 나란히 앉아 같은 製品을 만들면서도 區分이 안 됐다。일의 動機가 보이지 않았던 것은 過程이 同一했기 때문이다。
道具가 分裂을 만든 게 아니었다。이미 있던 分裂을 드러낸 것이다。
Orchard 自身은 첫 番째 진영이다。일곱 살에 BASIC을 배운 건 BASIC이 아름다워서가 아니라 畫面에 무언가를 나타나게 하고 싶어서였다。그에게 LLM 코딩 어시스턴트는 언제나 오르던 사다리의 다음 段階일 뿐이다。퍼즐이 사라진 게 아니라 더 높은 抽象 水準으로 옮겨갔다。그도 슬프긴 하지만、슬퍼하는 건 일 자체가 아니라 일을 둘러싼 生態系다。
Nolan Lawson의 슬픔은 다르다。二月에 올라온 그의 글을 보자。
코드를 손으로 쥐고 彫刻家처럼 빚는 느낌이 그리울 것이다。새벽 二時에 디버거 앞에서 씨름하다 마침내 버그가 降伏하는 밤이 그리울 것이다。우리가 자랑스러워했던 무언가를、眞情性 있고 옳고 좋은 것을 만들었던 느낌이 그리울 것이다。
그의 글은 挽歌처럼 읽히고、그 안의 슬픔도 眞짜다。그가 哀悼하는 것은 行爲 그 自體다。
두 사람 다 思慮 깊고 率直하지만、같은 瞬間을 바라보며 다른 것을 느끼고 있다。이
非對稱은 眞摯하게 받아들일 필요가 있다。그냥 適應하라
는 論議가 繼續
놓치는 무언가를 가리키기 때문이다。
行爲로부터의 疎外
Marx는 疎外된 勞働의 次元을 넷으로 分析했다。生產物로부터의 分離、勞働 行爲 自體로부터의 分離、他人으로부터의 分離、그리고 自身의 人間的 能力으로부터의 分離。LLM 코딩 어시스턴트를 둘러싼 論議에서 核心은 두 番째라 할 수 있다。
Marx가 말한 勞働 行爲 自體로부터의 分離
란 이런 것이다。人間은 다른
動物과 달리、만들고 싶은 것을 머릿속에서 먼저 構想하고 物質 世界를 그 이미지에
맞게 빚을 수 있다。이 意識的이고 意圖的인 創造 能力이 Marx가 人間의 特性으로 본
것에 가장 가깝다。勞働이 機械的인 것、強制된 것、삶이 아니라 견뎌내는 것이 될
때、그 能力은 實現되지 못한다。活動은 如前히 일어나고 있지만、그 사람은 더 以上
거기에 現存하지 않는다。
匠人 技術을 哀悼하는 소프트웨어 엔지니어들은 이 描寫에 닮아있다。그들이 所重히
여겼던 건 結果物이 아니었다。무언가를 만드는 過程、熾烈하게 集中했던 시간들、시스템을 充分히 理解해서 그것을 다시 빚을 수 있다는 느낌。Lawson이 正確히
그렇게 말한다。내가 이걸 만들었다
고 말할 수 있는 GitHub 貯藏所。무언가가 만들어졌다
가 아니라 내가 만들었다는 것。
이것은 왜 두 陣營이 같은 道具에 그토록 다르게 反應하는지도 說明한다。Orchard는 처음부터 自身을 코드를 짜는 行爲에 投資하지 않았다。結果에 投資했다。LLM 코딩 어시스턴트가 結果에 더 빠르게 到達하게 해준다면、그에게 잃는 것은 없다。반면、Lawson에게는 그 行爲 안에 意味가 있었다。LLM 코딩 어시스턴트는 結果物을 迂廻하는 게 아니라 그가 所重히 여기던 部分을 迂廻한다。Marx가 區分한 客觀的 疎外(느끼든 안 느끼든 存在하는 條件)와 主觀的 疎外(그 喪失을 經驗하는 것)가 이 分裂에 거의 正確히 들어맞는다。Orchard는 애初에 行爲 自體에 客觀的으로 結縛되어 있지 않았으니 主觀的으로도 疎外를 느끼지 않지만、Lawson은 둘 다 느낀다。
흔한 反應은 이게 鄕愁이거나、새로운 匠人 技術이 옛것을 代替할 것이라는 말이다。어쩌면 그럴지도 모른다。그런데 그 反應은 實際 質問을 避해간다。코딩을 사랑하는 사람들이 왜 코딩에서 밀려나고 있는가?끌려가는 게 아니라、밀려나고 있다。아무도 그들이 손으로 코드를 짜는 것을 막지 않는다。市場이 그것에 不利益을 주고 있을 뿐이다。
무엇이 不利益을 주는가
Marx는 資本論에서 英國의 러다이트 運動을 이렇게 評했다。
勞働者들이 機械 自體와 機械의 資本主義的 適用을 區分하고、따라서 物質的 生產 手段 그 自體가 아니라 그것의 社會的 搾取 形態를 攻擊하는 法을 배우기까지는 時間과 經驗이 必要했다。
紡織機를 부순 勞働者들의 憤怒는 正當했다。方向이 잘못됐을 뿐이다。베틀이 勞働 時間을 늘린 게 아니었다。資本이 그랬다。베틀이 勞働者를 機械의 附屬物로 만든 게 아니었다。資本이 그랬다。
LLM을 쓰는 同僚와 生產性을 比較 當하는 處地에서 어쩔 수 없이 LLM을 쓴다고 말하는 소프트웨어 엔지니어들에게、疎外의 源泉은 LLM이 아니다。生計를 特定 指標에 묶어놓은 構造다。그 指標는 이제 가장 빠르게 가장 많은 產出物을 내는 사람에게 有利하다。LLM은 지렛대이고、市場이 機制다。
다만 한 가지는 짚어둬야 한다。匠人 技術과 效率 사이의 緊張은 資本主義를 걷어낸다고 해서 사라지는 게 아니다。LLM이 더 빠른 產出物을 낸다는 事實 自體는 누가 돈을 받든 받지 않든 有效하다。어떤 共同體도、어떤 方式으로 組織되든、結局 그 速度 差異를 어떻게 對할 것인가라는 質問을 避할 수 없다。資本主義는 그 質問에 가장 苛酷한 答을 준다。더 느린 쪽이 生計를 잃는다。하지만 質問 自體는 資本主義보다 오래 살아남는다。
내 狀況이 보여주는 것
나는 專業으로 오픈 소스 프로젝트를 維持補修하고 있다。벌이는 全的으로 公的 資金에서 나온다。LLM 코딩 어시스턴트를 쓰지 않으면 일자리를 잃는다고 말하는 雇用主도 없다。내 生產性을 同僚와 比較하는 分期別 評價도 없다。
이런 條件에서 나와 LLM의 關係는 Lawson이 描寫하는 것과 사뭇 다르다。興味롭다고 생각하는 코드는 如前히 손으로 짠다。하고 싶지 않은 部分들、張皇한 테스트 스캐폴딩과 數百 番 써 본 보일러플레이트는 모델에게 넘긴다。이 區分은 내 스스로 그은 線이다。무언가를 表現하는 일과 그냥 處理해야 하는 일 사이의 區分線。
Marx가 資本主義 바깥에서 機械가 할 수 있는 일이라고 想像했던 것과 가깝다。反復 勞働에서 사람을 解放시켜 더 創造的인 活動을 爲한 時間을 열어주는 것。技術이 다른 게 아니라 條件이 다른 것이다。
내 狀況을 解法으로 提示하려는 게 아니다。이런 狀況은 드물고、如前히 資本主義 經濟 안에 存在한다。臨時 避難處일 뿐 脫出이 아니다。다만 같은 道具가 한 脈絡에서는 解放的으로、다른 脈絡에서는 疎外的으로 느껴진다는 것、그 差異가 道具가 아니라 社會的 條件에서 온다는 것 만큼은 事實인 것 같다。
슬픔이 바라봐야 할 곳
原因을 안다고 해서 苦痛이 解消되는 건 아니다。只今 當場 LLM 코딩 어시스턴트를 쓰도록 내몰리고 있는 소프트웨어 엔지니어들에게 構造 分析은 오늘 午後를 도와주지 못한다。
그러나 質問을 若干 다르게 할 수는 있다。Lawson이 描寫하는 슬픔이 實在한다면、그리고 그 슬픔의 더 깊은 原因이 技術 自體가 아니라 그것을 둘러싼 關係에 있다면、슬픔이 向해야 할 곳은 LLM이 아니다。願하지 않는 道具를 願하지 않는 條件에서 쓰도록 強制하는 것이 무엇인지가 問題다。
Lawson도 이 近處 어딘가에 到達한 듯하다。
나는 새 世上을 祝賀하지 않지만 抵抗하지도 않는다。해가 뜨고 지고、나는 그 周圍를 어쩔 수 없이 公轉하며、내 抗議는 그것을 막을 수 없다。
率直하지만、諦念이 우리에게 남은 唯一한 길은 아니라고 믿고 싶다。