AI를 믿기 위한 과정
저는 처음부터 AI를 믿지 않았습니다. 지금도 믿지 않아요. 그런데 제 코드는 대부분 AI가 씁니다. 지난 글에 적었듯 일주일에 267개의 PR이 머지되는 방식으로요. 믿지 않는 상대에게 일을 맡기는 사람은 무언가를 하고 있어야 합니다. 이 글은 그 무언가에 대한 이야기입니다. 믿지 않는 데서 출발해서, 맡길 수 있게 되기까지 무엇을 쌓아 왔는지에 대한 이야기예요.

저는 처음부터 AI를 믿지 않았습니다. 지금도 믿지 않아요. 그런데 제 코드는 대부분 AI가 씁니다. 지난 글에 적었듯 일주일에 267개의 PR이 머지되는 방식으로요. 믿지 않는 상대에게 일을 맡기는 사람은 무언가를 하고 있어야 합니다. 이 글은 그 무언가에 대한 이야기입니다. 믿지 않는 데서 출발해서, 맡길 수 있게 되기까지 무엇을 쌓아 왔는지에 대한 이야기예요.

요즘 제가 일하는 방식이 meat proxy가 아닌가 하는 생각을 자주 합니다. 글을 AI에게 맡겨 보고, 마음에 안 들어 고치고, 고친 것을 규칙으로 만들어 다시 맡기는 일을 반복하던 중이었거든요. 그러다 이 단어를 만났고, 한 번 떠오른 질문은 잘 가라앉지 않았습니다. '나는 지금 읽고 있는 사람인가, 아니면 그저 옮기고 있는 사람인가.'

존경하는 사람의 글에서 제 이력서를 읽게 될 줄은 몰랐습니다. 얼마 전 폴 그레이엄이 'The Brand Age'라는 에세이를 올렸어요. 스위스 시계 산업이 어떻게 정밀 기계의 세계에서 명품 브랜드의 세계로 넘어갔는지를 추적하는 글인데, 저는 읽는 내내 시계 생각을 못 했습니다. 자꾸 제 지난 몇 년이 겹쳐 보였거든요.

프롬프트 엔지니어링을 공부하라던 게 엊그제 같은데, 곧 RAG를 모르면 뒤처진다고 했고, 에이전트의 해가 왔고, 하네스를 이야기하다가, 루프가 답이라더니, 요즘은 다시 그래프 이야기를 합니다. 이름이 바뀔 때마다 다들 와다다 몰려가죠. 솔직히 저도 그 대열에 몇 번 섞여 있었습니다.

모노레포는 고통에서 나왔습니다. 프로젝트마다 저장소를 따로 두면 코드가 깔끔하게 나뉠 것 같지만, 실제로는 같이 바뀌어야 할 것들이 따로 바뀌기 시작합니다. 공유 라이브러리의 버전이 저장소마다 어긋나고, 기능 하나가 PR 서너 개로 흩어지고, 전체를 관통하는 리팩토링은 아무도 손대지 못하게 됩니다.

얼마 전 다른 회사에 다니는 개발자분과 이야기를 나누다 조언을 하나 들었습니다. 이제 TypeScript는 접고 Go나 Rust로 갈아타는 게 좋지 않겠냐는 것이었습니다. 근거는 세 가지였습니다. 느리고 무겁다, 결국은 스크립트 언어다, 그리고 AI 시대에는 끝난 언어다.
