다 알지 못한 채로 만든다는 것
내가 만든 제품인데 나도 다 이해하지 못한다. 그래도 우리는 늘 믿을 이유가 있어서 써 왔다. 그 이유가 하나씩 사라지는 앞날에, 나는 무엇으로 남고 싶은가.
요즘 나는 내가 만든 물건 앞에서 가끔 낯선 기분이 든다. 분명 내가 만들었고, 내 이름으로 내보냈고, 고장 나면 내가 고쳐야 할 물건인데, 그 안을 다 설명해 보라고 하면 말이 막히는 곳이 있다. 한두 군데가 아니다. 많다. 실수로 무언가를 놓쳤다는 말이 아니다. 놓친 것은 다시 들여다보면 알 수 있다. 내가 말하는 건 들여다봐도 알 수 없는 쪽이다. 예를 들어 나는 TypeScript를 모른다. 그런데 AI가 TypeScript로 짠 코드를 내 이름으로 배포한다. 코드는 다 내 앞에 있는데, 나는 그걸 읽을 줄 모른다. AI와 함께 혼자 만들기 시작하면서 이런 일은 흔해졌다. 그래서 이 물음이 떠나지 않는다. 내가 만든 것을 내가 다 이해하지 못한다면, 그건 문제인가.
처음 든 생각은 원래 그렇지 않았나, 하는 것이었다. 나는 칩의 속을 모른 채 칩을 쓴다. 연필 한 자루조차 처음부터 끝까지 혼자 만들 줄 아는 사람은 세상에 없다고 한다. 나무를 베는 사람과 흑연을 캐는 사람과 지우개 고무를 만드는 사람이 저마다 자기 몫만 알고, 그 몫들이 모여 연필이 된다. 사람은 원래 자기가 다 알지 못하는 것들을 쓰고, 또 만들며 살아왔다.
예전의 나라고 더 잘 알았던 것도 아니다. 몇 해 전에 짠 코드를 지금 AI와 함께 다시 본다면 아마 버그 투성일 것이고, 생각하지 못한 edge case가 곳곳에 남아 있을 것이다. 그때 나는 내 코드를 안다고 믿었다. 아는 것과 안다고 믿는 것은 AI가 오기 전에도 이미 꽤 달랐다.
그렇다면 이해하지 못한다는 것 자체는 문제가 아닐지도 모른다. 잘 돌아가고, 망가졌을 때 누군가 고칠 수 있다면, 그리고 그 누군가가 사람이든 AI든 상관없다면, 대부분의 물건에는 그것으로 충분하다. 거실 구석의 IoT 기기가 가끔 멈췄다가 다시 켜지는 일에 철학이 필요하지는 않다. 다만 이 너그러움이 통하지 않는 물건이 있다. 원자력 발전소를 제어하는 보드라면 나는 어떤 수리도 받아들이지 않을 것이다. 안을 몰라서가 아니라, 충분히 안전하다고 말할 수 없어서다. 생명이 걸린 물건에는 나중에 고치면 된다는 말이 통하지 않는다. 나중이 없기 때문이다.
그런데 대부분의 경우 정말 괜찮았다면, 무엇이 괜찮게 만들었을까. 나는 칩의 속을 모르지만 칩을 의심하지 않는다. 왜 그런지 스스로 물어보면 대답은 싱거울 만큼 짧다. 칩은 회사가 있어서. 조금 더 늘이면 이렇다. 남들도 이 코드를 쓴다. 이 코드는 관리되고 있다. 누군가에 의해. 내가 믿은 것은 칩의 속이 아니었다. 그 속을 아는 누군가가 어딘가에 있다는 것, 나보다 먼저 같은 칩을 써 본 사람이 아주 많다는 것이었다.
부사수의 코드를 믿던 방식은 조금 달랐다. 처음에는 한 줄씩 리뷰를 해 주었고, 같은 프로젝트를 한두 번 함께 넘기면서 어느새 덜 들여다보게 됐다. 나중에는 이렇게까지 됐다. 부사수에게 시킨 코드는 내가 이해하지 못해도 믿는다. 그가 퇴직한다고 해도. 그 믿음은 함께 일한 시간에서 나왔다. 그리고 굳이 말하지 않았던 조건이 하나 있었다. 마음만 먹으면, 나는 그 코드를 읽고 이해할 수 있었다.
내 제품은 어땠나. 돌아보면 그것을 믿게 해 준 것은 대단한 이해가 아니었다. 테스트와 회사 절차, 그리고 내가 책임져야 할 범위에 대한 얕지만 알량한 이해. 그 정도였다. 그 정도로도 물건은 세상에 나갔고 대개는 잘 돌았다. 사람이 무언가를 믿고 쓰는 데 필요한 건 속을 다 아는 일이 아니라, 믿을 이유 몇 가지였는지도 모른다.
AI와 혼자 만들기 시작하면서 흔들린 것이 바로 그 이유들이다. 가장 먼저 빠진 것은 읽으면 안다는 것이었다. AI가 쓴 코드는 마음먹고 읽어도 모를 수 있다. 그걸 처음 분명하게 느꼈을 때 든 생각을 그대로 적으면 이렇다. 부사수의 코드를 내가 이해할 수 없었다면, 그건 내가 부사수이고, AI가 사수인 게 아닐까. 우리는 일을 시키는 쪽이 위에 있다고 쉽게 생각한다. 하지만 시킨 일의 결과를 읽지 못하는 사람을 정말 위에 있다고 할 수 있을까.
회사 절차도 없어졌다. 혼자 만들면 절차를 정해 주는 사람이 없다. 이건 생각보다 쉽게 풀렸다. 혼자 만들 때도 하네스를 통해 충분히 절차를 만들 수 있다. 테스트를 정하고, 리뷰를 돌리고, 배포 전에는 직접 써 보는 기간을 둔다. 달라진 건 다른 곳이었다. 혼자 만들 때는 내가 책임질 범위가 위로 올라갔다. 예전에는 내가 맡은 부분만 책임지면 됐는데, 이제는 제품 전체가 내 몫이다. 현재로서는 팀장처럼. CEO처럼.
그러니 사수와 부사수의 물음에는 이렇게 답할 수 있을 것 같다. 코드를 읽는 자리에서 나는 부사수일지 모른다. 그래도 책임지는 자리는 여전히 내 것이다. 실력이 위인 사람과 자리가 위인 사람은 회사에서도 자주 달랐다. 전문가의 코드를 다 따라가지 못하는 팀장도 팀장이었다.
문제는 그 자리도 오래가지 않으리라는 데 있다. 책임질 범위가 위로 올라갔다고 말하고 나면, 나는 미래에는 그것도 없어지겠지만, 하고 말끝을 흐리게 된다. AI가 무엇을 만들지 정하고, 만들고, 확인하고, 망가지면 책임까지 지는 날이 오면, 정하는 자리도 책임지는 자리도 사람에게서 떠날 것이다. 그때 대부분의 사람은 소비자가 될 것이다. 나는 이것을 바람이 아니라 예측으로 적는다.
그렇다면 이 물음을 피할 수 없다. AI가 사람보다 더 잘 정하고 더 잘 책임진다면, 굳이 사람이 그 자리에 있어야 할 이유가 무엇인가. 더 잘하는 쪽에 맡기는 게 옳지 않은가.
나는 이 물음을 논리로 이길 자신이 없다. 누가 더 잘하느냐로 따지면 질 수밖에 없다. 그래서 여기서부터는 증명이 아니라 선택을 적는다. 그때가 오더라도 나는 책임지고, 정하고 만드는 빌더가 되고 싶다.
왜냐고 물으면, 먼저 내가 하고 싶으니까라고 답할 수밖에 없다. 테니스를 치는 이유와 다르지 않다. 공을 더 정확하게 치는 기계가 나온다고 해서 내가 라켓을 내려놓지는 않을 것이다. 하는 일 자체가 좋은 일은, 누가 더 잘하느냐와 상관없이 남는다.
그리고 하나를 더 믿는다. 그것에 가치가 있다고 사람들이 생각해 줄 거라는 것. 근거 없는 기대만은 아니다. 지금도 많은 사람은 더 싸고 빠른 쪽을 고르지만, 어떤 사람은 장인이 만든 칼을 사고, 모양이 고르지 않은 핸드메이드 물건이나 예술 작품을 산다. 그들이 사는 것은 칼의 성능만이 아니다. 그 사람의 정성과 노력, 철학이 담긴 것을 산다. 물건을 사면서 그 물건을 만든 사람을 함께 사는 것이다.
그런 세상이 오면 일이라는 말의 뜻도 바뀔 것이다. 지금 일은 돈을 버는 것이다. 그때가 되면 돈을 버는 것이 더는 일이 아니고, 그냥 취미만 남든 취미가 곧 일이 되든 할 것이다. 물론 아직은 그때가 아니다. 지금의 나는 돈을 벌어야 하고, 지금 만드는 물건은 지금의 기준으로 팔리고 버텨야 한다. 이 글의 선택은 그 앞날을 두고 하는 것이다.
처음 물음으로 돌아가 보면, 나는 물음을 조금 잘못 세웠던 것 같다. 내가 만든 것을 내가 다 이해하지 못한다는 건 문제가 아니었다. 사람은 늘 그래 왔다. 정말 물어야 했던 것은, 이해하지 못하는 부분을 무엇을 믿고 쓰느냐였다. 칩은 회사와 사용자를 믿고 썼고, 부사수의 코드는 함께 일한 시간을 믿고 썼다. 그런 이유가 하나씩 사라지는 것, 그게 문제다.
아무도 다 이해하지 못하는 물건이 많아질수록, 사람이 만든 물건을 믿게 해 주는 건 결국 그걸 만든 사람일 것이다. 나는 그 사람으로 남고 싶다.
댓글
댓글 불러오는 중...