한 주를 망언과 함께 시작해 볼까요!

MMaximilian Schwarzmüller
컴퓨터/소프트웨어창업/스타트업경영/리더십AI/미래기술

Transcript

00:00:00오늘 아침 Vercel의 CEO인 Guillermo Rauch가 올린 흥미로운 게시물을 보게 되었는데요,
00:00:06그 내용과 더불어 코드의 역할에 대한 시사점과 제 생각,
00:00:11그리고 현재와 미래에 실제 코드가 얼마나 중요한지에 대해 이야기해 보려 합니다.
00:00:16Guillermo는 게시물에서 "코드는 결과물이며, 자연은 치유되고 있다"라고 말합니다.
00:00:21"너무 오랫동안 우리는 코드를 입력값으로 취급해 왔습니다."
00:00:23"코드를 미화하고, 직접 형식을 맞추고, 예쁘게 꾸미고, 그것에 집착했죠."
00:00:28"코드를 작성하기 위해 정교한 GUI와 IDE를 만들었습니다."
00:00:31"구문 강조, 트리 시터, 미니맵, 키보드 트리거, 인라인 자동 완성,"
00:00:37"고스트 텍스트 등을 사용했습니다."
00:00:38"어떤 컬러 스킴을 쓰시나요?"
00:00:40"우리는 API와 함수 본문의 이상적인 길이를 두고 밤새 토론했습니다."
00:00:44"이 API가 다른 사람이 읽기에 충분히 멋져 보일까? 하고 말이죠."
00:00:48"이제 우리는 요구 사항, 명세, 피드백, 디자인 영감 등 진정한 입력값에 집중하고 있습니다."
00:00:54"결정적으로 프로덕션 입력값에 주목하고 있죠."
00:00:58"우리의 코딩 에이전트는 사용자가 애플리케이션을 어떻게 경험하는지, 어떤 에러가 발생하는지 이해하고"
00:01:04"그것을 코드로 변환해야 합니다."
00:01:07"우리는 필연적으로 코드와 코더를 덜 미화하게 될 것입니다."
00:01:12"제가 함께 일했던 최고의 엔지니어들은 항상 코드를 목적을 위한 수단이자"
00:01:17"곧 다시 변환될 결과물로 보았습니다."
00:01:20와우, 이 게시물에는 정말 많은 내용이 담겨 있네요!
00:01:23이에 대해 저도 드릴 말씀이 많습니다.
00:01:27분명히, 그리고 우리 모두가 목격하고 있듯이,
00:01:35프로그래밍의 역할과 세계 전체가 급격하게 변하고 있습니다.
00:01:38많은 일들이 일어나고 있고, 특히 저와 업계의 많은 분이 느끼시겠지만
00:01:46작년 12월 Opus 4.5와 Cloud Code, 그리고 이제 Codex까지 등장하며 다시 가속도가 붙었습니다.
00:01:53거의 매주 새로운 모델과 도구들이 쏟아져 나오고 있죠.
00:01:58상황이 정말 빠르게 변하고 있습니다.
00:02:01개인적으로는 제가 만드는 콘텐츠나 강의,
00:02:06그리고 모든 것의 기초가 되는 제 작업 방식에 있어서도 그 속도를 따라가려 노력 중입니다.
00:02:10그래서 Cloud Code와 Codex에 대한 새 강의를 출시했고,
00:02:16참고로 지금 모든 강의를 아주 저렴하게 이용할 수 있는
00:02:21연간 멤버십 대규모 프로모션을 진행하고 있습니다.
00:02:24어쨌든 이 모든 변화는 우리 모두에게 영향을 미치고 있습니다.
00:02:27그게 제가 말씀드리고 싶은 핵심입니다.
00:02:28우리가 하는 일, 제가 만드는 콘텐츠, 그리고 소프트웨어를 구축하는 방식이 변하고 있죠.
00:02:35하지만 우리가 정말로 코드에서 멀어지고 있는지는 잘 모르겠습니다.
00:02:42저에게 이 글은 마치 코드가 더 이상 중요하지 않다는 것처럼 읽히는데, 저는 그 점에 상당히 반대합니다.
00:02:50과거에 우리가 API 디자인이나 변수 및 함수의 명명 규칙,
00:02:58그리고 코드의 심미성에 집착했다는 점은 인정하며, 그것은 분명 사실입니다.
00:03:07하지만 저는 이러한 부분들이 오늘날에도 여전히 중요하며,
00:03:15미래에도 그럴 가능성이 높다고 주장하고 싶습니다.
00:03:17인간의 역할이 코드를 직접 쓰는 것에서 검토하는 것으로 옮겨간다 하더라도,
00:03:24일부가 중복되거나 불필요하게 복잡하고 함수 이름이나 모양이 이상한
00:03:33지저분한 10,000줄의 코드베이스와 깨끗한 코드베이스 중 무엇을 검토하는 것이 더 쉬울까요?
00:03:41어떤 것이 검토하기 더 수월하겠습니까?
00:03:44미래에 검토 과정의 상당 부분이 기계와 AI로 넘어갈 수도 있겠지만,
00:03:50설령 그렇다 하더라도 코드의 품질이
00:03:59전혀 중요하지 않게 될 것이라고는 생각하지 않습니다.
00:04:02단순히 생성되고 검토되는 모든 토큰에 비용을 지불해야 한다는 점만 봐도 그렇습니다.
00:04:09코드를 더 깔끔하게 짤 수 있다면 코드를 생성할 때나
00:04:17검토할 때 모두 토큰 소비가 줄어들 것입니다.
00:04:19토큰 비용은 미래에 매우 중요한 요소가 될 것으로 보입니다.
00:04:25지금은 Anthropic이나 OpenAI 같은 기업들이 제공하는 보조금 혜택을 받고 있으니까요.
00:04:30우리는 실제 토큰 비용을 지불하고 있는 것이 아닙니다. 여러분이나 제가 내는
00:04:3720달러나 200달러 정도의 구독료는 말이죠.
00:04:39이런 구독 모델로 해당 업체들이 반드시 수익을 내고 있는 것은 아닙니다.
00:04:44실제 토큰 비용은 그보다 더 높습니다.
00:04:47나중에 이 기업들이 돈을 벌어야 하는 시점이 오면
00:04:54우리가 지불하는 비용은 올라갈 가능성이 큽니다.
00:04:57물론 기술적 진보 덕분에 전체적인 토큰 비용이 낮아진 후에야
00:05:02수익화가 시작될 수도 있겠지만, 아직 확실한 것은 아무것도 없습니다.
00:05:07미래의 시장이 어떤 모습일지 우리는 알 수 없습니다.
00:05:10이론적으로 비용이 낮아진다 하더라도, 기업들이 특정 가격을
00:05:16실제 원가보다 상당히 높게 책정할 수 있다면,
00:05:22그들은 기꺼이 그 마진을 챙길 것입니다.
00:05:23뭐, 이건 완전히 다른 주제이긴 합니다만.
00:05:25어쨌든 토큰과 토큰 효율성은 현재는 물론 미래에도 중요할 것입니다.
00:05:31그리고 이는 코드 품질과 직결됩니다. 일반적으로 좋은 코드, 즉 클린 코드는
00:05:39끝없이 비대해지거나 무한히 복잡해지도록 방치되지 않기 때문입니다.
00:05:47물론 과거의 프로그래머들도 가끔은
00:05:55특정 지점에서 코드를 너무 많이 작성하려는 경향이 있었다는 주장도 있습니다.
00:06:02깔끔한 API를 만들거나, 구현 당시에는
00:06:08정말 필요하지 않은 불필요한 추상화를 도입하려고 말이죠.
00:06:09사용자가 한 명도 없는 사이드 프로젝트를 하면서,
00:06:15나중에 데이터베이스를 쉽게 바꿀 수 있도록 데이터 액세스 계층을 구현하기로 마음먹고
00:06:22결국 한 번도 바꿀 일이 없었던 경험, 다들 있으실 겁니다.
00:06:24그래서 필요 이상으로 훨씬 복잡한
00:06:29어댑터를 작성하곤 했죠.
00:06:30누구나 그런 경험이 있습니다.
00:06:31그게 좋았을까요?
00:06:32아니요, 그렇지 않았습니다. 여러분이 짠 코드든 AI가 짠 코드든,
00:06:37오늘날이나 미래에도 그런 방식은 좋지 않을 것입니다.
00:06:39현재로서는—물론 바뀔 수 있지만—제 경험상 이러한 AI 모델과
00:06:45Codex, Cloud Code 같은 도구들은 일을 과도하게 복잡하게 만들고,
00:06:54별로 타당하지 않은 불필요하게 복잡한 변경 사항을 제안하는 경향이 있습니다.
00:07:02특히 현재의 Codex는 코드를 삭제하는 일은 거의 없이,
00:07:10점점 더 많은 코드를 추가하고 폴백(fallback) 코드와 레거시 처리를 덧붙이기만 합니다.
00:07:15코드를 삭제하고 오래된 API를 버리게 하려면 거의 강제로 명령을 내려야 할 정도죠.
00:07:22물론 앞으로 개선되겠지만, 지금 당장은 이런 문제들과 싸워야 합니다.
00:07:30그런데 Guillermo의 글은 이런 것들이 더 이상 중요하지 않다고 말하는 것 같습니다.
00:07:35하지만 저는 여전히 중요하다고 말하고 싶습니다.
00:07:37개발자로서 여러분은 그러한 싸움을 계속해야 하며, 실제 코드와
00:07:43코드 품질에 대해 오늘뿐만 아니라 미래에도 계속 신경 써야 합니다.
00:07:49미래가 어떻게 될지 아무도 모르지만, 여러 이유로 코드베이스가
00:07:56불필요하게 복잡해지지 않도록 유지하는 것은 항상 중요할 것입니다. 토큰 효율성도 그중 하나죠.
00:08:01토큰 효율성이 하나의 이유가 될 수 있겠네요.
00:08:02또 다른 이유는 아까 말씀드린 검토(review) 부분이고요.
00:08:08또 하나 당연한 이유는 코드가 애플리케이션의 성능에 영향을 미치기 때문입니다.
00:08:18제가 대단한 진리나 새로운 소식을 전해드리는 건 아니지만,
00:08:26이 점은 간과하기 쉽습니다.
00:08:28AI가 코드를 생성하니까 실제 코드는 더 이상 중요하지 않다고,
00:08:34리팩터링이나 재생성, 교체가 쉬우니까 상관없다고 말할 수도 있습니다.
00:08:38토큰 비용 문제를 무시한다면 그 말도 일리가 있습니다.
00:08:43하지만 생성된 코드는 당연히 애플리케이션의 성능에
00:08:51영향을 줄 수 있습니다.
00:08:53데이터베이스를 쿼리하는 방법은 여러 가지가 있습니다.
00:08:56결과가 같다는 이유로 중첩 쿼리를 돌리거나 불필요하게 많은 쿼리를 실행할 수도 있겠죠.
00:09:03네, 어쨌든 데이터는 가져왔으니까요.
00:09:04원하는 데이터를 얻긴 했습니다.
00:09:05하지만 최적화되지 않은 데이터베이스 쿼리는 사용자가 많아지는 순간
00:09:12진정한 비용을 치르게 만듭니다.
00:09:15중첩 루프나 코드베이스에 스며드는 온갖 비효율적인 요소들도
00:09:20마찬가지로 성능 저하를 일으킵니다.
00:09:23그렇기 때문에 여전히 코드 품질과 코드 최적화가 중요한 것입니다.
00:09:30미래의 AI 모델과 도구들이 그런 일을 아주 잘하게 될 것이고,
00:09:37처음부터 더 나은 코드를 생산하며 코드를 평가하고 개선할 수도 있을 것이라고
00:09:43충분히 말할 수 있습니다.
00:09:47그것은 분명 가능한 일입니다.
00:09:50하지만 그렇다고 해서 코드 품질이 중요하다는 제 주장이 꺾이지는 않습니다.
00:09:55미래의 모델이 생성하든 개발자가 직접 짜든 상관없이 말이죠.
00:09:58물론 큰 차이점이라면, AI가 이 모든 것을
00:10:04해낼 수 있는 세상에서는 인간이 그 과정에서 빠지게 된다는 것입니다.
00:10:08제 생각에 Guillermo가 하고 싶은 말도 바로 그런 점인 것 같습니다.
00:10:13하지만 그 미래가 정확히 어떤 모습일지는 알 수 없습니다.
00:10:16이 게시물에 대해 덧붙이자면, 요즘 인터넷 세상이
00:10:23어떤 식인지 저도 잘 알고 있습니다.
00:10:24도발적이어야 합니다.
00:10:25조금은 자극적이어야 저 같은 사람이 그것에 대해 영상을 만들 테니까요.
00:10:30충분히 이해합니다.
00:10:31하지만 이 글에서는 우리가 과거에 했던 모든 일들이
00:10:37마치 꽤나 어리석었던 것처럼 들립니다. 그렇지 않나요?
00:10:38안 그런가요?
00:10:39코드를 더 쉽게 쓸 수 있게 해주는 전용 도구와 GUI를 만들고 API 디자인을 논의하는 것이
00:10:45바보 같은 짓이었을까요?
00:10:46아니요, 그것은 여러분이 자신의 일에 정성을 쏟고 있다는 증거입니다.
00:10:51인간으로서 자신의 기술과 작업에 애정을 갖는 것은 당연합니다.
00:10:56그건 마치 "옛날 디자이너들은 종이에 먼저 스케치를 하고
00:11:02포토샵 같은 전문 소프트웨어를 써서 디지털 아트로 변환했다니 참 바보 같네"라고
00:11:07말하는 것과 같습니다.
00:11:08아니요, 전혀 바보 같지 않습니다.
00:11:10그것이야말로 자신의 기술과 직업을 소중히 여기는 사람과
00:11:17그렇지 않은 사람을 구분 짓는 요소입니다.
00:11:19이런 과정을 어리석거나 이상한 것, 또는 영원히 사라져야 할 것으로
00:11:29치부하는 것은 잘못된 시각입니다.
00:11:30전혀 멋진 관점이 아니에요.
00:11:32그리고 사실 우리는 지금도 새로운 소프트웨어를 만들고 있습니다.
00:11:36에이전트 중심의 엔지니어링 세상을 위해 Codex 앱이나
00:11:43요즘 나오는 온갖 AI 에이전트 앱과 GUI 같은 새로운 소프트웨어를 구축하고 있죠.
00:11:49그게 우리가 만드는 새로운 종류의 소프트웨어이며, 앞으로도 이런 일은 계속될 것입니다.
00:11:54또한 에이전트를 위한 스킬을 어떻게 적절히 작성할지,
00:12:01좋은 agents.md 파일을 어떻게 설정할지 등에 대해 계속 논의할 것입니다.
00:12:07우리가 완전히 과정에서 배제되어 더 이상 인간으로서
00:12:14아무것도 할 필요가 없어질 때까지 우리는 계속 토론할 것입니다.
00:12:16저는 그런 시점이 오지 않을 것이라 생각하고, 오지 않기를 진심으로 바랍니다.
00:12:22하지만 그런 날이 오기 전까지는, 여러분이 하는 일에 대해 의견을 갖고
00:12:29관심을 기울이는 것이 중요합니다.
00:12:31저는 그것이 정말 중요하다고 생각합니다.
00:12:33그래서 저는 코드와 코드의 구조가 계속 중요할 것이라고 봅니다.
00:12:41유일한 의문은 AI가 스스로 모든 것을 완벽하게 해낼 수 있느냐는 것이죠.
00:12:47그건 저도 모르고 지금은 아무도 알 수 없습니다.
00:12:50미래를 내다볼 수는 없으니까요.
00:12:53하지만 기본적으로 인간으로서 자신이 하는 일에 애정을 가져야 합니다.
00:12:57그것이 성공을 거두고 일을 즐겁게 하는 사람과
00:13:03그렇지 못한 사람을 나누는 차이점이라고 생각합니다.

Key Takeaway

AI가 코드를 생성하는 시대가 오더라도, 비용 효율성, 성능 최적화, 그리고 유지보수를 위해 코드의 품질과 구조에 대한 인간의 관심과 정성은 여전히 필수적입니다.

Highlights

Vercel CEO Guillermo Rauch의 "코드는 입력값이 아닌 결과물"이라는 발언 분석

AI 시대에도 코드 품질과 클린 코드가 여전히 중요한 이유 제시

토큰 효율성과 비용 측면에서 바라본 코드 최적화의 경제적 가치

코드베이스의 복잡성을 관리하고 성능을 유지하기 위한 인간의 검토 역할

자신의 기술과 직업에 대한 애정이 뛰어난 엔지니어를 만드는 핵심 요소

AI 에이전트가 코드를 과도하게 복잡하게 만드는 경향에 대한 경고

Timeline

Guillermo Rauch의 게시물과 코드의 새로운 정의

Vercel의 CEO인 Guillermo Rauch가 올린 흥미로운 게시물을 소개하며 이야기가 시작됩니다. 그는 과거에 우리가 코드를 입력값으로 취급하며 미화하고 IDE나 GUI 같은 도구에 집착했던 시대를 지나, 이제는 코드를 최종적인 결과물로 보아야 한다고 주장합니다. 이제 진정한 입력값은 요구 사항, 명세, 디자인 영감이며 코딩 에이전트가 이를 코드로 변환하는 역할을 수행하게 될 것이라고 설명합니다. 최고의 엔지니어들은 항상 코드를 목적을 위한 수단으로 보았다는 점을 강조하며 변화하는 패러다임을 제시합니다.

급변하는 개발 환경과 새로운 도구의 등장

화자는 프로그래밍의 역할과 세계 전체가 급격하게 변하고 있다는 점에 전적으로 동의합니다. 특히 작년 말부터 Opus 4.5, Cloud Code, Codex 등 강력한 AI 모델과 도구들이 쏟아져 나오며 변화의 가속도가 붙었음을 언급합니다. 이러한 변화에 발맞추기 위해 화자 본인도 새로운 강의를 출시하고 작업 방식을 변경하는 등 노력을 기울이고 있습니다. 소프트웨어를 구축하는 방식이 근본적으로 변하고 있음을 인정하면서도, 한편으로는 코드가 정말 중요하지 않게 된 것인지에 대한 의문을 제기하기 시작합니다.

미래에도 코드 품질이 중요한 경제적 이유

코드가 더 이상 중요하지 않다는 의견에 대해 화자는 강력하게 반대 의사를 표명합니다. 인간이 코드를 직접 쓰지 않고 검토만 하더라도, 지저분한 코드보다 깨끗한 코드를 검토하는 것이 훨씬 수월하기 때문입니다. 또한 미래에는 생성되거나 검토되는 모든 토큰에 비용이 발생하므로, 코드의 양을 줄이고 효율적으로 짜는 것이 곧 비용 절감으로 이어진다고 설명합니다. 현재는 기업들의 구독 모델 덕분에 저렴하게 느껴지지만, 향후 실제 토큰 비용이 원가 이상으로 책정될 때 코드 최적화는 매우 중요한 경쟁력이 될 것입니다.

AI 도구의 한계와 불필요한 복잡성 문제

과거 개발자들이 불필요한 추상화나 사용하지도 않을 기능을 구현하며 코드를 복잡하게 만들었던 실수를 되짚어 봅니다. 화자의 경험에 따르면 현재의 AI 모델들인 Codex나 Cloud Code 역시 일을 과도하게 복잡하게 만들고 불필요한 변경 사항을 제안하는 경향이 있습니다. 특히 AI는 코드를 삭제하기보다는 자꾸 덧붙이려 하기 때문에, 개발자가 의도적으로 개입하지 않으면 코드베이스가 비대해지기 쉽습니다. 따라서 코드 품질을 유지하고 불필요한 복잡성과 싸우는 개발자의 역할은 미래에도 지속될 수밖에 없음을 강조합니다.

애플리케이션 성능과 코드 최적화의 연결고리

코드가 애플리케이션의 실질적인 성능에 미치는 영향에 대해 심도 있게 다룹니다. AI가 결과를 똑같이 낸다고 하더라도 최적화되지 않은 쿼리나 중첩 루프는 사용자가 늘어나는 시점에 막대한 비용과 성능 저하를 초래합니다. 결과 데이터만 같으면 상관없다는 식의 태도는 위험하며, 데이터베이스 쿼리 하나라도 최적으로 작성하는 것이 서비스 운영의 핵심입니다. 미래의 AI가 이 모든 것을 더 잘 해낼 수도 있겠지만, 인간이 이 과정에서 완전히 배제되는 미래가 정확히 어떤 모습일지는 아직 아무도 확신할 수 없습니다.

자신의 일에 대한 정성과 엔지니어의 자부심

마지막으로 화자는 코딩 도구와 API 디자인에 공을 들이는 것이 결코 바보 같은 짓이 아님을 역설합니다. 이는 디자이너가 스케치를 하고 전문 소프트웨어를 쓰는 것처럼 자신의 기술에 정성을 쏟는 장인 정신의 발로입니다. 기술과 직업을 소중히 여기는 태도야말로 뛰어난 전문가를 구분 짓는 요소이며, 과정 자체를 무의미하게 치부하는 것은 잘못된 시각입니다. 성공하는 사람과 그렇지 못한 사람의 차이는 결국 자신이 하는 일에 얼마나 애정을 갖고 관심을 기울이느냐에 달려 있다는 메시지로 마무리합니다.

Community Posts

View all posts