왜 코딩을 사랑하는 사람들이 코딩에서 밀려나는가

Les Orchard가 最近(최근)에서 짚어낸 觀察(관찰) 하나가 머릿속에서 떠나지 않는다。LLM 코딩 어시스턴트가 나오기 ()까지는、소프트웨어 엔지니어들 사이의 分裂(분열)은 보이지 않았다。

匠人(장인) 氣質(기질)의 사람들과 일단 돌아가면 된다는 사람들이 나란히 앉아 같은 製品(제품)을 만들면서도 區分(구분)이 안 됐다。일의 動機(동기)가 보이지 않았던 것은 過程(과정)同一(동일)했기 때문이다。

道具(도구)分裂(분열)을 만든 게 아니었다。이미 있던 分裂(분열)을 드러낸 것이다。

Orchard 自身(자신)은 첫 ()째 진영이다。일곱 살에 BASIC을 배운 건 BASIC이 아름다워서가 아니라 畫面(화면)에 무언가를 나타나게 하고 싶어서였다。그에게 LLM 코딩 어시스턴트는 언제나 오르던 사다리의 다음 段階(단계)일 뿐이다。퍼즐이 사라진 게 아니라 더 높은 抽象(추상) 水準(수준)으로 옮겨갔다。그도 슬프긴 하지만、슬퍼하는 건 일 자체가 아니라 일을 둘러싼 生態系(생태계)다。

Nolan Lawson의 슬픔은 다르다。二月(2월)에 올라온 그의 글을 보자。

코드를 손으로 쥐고 彫刻家(조각가)처럼 빚는 느낌이 그리울 것이다。새벽 二時(2시)에 디버거 앞에서 씨름하다 마침내 버그가 降伏(항복)하는 밤이 그리울 것이다。우리가 자랑스러워했던 무언가를、眞情性(진정성) 있고 옳고 좋은 것을 만들었던 느낌이 그리울 것이다。

그의 글은 挽歌(만가)처럼 읽히고、그 안의 슬픔도 ()짜다。그가 哀悼(애도)하는 것은 行爲(행위)自體(자체)다。

두 사람 다 思慮(사려) 깊고 率直(솔직)하지만、같은 瞬間(순간)을 바라보며 다른 것을 느끼고 있다。이 非對稱(비대칭)眞摯(진지)하게 받아들일 필요가 있다。그냥 適應(적응)하라論議(논의)繼續(계속) 놓치는 무언가를 가리키기 때문이다。

行爲(행위)로부터의 疎外(소외)

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도 이 近處(근처) 어딘가에 到達(도달)한 듯하다。

나는 새 世上(세상)祝賀(축하)하지 않지만 抵抗(저항)하지도 않는다。해가 뜨고 지고、나는 그 周圍(주위)를 어쩔 수 없이 公轉(공전)하며、내 抗議(항의)는 그것을 막을 수 없다。

率直(솔직)하지만、諦念(체념)이 우리에게 남은 唯一(유일)한 길은 아니라고 믿고 싶다。