[번역] AI가 코드를 작성하는 동안 프로그래머는 무엇을 해야 할까?
Soshy·

요즘 거의 모든 프로그래머가 비슷한 성장통을 겪고 있다. 처음으로 스피드 포스(Speed Force)를 손에 넣은 배리 앨런(나이가 좀 있다면 제이 개릭)처럼, 우리의 의도가 따라가지 못할 정도로 빠르게 달리고 있다.
많은 사람들과 마찬가지로 AI는 어느 날 갑자기 내 일상적인 업무에 들이닥쳤고, 곧바로 효과를 보여줬다. 예전에는 며칠씩 걸리던 일을 몇 시간 만에 끝낼 수 있었다. 크고 복잡하고 만만치 않은 프로젝트를 맡아도 빠르게 결과를 낼 수 있었다.
생산성이 5배쯤 높아졌다. 그렇다면 다음으로 할 일은 뻔하지 않은가? 5배 더 많은 일을 해야 하는 것 아닌가?
그래서 실제로 그렇게 했다. 나뿐만 아니라 주변 친구들과 동료들도 비슷했다.
인프라 문제의 냄새가 나는 버그 리포트? 내가 맡지.
사용자 설정을 관리하는 새 페이지? 이제 이것도 범위에 넣자!
사용자를 차단하는 관리자 도구? 감독님, 저 투입해 주세요!
PR이 산더미처럼 쌓였다. AI는 대신 Linear 티켓을 작성하고, 스레드에 답변하고, 프로젝트 요약까지 만들어줬다. 나는 말 그대로 모든 곳에서, 모든 일을, 한꺼번에 하고 있었다.
하지만 사랑에 빠진 요리사의 머리 위에 올라탄 라쿤처럼, 상황을 완전히 통제하고 있지는 못했다.
그리고 몇 달이 지나자 완전히 번아웃이 왔다. 생산성 얘기를 해보자면, 예전보다 10배는 빠르게 나 자신을 소진시키는 데 성공했다! 이것이야말로 진정한 속도 아닌가!
결국 한발 물러나 스스로에게 물어야 했다. 이렇게 새롭게 얻은 생산성을 어디에 써야 할까? 분명히 “더 많은 일을 더 빡세게 하는 것”은 답이 아니었다. 맥락은 자꾸 사라졌고, PR은 몇 주씩 방치된 채 잊히곤 했다. 리뷰도 이전만큼 꼼꼼하지 못했다.
천천히 일하기
그 길을 계속 가는 대신 잠시 멈춰서, 내가 직장에서 시간을 가장 잘 쓰는 순간이 언제인지 생각해 봤다.
나에게 가장 좋은 시간은 무언가를 배우거나, 다른 사람이 배울 수 있도록 도울 때였다.
내 에이전트(agent)가 루프를 시작하고, 서브 에이전트(sub-agent)를 띄우고, 스스로 리뷰하고, PR을 차곡차곡 만들어 가는 동안… 나는 또 다른 작업 루프를 시작하는 대신 그냥… 무언가를 읽으면 어떨까?
회사 친구에게 DM을 보내서 같이 페어 프로그래밍을 해볼 생각이 있냐고 물어보면 어떨까?
아니, 아예 내가 글을 쓰면 어떨까? (생각해 보면 내가 글 쓰는 웹사이트에서 일하고 있으니 진작 떠올렸어야 했다.)
그래서 실제로 그렇게 하기 시작했다. 기술 아티클과 블로그 글을 정말로 읽기 시작했다. 나는 15년 넘게 웹 개발을 해왔고, 그러다 보니 모든 글을 엄청나게 빠르게 훑어보는 능력 이 생겼다. 필요한 코드 조각이나 결론, 필요한 라이브러리로 이어지는 링크만 찾아다녔다.
AI가 나오기 전에는 그렇게 할 수밖에 없었다. 코드를 작성하는 데 워낙 시간이 오래 걸렸기 때문에, 다른 사람이 길게 늘어놓은 블로그 글을 천천히 소화할 여유가 없었다.
하지만 그러면서 놓친 것이 있었다. 바로 우리 업계의 아주 인간적인 면이다. 재미있는 글을 쓰는 사람들, 서로 공감할 수 있는 삶의 경험, 그리고 그들이 걸어온 과정 말이다.
물론 솔직히 말해서 Stack Overflow 글 대부분은 대충 훑어봐도 된다… 하지만 전부 그런 것은 아니다!
요즘은 문서도 훨씬 꼼꼼하게 읽는다. React의 ViewTransition이 어떻게 동작하는지 이해하려고 한다. 예전처럼 필요한 코드 조각만 찾아 구현한 뒤, 문제가 생기면 그때부터 디버깅하는 식으로 접근하지 않는다.
이렇게 꼼꼼하게 읽은 내용은 에이전트와 대화하는 방식에도 영향을 줬다. 기능 전체의 범위를 충분히 이해하는 데 시간을 쓰다 보니, 내가 직접 구현했다면 선택했을 방향으로 에이전트를 훨씬 의식적으로 이끌 수 있게 됐다.
글쓰기
요즘 내가 시간을 가장 잘 쓰고 있다고 느끼는 방법은 무엇일까? 바로 글쓰기다.
나는 거의 매일 TK에 일기를 쓴다. 예전 같았으면 이런저런 생각을 적는 데 15분이나 쓸 만큼 한가하지 않다고 느꼈을 것이다.
그런데 무슨 일이 일어났는지 아는가? 사람들이 읽었다! 댓글도 달았다! 나는 실제 사용자들과 이야기했고, 그 과정에서 새로운 기능 아이디어도 생겼다. 우리가 구현한 투고 규칙은? 콘텐츠 캘린더는? 새 편집자 페이지는?
모두 사람들이 내가 남긴 업무 노트를 읽고 댓글을 달면서 시작된 것들이다.
높아진 생산성을 실제 사용자에게 정말 유용한 무언가를 만드는 데 쓸 수 있다. 그 정도라면 토큰 비용도 충분히 가치가 있다.
그 유혹이 어떤 것인지 안다. 백로그는 끝이 없고, 지난번에는 하루 만에 무언가를 출시해서 관리자를 놀라게 했다. 그러니 그때의 짜릿함을 다시 느끼고 싶어진다. LinkedIn을 열어보면 또 모두가 자기가 출시할 사이드 프로젝트 이야기를 하고 있다.
하지만 속도를 늦추고 내 생각을 글로 적으면서 한 가지를 배웠다. 신중하게 일하는 것이 장기적으로는 더 높은 생산성으로 이어진다는 사실이다.
결정을 충분히 고민하고, 제품에 대해 생각하고, 머릿속의 생각을 글로 남기거나, 동료에게 먼저 말을 걸어보는 데 시간을 쓴다면 얼마나 많은 것을 배울 수 있는지 놀라게 될 것이다.
지금의 나는 예전보다 10배 많은 것을 출시하지 않는다. 대신 내가 출시하는 것들은 10배 더 의미 있어졌다.