DHH는 날짜를 짚었고 저는 AI에 손코딩을 넘긴 날을 모릅니다

DHH가 올해 Rails World에서 한 발표를 요약한 영상을 몇 편 봤습니다. 원본 발표를 처음부터 끝까지 본 건 아니고, 한국어로 정리해 준 유튜브 영상 네 편을 이어서 봤습니다. 발표를 남이 정리해 준 걸로 보고 대충 알았다고 넘어가는 것도, 생각해 보면 요즘 제가 코드를 대하는 방식이랑 비슷합니다. 원본을 다 읽지 않고 정리된 결과를 보고, 이상한 데가 있으면 그때 찾아봅니다. 내용이 많았는데 제일 오래 남은 건 날짜 하나였습니다.
2025년 11월 24일.
영상에 따르면 DHH는 이날을 "우리 시대의 코닥 브라우니"라고 불렀다고 합니다. Claude Opus 4.5가 나온 날입니다. 1900년에 1달러짜리 카메라가 나오면서 초상화를 그리던 화가들이 일감을 잃고 방향을 틀었던 것처럼, 그날부터 프로그래머의 일이 바뀌었다는 얘기였습니다. 그리고 기술은 비탈길처럼 매끄럽게 오르는 게 아니라 한참 평평하다가 어느 날 한 칸 뛰는 계단처럼 온다고 했습니다.
영상을 보면서 저도 모르게 제 날짜를 찾고 있었습니다. 저는 언제였지.
생각이 안 났습니다.
마지막으로 직접 친 코드
어림잡을 수 있는 건 있습니다. 2025년 9월쯤부터는 제가 코드를 직접 쓴 기억이 없습니다. DHH가 짚은 날보다 두 달쯤 앞입니다. 이걸 날짜라고 하기는 좀 어렵습니다. 9월 몇 일에 무슨 일이 있어서 그날부터 안 쓴 게 아니라, 거꾸로 짚어 올라가다 보니 그쯤부터는 기억이 비어 있다는 정도입니다. 어느 날 키보드에서 손을 뗀 게 아니라 손으로 친 마지막 줄이 언제였는지 생각해 보니 안 떠오르는 겁니다.
두 달 앞이라고 해서 제가 남들보다 빨랐다는 뜻도 아닙니다. 그때 무슨 모델을 쓰고 있었는지도 정확히 기억이 안 납니다. DHH는 특정 모델이 나온 날을 짚었는데 저는 어떤 모델 때문에 넘어왔는지를 말할 수가 없습니다. 모델이 바뀐 날은 발표가 있으니 찾아보면 나오겠지만, 제가 바뀐 날은 아무 데도 적혀 있지 않습니다.
커밋 기록을 뒤져 보면 뭔가 나올지도 모릅니다. 그래도 나온 걸 제 날짜라고 하기는 어려울 것 같습니다. 커밋은 그 전부터 AI가 쓴 코드랑 제가 쓴 코드가 섞여 있었을 테고, 어느 줄을 누가 쳤는지는 커밋 메시지에 안 남습니다. 마지막으로 제가 직접 친 줄을 찾았다 쳐도, 그건 그냥 마지막 줄이지 제가 그날 뭔가를 그만두기로 한 날은 아닙니다.
생각해 보면 이런 게 원래 날짜가 잘 없긴 합니다. 종이 지도를 마지막으로 펼친 날을 기억하는 사람은 별로 없을 겁니다. 스마트폰 지도 앱을 처음 깐 날은 기억할 수도 있지만, 종이 지도를 안 쓰게 된 날은 그냥 지나갔을 겁니다. 시작은 기억에 남는데 끝은 잘 안 남습니다. 시작할 때는 뭔가를 하지만 끝날 때는 아무것도 안 하니까요. 손코딩도 비슷하게 끝났습니다. AI를 처음 써 본 날은 어렴풋이 기억나는데, 손으로 짜는 걸 그만둔 날은 그냥 지나갔습니다.
그래서 이 글은 계단을 넘은 날 얘기라기보다, 넘은 날을 모른다는 얘기에 가깝습니다.
세 칸
되짚어 보면 칸이 있긴 했습니다. 세 칸 정도로 보고 있습니다.
처음에는 못 미더웠습니다. AI한테 코드를 맡기면 뭔가 나오긴 하는데 그걸 그대로 쓰기가 찜찜했습니다. 함수 하나를 짜 달라고 하고, 나온 걸 한 줄씩 읽고, 마음에 안 드는 데는 제가 고쳤습니다. 이 시기에는 AI가 쓴 코드랑 제가 쓴 코드가 반반쯤 섞여 있었을 겁니다. 맡긴다기보다 옆에 두고 부려 먹는 느낌이었습니다.
뭐가 못 미더웠냐고 하면 하나로 말하기가 어렵습니다. 그럴듯하게 생겼는데 틀린 코드가 제일 싫었던 것 같습니다. 틀린 코드는 원래 틀려 보이는 게 보통인데, AI가 쓴 건 틀린 것도 멀쩡하게 생겼습니다. 변수 이름도 그럴듯하고 주석도 달려 있고 들여쓰기도 반듯합니다. 사람이 짠 코드라면 이 정도로 정리돼 있으면 대체로 맞았습니다. 그 감각이 AI 코드에서는 안 맞으니까 한 줄씩 읽을 수밖에 없었습니다. 시키지 않은 파일까지 손대 놓는 것도 불안했습니다.
그 불안이 언제 없어졌는지도 모르겠습니다. 무슨 계기가 있었던 건 아닌 것 같고, 읽어 보면 맞는 경우가 계속 쌓이다 보니 한 줄씩 읽는 게 점점 아까워졌을 겁니다. 그리고 어느 시점부터는 AI가 짜는 속도를 제가 읽는 속도가 못 따라갔습니다. 다 읽으려면 제가 병목이 됩니다. 그러면 사람이 할 수 있는 건 둘 중 하나입니다. 읽는 양을 줄이든가, 짜는 양을 줄이든가. 저는 읽는 양을 줄였습니다. 이것도 정해서 한 건 아니고 그렇게 돼 있었습니다.
그러다 어느 순간 다 맡기고 관리만 하고 있었습니다. 제가 코드를 고치지 않고, 고칠 데를 말로 알려 주고 다시 짜게 했습니다. 손은 안 쓰고 지시하고 읽고 승인했습니다. 이 단계 얘기는 AI한테 분석부터 테스트까지 다 맡긴 사이드 프로젝트를 들여다본 글에 꽤 길게 썼습니다. 하는 일이 만드는 쪽에서 관리하는 쪽으로 바뀌었다고요.
그리고 또 어느 순간부터는 결과만 확인하고 있었습니다. 코드를 한 줄씩 읽지 않고, 돌려 보고, 화면을 보고, 이상한 데가 있으면 그때 들어가서 봅니다.
이렇게 적어 놓으면 꽤 또렷한 세 칸처럼 보이는데, 저한테는 그런 감각이 전혀 없었습니다. 칸을 밟은 기억이 없습니다. 첫 칸에서 둘째 칸으로 올라간 날 오늘부터는 다 맡겨 보자고 마음먹은 적이 없고, 셋째 칸에서도 이제 코드는 안 읽어도 되겠다고 정한 적이 없습니다. 지금 와서 보니 세 칸 위에 서 있는 겁니다.
DHH 말대로 기술은 계단처럼 오는 게 맞는 것 같습니다. 밖에서 보면요. 그래프로 그리면 평평하다가 어느 날 뛰는 모양이 나올 겁니다. 그런데 그 계단을 안에서 올라가는 사람한테는 비탈처럼 느껴졌습니다. 적어도 저는 그랬습니다. 한 칸 한 칸이 너무 낮아서 오르는 줄을 몰랐던 건지, 아니면 매일 조금씩 올라가니까 그게 칸으로 안 느껴졌던 건지는 잘 모르겠습니다.
아이 키가 크는 걸 매일 보는 부모는 잘 모르고, 오랜만에 온 친척이 "많이 컸네" 한다는 얘기가 있습니다. 비슷한 것 같기도 합니다. 계단을 날짜로 짚을 수 있는 사람은 어쩌면 밖에서 보는 사람이거나, 아니면 안에 있으면서도 한 발 떨어져서 자기를 본 사람일 겁니다. DHH는 후자였던 것 같고, 저는 그냥 안에 있었습니다.
이게 처음도 아닙니다. 예전에 새 모델 발표를 언제부턴가 안 열어보고 있다는 글을 쓴 적이 있는데, 그때도 그만하자고 마음먹은 날이 없었습니다. 어느 날 보니 안 열어보고 있었습니다. 그때는 그게 모델을 대하는 거리가 달라져서 그런 거라고 생각했는데, 이번 일까지 겹쳐 놓고 보니 그냥 제가 그런 사람인 것 같기도 합니다. 뭔가를 결심하고 바꾸는 게 아니라 하다 보니 바뀌어 있고, 바뀐 걸 한참 뒤에 알아채는 쪽이요.
내려간 적이 없어서
DHH 얘기를 다시 보다가 하나 눈에 띈 게 있습니다. 그는 한 번 내려간 적이 있습니다.
영상에 따르면 지난봄에 Basecamp 5를 만들면서 AI로 다 해 보려다가 물러섰다고 합니다. 영상은 올해 2월부터 5월까지를 환멸의 골짜기라고 불렀는데, 넉 달 만에 끝났다고는 해도 DHH한테는 어쨌든 기대했다가 실망하고 물러선 시기가 있었던 겁니다. 그러다 다시 올라왔습니다.
계단을 날짜로 짚을 수 있는 건 어쩌면 이것 때문인 것 같습니다. 한 번 올라갔다가 내려와 본 사람은 어디서 내려왔는지 압니다. 다시 올라갈 때 그 높이를 지나는 순간을 알아봅니다. 아, 여기가 지난번에 안 됐던 데구나, 하고요. 비교할 기준이 있으니 날짜가 생깁니다.
저는 내려간 적이 없습니다. 실망한 날이 없었을 리는 없는데, 실망해서 손으로 돌아간 기억은 없습니다. 2025년 9월 이후로 코드를 직접 쓴 기억이 없다는 게 그 말입니다. 짜증 나면 다시 시켰고, 이상하면 다시 시켰습니다. 그러니 저한테는 지난번에 안 됐던 높이라는 게 없습니다. 비교할 게 없으니 지금 몇 칸째인지도 모릅니다. 계단에서 한 번도 안 떨어진 사람은 자기가 계단에 있는지 비탈에 있는지 구분할 방법이 별로 없습니다.
영상에서 DHH가 그 뒤로 에이전트한테 작업이 아니라 문제를 맡기기 시작했다고 말했다는 대목도 있었습니다. 저는 이걸 "이 함수 짜 줘" 대신 "이게 안 되는데 고쳐 줘"로 바뀐 거라고 이해했는데, 그렇게 보면 제가 셋째 칸이라고 부른 것도 비슷한 것 같습니다. 저도 요즘은 어떻게 짜라고 말하기보다 뭐가 필요한지를 말하고 결과를 봅니다. DHH는 그 변화를 알아챘고 저는 이 글을 쓰면서 처음 알아챘습니다.
37signals가 정한 것
영상에 따르면 37signals는 손코딩을 끝내기로 정했다고 합니다. 이제 손으로 코드를 쓰는 건 Sentry 알림 같은 거라고 했답니다. 뭔가 잘못됐다는 신호요. 그럴 때는 펜을 들고 직접 고치지 말고, 코드를 만드는 에이전트 쪽을 고치라고 했다고 합니다.
이 얘기를 듣고 좀 웃겼습니다. 저는 그걸 정하지 않고 이미 그렇게 하고 있었습니다. 뭔가 잘못 나오면 제가 들어가서 고치지 않고 다시 시킵니다. 왜 그렇게 나왔는지를 설명하게 하고, 지시를 고치고, 다시 짜게 합니다. 손으로 고치는 게 더 빠를 것 같은 순간에도 그렇게 합니다. 같은 실수가 두 번 나오면 그때는 AI가 매번 읽고 시작하는 지시 파일에 적어 둡니다. 이렇게 하지 말 것, 왜 그런지까지요. 그러니 제가 고치는 건 코드가 아니라 그 파일입니다. DHH 말로 하면 펜이 아니라 공장을 고치는 거겠죠. 언제부터 그랬는지는 역시 모르겠습니다. 처음 그 파일을 만든 날은 있었을 텐데, 그날을 손코딩을 그만둔 날로 쳐야 하는지도 잘 모르겠습니다. 그 파일을 만들고 나서도 한동안은 손으로 고쳤을 테니까요.
회사는 날짜를 정할 수 있습니다. 회의를 하고, 결정을 하고, 발표를 합니다. 그날부터 손코딩은 끝이라고요. 개인은 그런 날이 잘 없습니다. 적어도 저는 그런 회의를 저 혼자 해 본 적이 없습니다. 그러니 같은 곳에 와 있어도 DHH한테는 날짜가 있고 저한테는 없는 게 당연한 것 같기도 합니다.
발표장에서 DHH가 아직 매주 손으로 코드를 쓰는 사람은 손을 들어 보라고 했더니 다섯 명 남짓이 들었다고 합니다. 저도 그 객석에 있었으면 손을 안 들었을 겁니다. 다음 질문이 언제부터 안 들게 됐냐였다면 대답을 못 했을 것 같습니다.
결과만 확인한다는 말
결과만 확인한다고 썼는데, 이 말이 좀 걸립니다. 아무것도 안 본다는 뜻은 아니기 때문입니다.
개발자라서 비개발자보다는 더 많은 걸 보고, 더 많이 고치게 시킵니다. 같은 화면을 봐도 이게 어떻게 만들어졌을지가 먼저 궁금하고, 잘 돌아가는 것 같아도 이렇게 짜면 나중에 손대기 어렵겠다 싶은 게 보입니다. 비개발자라면 돌아가니까 됐다 하고 넘어갔을 데서 저는 한 번 더 시킵니다. 이건 저보다 나은 사람이라서가 아니라 오래 코드를 짜 왔으니까 생긴 버릇에 가깝습니다.
요즘은 비개발자도 AI로 앱을 만듭니다. 코드를 쓰는 쪽에서는 저랑 그 사람들 사이가 거의 없어졌습니다. 둘 다 안 씁니다. 확인하는 쪽에서는 아직 차이가 꽤 있는 것 같습니다. 같은 결과물을 놓고 그 사람은 돌아가는지를 보고, 저는 돌아가는 방식을 봅니다. 그 차이가 개발자로서 제게 남은 거의 전부라고 생각하면 좀 씁쓸하기도 하고, 그래도 남아 있다고 생각하면 좀 다행이기도 합니다. 이 차이가 앞으로도 계속 있을지는 모르겠습니다. AI가 돌아가는 방식까지 알아서 챙기게 되면 이 차이도 없어질 텐데, 그때도 저는 그게 언제였는지 모를 것 같습니다.
AI가 다 됐다고 할 때도 그렇습니다. 저는 그 말을 들으면 일단 의심부터 합니다. 다 됐다는 게 정말 다 된 건지, 실행은 했는데 확인은 안 한 건지, 아니면 그냥 그렇게 말한 건지요. 이 의심도 손으로 코드를 짜던 시절에 생긴 겁니다. 제가 직접 짠 코드도 다 됐다고 생각한 순간에 제일 많이 틀렸으니까요. 그 기억이 아직 남아 있어서, AI가 자신 있게 말할수록 오히려 한 번 더 들여다보게 됩니다.
그러니까 "결과만 확인한다"에서 확인이라는 말 안에 제 경력이 다 들어가 있습니다. 코드를 안 쓰게 됐는데, 코드를 써 본 사람으로서 보는 건 그대로 하고 있습니다.
영상에서 DHH가 했다는 조언 중에 이게 있었습니다. 컴퓨터를 잘 아는 사람일수록 에이전트한테 너무 세세하게 지시한다고, 초심자처럼 더 높은 수준에서 물어보라고요. DHH는 자기가 Rust를 모른다는 걸 오히려 특권이라고 불렀다고 합니다. 모르니까 세세하게 간섭을 안 한다는 거겠죠.
이 얘기는 듣고 나서 한참 생각했는데 아직도 정리가 안 됩니다. 맞는 말 같기도 합니다. 제가 세세하게 시키는 게 정말 필요해서인지, 아니면 그냥 그렇게 해 와서 손이 가는 건지 저도 자신이 없습니다. 하나하나 간섭하다 보면 AI가 알아서 했으면 더 나았을 걸 제 취향으로 바꿔 놓는 경우도 있을 겁니다. 반대로 제가 안 봤으면 그대로 나갔을 것들도 분명히 있었습니다. 둘 중 어느 쪽이 더 많은지는 세어 본 적이 없어서 모르겠습니다.
그리고 걱정이 하나 더 있습니다. 지금 제가 보는 눈은 손으로 짜던 시절에 만들어진 겁니다. 이제는 손으로 안 짭니다. 그러면 이 눈은 언제까지 그대로일까요. 근육처럼 안 쓰면 빠지는 건지, 자전거 타기처럼 한 번 생기면 남는 건지 모르겠습니다. 매일 읽기는 읽으니까 아주 없어지지는 않을 것 같은데, 쓰는 사람의 눈과 읽기만 하는 사람의 눈이 같은지는 잘 모르겠습니다.
이것도 아마 날짜 없이 올 것 같습니다. 어느 날 보니 예전 같으면 바로 보였을 걸 못 보고 넘긴 걸 알게 되는 식으로요. 그때도 그게 언제부터였는지는 모를 겁니다.
DHH가 했다는 말 중에 다음 세대는 잊어야 할 습관이 없다는 것도 있었습니다. 맞는 말입니다. 그 말을 거꾸로 하면 처음부터 결과만 확인하면서 시작한 사람은 확인할 때 무엇을 봐야 하는지를 어디서 배우나 하는 질문이 됩니다. 저는 손으로 짜다가 넘어왔으니까 버릴 습관도 있지만 들고 온 눈도 있습니다. 다음 세대는 그 둘이 다 없이 시작합니다. 그게 더 나은 건지는 저도 모르겠고, 아마 DHH도 모를 것 같습니다.
아키텍처가 맞아도
앞에서 말한 Basecamp 5 얘기에는 내용이 더 있습니다. 그때 디자이너들이 바이브 코딩으로 PR을 올렸는데, 하나하나 보면 다 그럴듯했지만 모아 놓고 보니 아키텍처가 스위스 치즈처럼 구멍투성이였다고 합니다. 그래서 그때는 아직 이르다고 결론을 냈는데, 지금 와서는 그 결론이 틀렸다고 했다는군요.
저는 이 얘기에서 조금 다른 데가 걸렸습니다.
DHH가 실제로 어떻게 하는지는 모르겠습니다. 영상 몇 편으로 남이 일하는 방식을 다 알 수는 없으니까요. 그런데 제 생각엔 아키텍처가 맞더라도 그 아키텍처를 코딩하는 건 또 다른 문제입니다. 스위스 치즈 얘기는 설계가 없이 조각조각 만들어서 생긴 구멍인데, 설계를 제대로 잡아 줘도 구멍은 생깁니다. 다른 데서요.
예를 들면 이런 식입니다. 설계에서는 어떤 처리를 한쪽에 모아 두기로 했는데, 실제 코드를 보면 그게 두세 군데에 나뉘어 들어가 있습니다. 돌아가기는 합니다. 테스트도 통과합니다. 설계 문서랑 나란히 놓고 보면 다르다는 걸 알 수 있는데, 결과만 보면 아무 문제가 없어 보입니다. 이런 건 설계가 틀려서 생긴 게 아니라 설계를 코드로 옮길 때 생기는 겁니다. 사람이 짜도 생기는 일이고 AI가 짜도 생기는데, AI는 훨씬 빠르게 많이 짜니까 이런 게 더 빨리 쌓입니다.
설계는 제가 했지만 결과물은 AI가 만들었다는 글에서 AI는 화면까지는 놀랄 만큼 잘 만들어 주는데 그 뒤에 있는 것들은 몇 달 써 봐야 보인다고 쓴 적이 있습니다. 그때는 설계 쪽 얘기를 주로 했는데, 요즘은 같은 얘기를 구현 쪽에서도 하게 됩니다. 설계를 제가 했다고 구현이 제 설계대로 됐다는 보장은 없습니다.
왜 그렇게 되는지 나름대로 생각해 본 게 있습니다. 설계 문서는 아무리 꼼꼼하게 써도 모든 걸 정하지 않습니다. 정하지 않은 부분이 늘 남습니다. 손으로 짤 때는 그 빈 부분을 제가 채웠습니다. 채운다는 의식도 없이요. 이 값은 어디서 검사하지, 이 예외는 누가 받지 같은 걸 짜면서 그때그때 정했고, 그게 제 설계의 일부라고 생각하지도 않았습니다. 그냥 짜는 일이었으니까요.
AI는 그 빈 부분을 가장 흔한 방식으로 채우는 것 같습니다. 많이 본 방식이요. 그게 틀린 건 아닌데 제 방식은 아닐 때가 많습니다. 그리고 그런 게 하나둘 쌓이면 설계도는 제 것인데 집은 남의 손버릇으로 지어져 있습니다. 손코딩을 그만두면서 제가 놓은 게 타이핑만이 아니라 이 빈칸을 채우던 판단이었다는 건 꽤 나중에 알았습니다. 그래서 요즘은 그 빈칸을 설계 단계에서 미리 말로 적어 주려고 하는데, 적다 보면 이게 거의 코드를 말로 쓰는 일이 됩니다. 그럴 거면 차라리 짜는 게 낫지 않나 싶다가도, 막상 짜라고 하면 안 짤 걸 압니다.
그래서 결과를 확인할 때 제가 주로 보는 건 설계가 맞냐가 아니라 설계대로 됐냐입니다. 설계는 제가 했으니까 제 머릿속에 있습니다. 그게 코드로 어떻게 옮겨졌는지는 제 머릿속에 없습니다. 그러니 봐야 하는 건 그쪽입니다.
여기서 좀 이상한 게, 그러면 저는 지금도 코드를 보고 있는 겁니다. 코드를 안 쓰게 됐다고 했지만 코드를 안 보게 된 건 아닙니다. 결과만 확인한다고 했지만, 그 결과라는 것 안에 코드의 일부가 들어가 있습니다. 전부 다 읽지는 않고 이상한 냄새가 나는 데만 들어가서 보는 거죠.
영상에 따르면 DHH는 C++도 Qt도 모르는 채로 앱을 만들었고 코드는 한 줄도 들여다보지 않았다고 합니다. 저는 그렇게는 못 할 것 같습니다. 못 하는 건지 안 하는 건지는 해 보지 않아서 모릅니다. 그래도 제가 모르는 언어로 짠 코드를 한 줄도 안 보고 내보내는 걸 상상하면 좀 불편합니다. 그 불편함이 개발자라서 생기는 건지 그냥 겁이 많아서 생기는 건지도 잘 모르겠습니다.
어쩌면 이게 저한테 남은 마지막 칸일 수도 있습니다. 결과만 확인하던 단계에서, 결과도 안 보고 내보내는 단계로요. 그 칸도 아마 올라가고 나서야 올라간 줄 알 것 같습니다. 그게 좀 무섭습니다.
돌아갈 수 있냐고 하면
누가 손코딩으로 돌아가라고 하면 저는 못 할 것 같습니다.
문법을 잊어서는 아닙니다. 아마 조금은 잊었겠지만 찾아보면 됩니다. 문제는 시간입니다. 예전에 제가 몇 달 동안 짰을 것을 지금은 며칠이면 끝냅니다. 이걸 한 번 겪고 나면 몇 달짜리로 돌아가는 건 상상이 안 됩니다. 몇 달을 들여서 손으로 짜는 동안 그게 며칠이면 된다는 걸 계속 알고 있어야 하니까요.
못 할 것 같다는 게 어느 정도냐면, 아주 작은 것도 그렇습니다. 한 줄 고치면 되는 걸 알면서도 그 한 줄을 제가 치지 않고 시킵니다. 제가 치는 게 더 빠를 때도 있을 텐데 손이 안 갑니다. 에디터를 열고 파일을 찾고 그 줄로 가서 고치는 과정이 이제는 좀 낯설게 느껴집니다. 낯설다는 건 할 수는 있는데 안 하던 거라는 뜻입니다. 이게 한 줄이 아니라 몇 달 치가 되면 낯선 정도로는 안 끝날 겁니다.
만약 어느 날 AI를 하루 동안 아예 못 쓰게 되면 어떨까 생각해 봤습니다. 실제로 그런 날이 있었던 건 아니고 그냥 상상입니다. 아마 그날은 일을 거의 못 할 것 같습니다. 코드를 못 짜서라기보다, 무슨 일을 하든 AI한테 먼저 묻는 게 순서처럼 돼 버려서 그 순서가 없으면 어디서부터 시작해야 할지가 안 떠오를 것 같습니다. 하루라면 그냥 쉬는 날로 치면 됩니다. 그게 일주일이면 좀 곤란하고, 한 달이면 저는 그동안 뭘 하고 있을지 잘 모르겠습니다.
가끔 일부러 손으로 짜 보는 게 맞나 하는 생각도 듭니다. 계산기가 있어도 암산 연습을 하는 사람처럼요. 솔직히 안 할 것 같습니다. 며칠이면 끝날 걸 몇 달 걸려 짜는 연습을 할 시간이 있으면 그 시간에 다른 걸 하나 더 만들 것 같습니다. 그리고 손코딩 감각을 지키려고 연습한다는 건 언젠가 손코딩으로 돌아갈 날을 대비한다는 얘기인데, 그런 날이 올 거라고 생각하지도 않으면서 연습하는 건 좀 이상합니다. 그날이 온다면 아마 AI가 없어져서가 아니라 제가 요금제를 못 내게 돼서일 텐데, 그건 손코딩 연습으로 해결할 문제가 아닙니다.
영상에서 DHH는 자기가 "전문 프로그래머에서 은퇴했다"고 말했다고 합니다. 2001년부터 2026년까지 손으로 코드를 깎던 시간을 후회가 아니라 기쁨으로 돌아보자고 했답니다.
은퇴라는 말이 좀 부러웠습니다. 은퇴에는 날짜가 있습니다. 마지막 출근날이 있고, 송별회가 있고, 그날 이후로는 안 한다는 선이 있습니다. 돌아볼 수 있는 건 끝난 게 분명하기 때문입니다.
저는 은퇴를 한 적이 없습니다. 손코딩이랑 작별한 날이 없습니다. 마지막으로 짠 코드가 뭐였는지도 모르고, 그게 마지막이라는 걸 알고 짠 것도 아닙니다. 그러니 돌아볼 때 기쁨이든 아쉬움이든 뭘 느껴야 할지 잘 모르겠습니다. 끝난 줄도 모르고 끝난 걸 기쁘게 돌아보기는 좀 어색합니다.
손으로 짜던 시절이 좋았냐고 물으면, 좋았던 것 같습니다. 오래 걸리던 버그를 잡았을 때의 그 느낌 같은 거요. 그런데 그걸 그리워하냐고 물으면 또 잘 모르겠습니다. 그리워할 틈도 없이 지나갔습니다. 그리워하려면 없어진 걸 알아야 하는데, 없어진 걸 안 게 너무 늦었습니다.
DHH가 기쁨으로 돌아보자고 한 건 어쩌면 듣는 사람들한테 날짜를 하나 만들어 주려던 거였을지도 모르겠습니다. 객석에 있던 사람 대부분은 저처럼 언제 넘었는지 모르는 사람들이었을 테니까요. 오늘을 그날로 치자고요. 그렇게 보면 저도 이 영상을 본 날을 제 날짜로 삼으면 되는데, 그건 남의 날짜를 빌려 쓰는 것 같아서 별로 내키지 않습니다. 제가 그날 뭘 그만둔 것도 아니고요. 모르는 채로 두는 게 더 맞다고 봅니다.
하이퍼드라이브가 붙어 있는 곳
영상에 나온 말 중에 DHH가 "적은 구독료로 하이퍼드라이브를 얻은 셈"이라고 했다는 게 있었습니다. 저는 이 말을 듣고 제 카드 명세서가 아니라 회사 계정 생각이 먼저 났습니다.
지금 저는 개인으로 Claude Pro랑 ChatGPT Plus를 쓰고 있고, 회사 계정으로 Claude Team이랑 ChatGPT Team을 씁니다. 회사 일은 회사 계정으로 하고, 사이드 프로젝트나 글 같은 건 개인 계정으로 합니다. 이렇게 나눠 쓰게 된 얘기는 회사 구독과 개인 구독을 따로 쓰게 된 글에 썼습니다. 회사 지원이 생기면서 끊었던 개인 구독을, 한 번은 한도 때문에, 한 번은 관리자가 제 대화를 볼 수 있다는 걸 알고 나서 다시 결제했습니다.
그런데 이번에 생각한 건 반대 방향입니다. 만약 회사에서 잘리면 어떻게 하지.
잘릴 것 같아서 하는 생각은 아닙니다. 그래도 몇 달 걸리던 일이 며칠에 끝나는 걸 저만 겪고 있지는 않을 테니까, 회사가 언젠가 사람이 이만큼 필요한가를 다시 따져 보는 날이 와도 이상하지는 않다고 봅니다. DHH는 새 기술이 일을 없애지 않고 바꾼다고 했다는데, 바뀐 일에 지금만큼 사람이 필요한지는 그 말만으로는 잘 모르겠습니다.
몇 달 걸릴 걸 며칠에 끝내는 지금의 저는, 상당 부분 회사 계정 위에 있습니다. 회사 일의 대부분을 회사가 결제해 준 좌석으로 합니다. 회사를 나가면 그 좌석도 같이 없어집니다. 그러면 저는 개인 Pro랑 Plus만 남은 상태로 일을 해야 합니다. 그걸로 지금처럼 일할 수 있을지 모르겠습니다. 솔직히 따져 본 적도 없습니다. 회사 계정으로 쓰는 양이 개인 요금제로 감당이 되는 양인지 아닌지도요.
아마 안 될 것 같아서, 그러면 Claude Max나 ChatGPT Pro를 개인으로 결제해야 하나 고민이 됩니다. 둘 다 해야 하나, 하나만 해야 하나. 하나만 한다면 뭘로. 하나만 한다면 아마 회사에서 많이 쓰던 쪽을 고를 것 같습니다. 손에 익은 쪽이니까요. 그런데 생각해 보면 어느 쪽이 손에 익었는지도 제가 고른 게 아니라 다니는 회사가 어떤 걸 사 줬느냐에 따라 정해진 겁니다. 요금제 고민을 하다 보니 도구 취향까지 회사가 만들어 준 거였나 싶어서 좀 묘했습니다. 이건 아직 답이 없습니다. 아직 회사를 다니고 있으니 급한 고민은 아닌데, 한번 떠오르니까 잘 안 사라집니다.
돈만의 문제도 아닌 것 같습니다. 회사 계정으로 일할 때는 얼마나 쓰는지를 거의 신경 쓰지 않습니다. 회사가 내 주니까요. 그래서 크게 시키고, 여러 번 다시 시키고, 마음에 안 들면 처음부터 다시 짜게 합니다. 지금의 속도는 그렇게 아끼지 않고 쓰는 데서 나오는 부분이 꽤 있다고 봅니다. 제 돈이 나가기 시작하면 아마 세기 시작할 겁니다. 이 정도 일에 이만큼 써도 되나, 이건 그냥 제가 고칠까. 세기 시작하면 시키는 방식이 바뀌고, 시키는 방식이 바뀌면 속도도 달라질 겁니다. 요금제를 몇 단계 위로 올린다고 해서 지금이랑 똑같이 일할 수 있을지는 그래서 잘 모르겠습니다. 결제하는 사람이 바뀌면 쓰는 사람도 조금은 바뀔 테니까요.
예전에는 이런 걱정을 할 일이 없었습니다. 손코딩 능력은 제 몸에 붙어 있었습니다. 회사를 나가도 그대로 들고 나갑니다. 노트북 하나 있으면 어디서든 예전처럼 짤 수 있었습니다. 도구가 필요하긴 했지만 대부분 무료였거나, 아니면 있으면 편한 정도였습니다. 없다고 일을 못 하지는 않았습니다.
지금 제 생산성은 요금제에 붙어 있습니다. 그리고 그 요금제의 절반은 회사 이름으로 결제되고 있습니다. DHH가 말한 하이퍼드라이브를 저도 얻은 것 같긴 한데, 결제자가 제가 아닙니다. 회사를 나가는 순간 그 하이퍼드라이브는 회사 쪽에 남고 저는 몸만 나옵니다. 그 몸에는 예전만큼의 손코딩 능력도 없습니다. 위에 썼듯이 돌아가라고 하면 못 할 것 같으니까요.
이게 이번 일에서 제일 개인적으로 와닿은 부분입니다. 계단을 언제 넘었는지 모르는 건 좀 신기한 얘기 정도로 끝날 수 있는데, 넘고 나서 뒤를 보니 내려가는 계단이 없어져 있다는 건 신기한 얘기로 안 끝납니다.
생각해 보면 이 걱정 자체도 날짜가 없습니다. 언제부터 회사 계정 없이는 지금처럼 일을 못 하게 됐는지 모릅니다. 처음에 회사가 AI 지원을 시작했을 때는 있으면 좋은 혜택 정도였을 겁니다. 그게 어느 순간 없으면 안 되는 게 됐는데, 그 순간이 언제였는지는 역시 모르겠습니다. 계단을 하나 더 넘은 건데 이번에도 밟은 기억이 없습니다.
이직할 때 물어보는 것도 바뀔지 모르겠습니다. 예전에는 장비로 맥북을 주냐, 모니터를 몇 개 주냐 같은 걸 물었다면, 이제는 AI 요금제를 어디까지 지원해 주냐를 묻게 될지도요. 이건 그냥 떠오른 생각이고 실제로 그렇게 물어본 적은 없습니다. 물어보면 좀 이상하게 볼 것 같기도 합니다. 그런데 회사 입장에서도 비슷하지 않을까 싶습니다. 사람을 뽑으면 그 사람의 실력에 요금제가 같이 딸려 오는 거니까요. 요금제 없는 그 사람은 다른 사람일 수도 있습니다.
그렇다고 미리 Max나 Pro를 결제해 두는 건 좀 아닌 것 같습니다. 회사 계정이 있는 지금은 그게 이중 결제니까요. 그렇다고 아무 준비도 안 하고 있기도 좀 그렇습니다. 지금은 그 중간쯤에서 고민만 하고 있습니다. 회사를 나갈 일이 생기면 그때 가서 정하면 될 것 같기도 한데, 그때 가서 정하는 게 얼마나 급하게 정하는 일이 될지는 잘 모르겠습니다.
DHH는 아무도 미래를 모르니까 합리적인 선택은 낙관이라고 했다고 합니다. 그 말에 동의하는지 아닌지는 아직 모르겠습니다. 제가 지금 하고 있는 건 낙관이라기보다는 그냥 미뤄 두는 쪽에 가깝습니다.
댓글
댓글 쓰기