불만의 쓸모

요즘 설문 솔루션을 직접 만들고 있습니다. 코드는 AI가 쓰고, 저는 방향을 말합니다. 그런데 이 일이 이상하리만큼 즐겁습니다.

리서처로 일하는 동안 저는 도구에 저를 맞춰왔습니다. 이 문항 흐름은 지원이 안 되니 포기하고, 이 응답 방식은 없으니 타협하고. 어느 도구도 제 리서치 철학을 물어본 적이 없습니다. 기능 목록이 곧 철학의 상한선이었습니다.

바이브코딩이 뒤집은 것은 그 방향입니다. 이제 도구가 철학에 맞춰집니다. 어떤 솔루션도 제공하지 않던 기능이, 제가 원한다는 이유 하나로 존재하게 됩니다.

돌아보니 이 즐거움의 정체는 코딩이 아니었습니다. 그동안 쌓아둔 불만이 전부 사양서였다는 발견입니다. “왜 이건 안 되지”라고 중얼거리던 순간들이 사실은 가장 정직한 요구사항 정의서였던 셈입니다.

당신이 도구에게 품어온 불만도, 이제 목록이 아니라 제품이 될 수 있습니다.


경계가 병목입니다

AX가 어렵다고 하면 보통 기술을 탓합니다. 좋은 모델이, 좋은 도구가 없어서라고요. 그런데 제가 보기엔 진짜 병목은 다른 곳에 있는 것 같습니다. 사람과 사람 사이에 그어진 경계요.

AX가 잘 되려면 어떤 업무는 개선되는 게 아니라 통째로 사라져야 합니다. 그런데 그 일을 쥐고 있는 사람에게는 자기 일을 지킬 이유가 있습니다. 자기 역할과 책임의 범위가 곧 자리의 근거니까요. 그래서 사람이 많은 큰 조직일수록, 지켜야 할 경계도 많아집니다. 한때 조직을 강하게 만들던 명확한 분업이, 변화 앞에서는 가장 단단한 저항선이 되곤 합니다.

작은 조직이나 경계 없이 일하는 팀은 지킬 선이 적습니다. 빨라서라기보다, 잃을 게 적어서 변화가 통과되는 쪽에 가깝습니다.

한 가지 덧붙이고 싶은 게 있습니다. 이런 변화를 가장 잘 만드는 사람은 코드를 조금 다룰 줄 아는 사람이 아니라, 그 문제를 오래 붙들고 깊게 고민해 온 사람이더라고요. 도구는 이제 누구나 손에 쥘 수 있으니, 남는 차이는 결국 문제를 얼마나 정확히 아느냐인 것 같습니다. 어설픈 기술보다 진짜 이해가 앞서는 시대가 온 게 아닐까 싶습니다.

지켜야 할 경계가 적고, 문제를 깊이 아는 사람. 어쩌면 지금 가장 유리한 자리일지도 모르겠습니다.


핑계가 하나 사라졌습니다

저에게는 오랫동안 핑계가 하나 있었습니다. 이런 설문 도구가 있으면 좋겠다는 그림이 머릿속에 있어도, 만들 줄을 모르니 어쩔 수 없다고요. 아이디어는 제 것인데 구현은 늘 다른 사람의 몫이었고, 그 사이에서 제가 담고 싶던 생각은 조금씩 덜어졌습니다.

요즘은 그 핑계를 대기가 어려워졌습니다. 머릿속 그림을 조금씩 화면 위에 옮겨보고 있거든요. 제가 좋다고 생각하는 질문의 방식, 응답자를 대하고 싶은 태도를 그대로 담아볼 수 있다는 게 신기하고 즐겁습니다. 코드를 잘 몰라도, 무엇을 원하는지만 알면 되더라고요.

다만 만들다 보니 막히는 곳이 기술이 아니라 저 자신이었습니다. “어떻게 만들지”보다 “내가 정말 원하는 게 뭐였지”를 더 자주 묻게 됩니다. 제 관점이 생각보다 막연했다는 걸 도구가 가르쳐 주네요.

직접 만들어볼 수 있는 시대라는 게, 요즘 저에게는 작은 축복처럼 느껴집니다.


알맹이라는 핑계

어떤 강의를 듣고 실망한 적이 있다. 이름값에 비해 알맹이가 없었다. 저 사람은 셀프 브랜딩만 잘하는구나, 하고 좀 시큰둥해졌다.

그런데 이 생각은 이상하게 달다. 손쉬운 위로처럼 보이지만, 다독이는 척하면서 나를 슬그머니 더 낮은 자리에 앉힌다. 그 구도 안에서 조용히 있는 나는 자동으로 진짜 실력자 쪽에 선다.

가만 보면 좀 수상하다. 그 사람은 사람들이 뭘 원하는지 정확히 알고, 듣고 싶은 형태로 건넨다. 나는 그걸 못 해서 안 하는 건데, 못 하는 걸 안 하는 게 아니라 더 고상한 일처럼 여기고 있었다.

능력이 보상으로 바뀌는 길목엔 늘 전달이 있다. 상대가 원하는 걸 알아채고, 원하는 모양으로 주는 일. 그게 포장이라면 포장도 실력이다. 어쩌면 알맹이보다 어려운.

내가 그동안 알맹이라고 부른 건, 혹시 아무도 원하지 않는 걸 혼자 끌어안고 있었던 건 아닐까.


큰 파도는 안 떠밀려 온다

점심을 먹다 동료가 그랬다. 요즘 변화가 너무 빠르다고. 1년쯤 휴직했던 사람이 돌아오면 얼마나 놀랄까, 하는 이야기였다.

나도 맞장구를 쳤다. 특히 올해 2월부터는 체감이 확 달라졌으니까. 그런데 돌아오는 길에 좀 머쓱해졌다. 내가 느끼는 변화라는 게, 바다에 둥둥 떠서 잔물결에 오르락내리락하는 정도 아닐까 싶어서.

사람들은 흔히 변화를 파도에 비유한다. 그 비유를 빌리자면, AI로 일이 편해지는 건 잔물결 쪽인 것 같다. 가만히 떠 있어도 몸이 알아서 오르내린다. 굳이 헤엄치지 않아도 된다. 편하고, 그래서 기분도 좋다. 매일의 변화는 대체로 이렇게 수동적으로도 누릴 수 있다.

문제는 그 편한 부유감에 익숙해지면, 바다 전체가 그렇게 움직인다고 착각하게 된다는 거다.

같은 비유를 좀 더 밀고 가본다. 정작 올라탈 만한 큰 파도는 떠 있는 자리로 와주지 않는다. 그건 한참 바깥에서 만들어진다. 올라타려는 사람은 미리 그쪽으로 헤엄쳐 나가 있어야 하고, 파도가 차오르는 순간 같이 속도를 내야 겨우 얹힌다. 가만히 떠 있던 사람 위로는 그냥 부서지며 지나가 버린다.

매일의 잔물결은 그냥 즐기면 된다. 다만 그 편안함에 길든 채로, 정작 올라타야 할 바깥의 파도를 멍하니 흘려보내고 있는 건 아닌지. 점심 이후로 그게 계속 마음에 걸린다.


고치면서 만든 블로그

완성하고 시작한 게 아니에요. 쓰면서 고쳐왔어요.

처음엔 Astro 기본 템플릿이었어요. 그걸 Seth Godin 블로그처럼 바꿨어요. 목록 대신 포스트 본문이 홈에 바로 보이는 방식이요. 읽는 사람이 클릭 없이 바로 글을 만날 수 있도록.

검색은 Pagefind로 붙였어요. 처음엔 사이드바에 달았다가, 전용 페이지로 옮겼어요. 사이드바가 너무 복잡해 보였거든요.

개별 포스트 페이지는 꽤 손을 많이 봤어요. 제목과 날짜 순서를 바꾸고, X·LinkedIn·링크 복사 공유 버튼을 달았어요. 이전/다음 글 버튼은 history.back()으로 만들었다가, 직접 URL로 링크를 연결했어요. URL로 접근하면 뒤로 가기 히스토리가 없어서 버튼이 작동하지 않더라고요.

뉴스레터 초안도 자동화했어요. 글을 배포하면 Buttondown에 draft가 자동으로 생성돼요. 발행 버튼만 누르면 되는 상태로요.

파비콘은 토끼로 만들었어요. 지금 브라우저 탭에 보이는 그거요.

아직 고칠 게 있을 거예요. 그때 또 고치면 돼요.


다리가 후들거렸다

2월에 허리 시술을 받고 2주를 입원했어요. 퇴원할 때 몸무게가 6킬로 빠져 있었어요. 근육이 그렇게 빨리 사라지는지 처음 알았어요. 도수치료를 20회 받고 나서 통증은 거의 없어졌는데, 문제는 근육이 사라진 자리였어요.

누군가가 내 몸을 고쳐주는 단계에서, 내가 직접 내 몸을 움직이는 단계로 넘어왔어요. 그것만으로도 이미 충분히 좋았어요.

오늘 처음 필라테스를 했어요. 동작 하나하나에 다리가 떨렸어요. 즐거운 경험이었다고 쓰면 거짓말 같지만, 진짜로 즐거웠어요. 잃어버린 걸 되찾는 일에는 이상하게 기분이 좋은 면이 있는 것 같아요.

매주 두 번, 빠지지 않기로 했어요. 20회가 끝날 때쯤 몸이 어떻게 달라져 있는지, 그때 다시 기록해볼게요.


심판도 AI였다

해커톤 심사를 AI가 맡았다. AI를 활용한 해커톤이라 AI로 평가한다는 발상 자체는 자연스럽다.

동료평가에서 2등을 한 팀이 있었다. 참가자들이 직접 보고, 직접 평가했다. 그 팀이 탈락했다. AI 점수 때문에.

기준은 있었다. AI가 무엇을 보고 평가하는지는 알 수 있었다. 그런데 AI가 그 기준을 실제로 제대로 적용했는지는 알 수 없었다. 인간 심사위원이라면 이의를 제기하거나, 근거를 물어볼 수 있다. AI에게는 그 과정이 없었다. 결과만 있었다.

결국 AI 프로덕트를 쓰는 건 사람이다. 사람들이 좋다고 한 것을 AI가 탈락시켰다. 기준이 있다는 것과, 기준이 제대로 적용됐다는 것은 다른 말이다.


기계는 알고 있었다

내 위키(dataofmen.github.io)가 실제로 작동하는지 의심스러웠다. 노트 4천 개. 지식인지 잘 분류된 쓰레기통인지 확신이 없었다. 그래서 직접 확인했다.

페이지는 갱신되고 있었다. 모순은 195개가 표시되어 있었다. 노트는 전부 연결되어 있었다. 내가 모르는 사이에 시스템은 제 역할을 하고 있었다.

그런데 그게 문제다. 내가 직접 들여다보기 전까지는 몰랐다는 것.

좋은 지식 시스템이라면 이번 주에 새 개념이 몇 개 생겼는지, 몇 개 페이지가 갱신됐는지, 모순이 새로 발견됐는지를 스스로 보고해야 한다. 오랫동안 열지 않은 노트가 새 정보로 업데이트됐을 때 알림을 줘야 한다. 내 지식이 얼마나 빠르게 성장하고 있는지 그래프로 보여줄 수 있어야 한다.

직접 grep을 써서 확인해야 신뢰할 수 있는 시스템은 시스템이 아니다.

Karpathy는 지식 시스템의 메커니즘을 설계했다. 하지만 신뢰는 설계하지 않았다. 작동하는 것과 믿을 수 있는 것은 다른 문제다.


편리함의 값

집에 비타500 하나 없었다.

기사님이 에어컨을 달고 나가시는 걸 보면서 그게 제일 먼저 떠올랐다. 음료수라도 드렸어야 했는데. 박카스든 하늘보리든 뭐라도.

외국에서는 에어컨 설치에 몇 주씩 걸린다고 한다. 직접 겪어보진 않았지만, 어제 샀는데 오늘 달렸다는 게 어느 나라에서나 당연한 일은 아닌 모양이다.

이 속도가 가능한 건 기사님들의 노고가 있기 때문일 텐데. 벌이는 괜찮으신 걸까, 막연한 마음이 들었다. 지금 에어컨 바람이 너무 시원해서 하는 생각일지도 모른다. 아무튼, 비타500 한 박스 사러 가야겠다.


쉬운 길이 달라졌다

워드프레스 호스팅을 알아보다 결국 직접 만들었다. 그게 더 쉬웠다.

워드프레스 유료 호스팅은 파일에 직접 접근하려면 더 비싼 플랜을 써야 한다. 내 사이트인데 내 마음대로 수정하는 데 돈을 내는 구조다. 그게 싫었다.

대신 찾은 건 Astro와 Vercel의 조합이었다. 둘 다 무료고, 코드는 내 것이다. Claude Code로 원하는 대로 디자인을 바꾸고, 기능을 붙이고, 배포까지 했다. 플러그인을 찾아 헤맬 필요가 없었다.

이전에는 ‘직접 만든다’는 게 개발자의 일이었다. 지금은 문제를 정확히 말할 수 있는 사람이면 직접 만들 수 있다. AI가 실행을 담당하기 때문이다.

플랫폼이 접근 권한을 팔던 시대가 끝나고 있다.


확신의 크기만큼

주변에서 투자 얘기가 많다. 다들 뭔가를 사고 있고, 다들 뭔가를 놓쳤다고 한다.

나는 한동안 고슴도치처럼 굴었다. 한 가지에 꽂혀서, 새로운 정보가 들어와도 생각을 잘 안 바꿨다. 요즘은 여우처럼 계속 살피면서 틀릴 수 있다는 걸 열어두는 게 맞다고 생각한다. 그렇게 계속 업데이트하다 보면 확신이 자연스럽게 커지기도 하고, 줄어들기도 한다.

초보한테 레버리지 하지 말라는 말이 있다. 맞는 말이다. 근데 그 말을 하는 사람들은 책임지지 않는다. 당신의 인생을 바꾸는 건 결국 당신의 베팅이다.

확신 없이 크게 들어가면 공포가 된다. 확신이 있는데 작게 들어가면 후회가 된다.


AI를 길들이는 방법

Claude에게 같은 부탁을 매번 반복하고 있다면, 그건 도구의 한계가 아니라 방법의 문제다.

Skill은 Claude에게 일하는 방식을 가르치는 기능이다. “블로그 글 쓸 때는 이런 톤으로, 이런 구조로” — 이걸 한 번만 정의해두면, 다음부터는 /블로그 한 단어로 충분하다.

신입사원에게 업무 매뉴얼을 주는 것과 비슷하다. 다른 점이 있다면, 이 직원은 절대 잊지 않는다.

반복되는 지시가 사라지면 남는 건 진짜 일이다.


읽지 않고 이해하는 법

공부의 병목은 읽는 속도가 아니다. 이해하는 속도다.

NotebookLM은 PDF, 강의 자료, 녹음 파일을 업로드하면 그 안에서 질문을 받아준다. “이 챕터에서 가장 중요한 개념이 뭐야?”, “이 부분 더 쉽게 설명해줘” — 책을 아는 친구에게 묻는 것처럼.

처음엔 반신반의했다. 시험 전날 100페이지짜리 논문을 10분 만에 핵심만 정리해줬을 때 생각이 바뀌었다.

도구가 달라지면 공부의 의미도 달라진다. 이제 공부는 정보를 넣는 일이 아니라, 정보와 대화하는 일이다.


AI가 내 캘린더를 읽는다

구글 캘린더를 Claude에 연결하면 일정을 말로 관리할 수 있다.

“다음 주 목요일 오후 2시 치과 예약해줘.” 클릭 없이, 앱 없이. Claude가 캘린더에 직접 등록한다.

더 흥미로운 건 맥락을 이해한다는 점이다. “이번 주 집중할 시간 블록 3개 잡아줘”라고 하면 기존 일정을 보고 빈 시간을 찾아준다. “바빠 보이는 날 줄여줘”같은 말도 통한다.

일정 관리의 진짜 부담은 등록이 아니라 생각이었다. 언제 뭘 할지 결정하는 것. 그 부분을 대화로 처리할 수 있게 되면, 캘린더가 달라 보인다.