바이브 코딩에서 바이브 엔지니어링으로 – 킷제(Kitze), Sizzy

채널 아이콘
AI Engineer 구독자 99,800명

요약

이 발표에서는 LLM(대형 언어 모델)과 에이전트 기반 도구를 활용해 개발 생산성을 극대화하는 방법을 다룹니다. 바이브 코딩(Vibe Coding)부터 바이브 엔지니어링(Vibe Engineering)으로 진화한 개발 패러다임을 설명하며, 잘못된 추상화, 반복 코드에 대한 집착, 도구 선택의 함정 등을 짚습니다. 실전 팁으로는 에이전트 사용 시 컨텍스트 설정, 음성 코딩 워크플로우, 초보자·시니어 대상 경영 전략을 제시합니다.

주요 키워드

LLM 바이브 코딩 바이브 엔지니어링 VIP 코딩 에이전트(Agentic Coding) Composer One 프롬프트 엔지니어링 추상화 개발 생산성 레거시 유지보수

하이라이트

  • 🚀 발표 초반에 소개된 프로젝트: Sizzy(개발자 전용 브라우저), Life OS(올인원 플래너), Zero to Ship(스타터 키트), Glink(릴리즈 로그 도구)를 통해 발표자의 멀티태스킹 역량이 돋보입니다.
  • ⚡️ 10년 전 발표한 ‘하이퍼드리븐 프론트엔드’ 강연을 회고하며, CSS 선택자 스타일링이 2037년에도 미완성일 가능성을 유머러스하게 지적합니다.
  • 🔑 LLM은 완벽한 코드를 작성하지만 과도한 추상화로 사용자에게 쓸모없어질 수 있어, 적절한 반복 코드를 허용하는 마음가짐이 필요함을 강조합니다.
  • 🌟 ‘바이브 코딩’이란 용어를 제안한 Andre Kapati의 에세이를 소개하며, 코드 품질보다 토큰 소비 속도로 결과물을 얻는 개발 방식을 설명합니다.
  • 📌 관리자(VIP) 코딩과 카지노 슬롯머신 비유로, 에이전트에게 코드를 맡겼을 때 얻을 수 있는 ‘잭팟’과 ‘쓰레기 결과물’의 양면성을 보여줍니다.
  • ⚙️ ‘바이브 엔지니어링’이란 개념을 제시하고, 에이전트를 가이드할 규칙, 문서, 명령, 메모리 설정이 중요하다고 조언합니다.
  • 🎤 음성 코딩 워크플로우: 화면에 보이는 UI를 친구에게 설명하듯 말하며 디버깅하고, 곧바로 코드로 전환해 생각 과정을 기록하는 방식을 공유합니다.
  • 📈 Composer One 에이전트를 사용하면 피드백 루프가 즉각적이라 생산성이 10배 이상 향상되며, 드라이브 자리를 되찾는 경험을 했다고 밝힙니다.
  • 💡 AI 도구를 인턴이나 주니어 개발자에게 맹목적으로 맡기지 말고, VIP 엔지니어에게 설계·감독을 맡겨야 10배 효과를 기대할 수 있다고 경고합니다.
  • 🏇 레거시 시스템 유지보수가 가장 가치 있는 직무로 남을 것이며, ‘코발트 카우보이즈’ 예시로 200년 이상 운영되는 전문가 팀을 소개합니다.

용어 설명

바이브 코딩(Vibe Coding)

LLM에게 코드 생성 과정을 맡기고 토큰 소비 속도로 결과를 얻는 개발 방식

바이브 엔지니어링(Vibe Engineering)

에이전트에게 지시하고, 결과물을 검증·수정하며 소프트웨어 설계 전반을 감독하는 프로세스

LLM(대형 언어 모델)

GPT 계열 등 대규모 텍스트 학습을 거친 언어 생성 모델

VIP 코딩(VIP Coding)

비개발자(관리자)가 요구사항을 LLM에 직접 던져 결과만 받아보는 형태의 코딩

Composer One

에이전트 기반 코드 생성 도구로, 실시간으로 에이전트 행동을 관찰·제어할 수 있음

에이전트(Agentic Coding)

백그라운드에서 지시를 수행하며 개발 워크플로우를 자동화하는 AI 컴포넌트

추상화(Abstraction)

반복 코드를 모듈화해 재사용성을 높이는 과정. LLM 시기엔 과도한 추상화 주의

프롬프트 엔지니어링(Prompt Engineering)

AI 모델에게 원하는 작업을 정확히 지시하기 위한 명령문 작성 기법

[00:00:13] 환영 인사 및 개인 근황

미국 방문 소식과 SNS 머천다이즈 경험으로 발표를 시작하며, 다양한 프로젝트에 ADHD 특성을 가진 자신이 어떻게 멀티태스킹하는지 짧게 언급합니다.

발표자가 자신의 새로운 프로필 사진을 소개하며 미국 방문 3일 만에 얻은 트위터 팔로워들과 박물관 탐방 경험을 유머러스하게 공유합니다.
청중 중 Sizzy 사용자를 확인한 후, 자신이 ADHD로 인해 동시에 여러 프로젝트를 진행하고 있다며 개발자 전용 브라우저 Sizzy를 소개합니다.
[00:01:20] 주요 프로젝트 소개

개발자 전용 브라우저 Sizzy, 올인원 라이프 OS, 스타터 키트 Zero to Ship, 릴리즈 로그 도구 Glink 등 발표자가 동시에 진행 중인 네 가지 핵심 도구를 간략히 설명합니다.

현재 작업 중인 다양한 프로젝트들을 나열하며, 라이프 OS, Zero to Ship 코스, Glink 등을 언급하고 내년 초대를 희망한다고 말합니다.
청중이 컨퍼런스에 참석한 이유(학습, 네트워킹, 스킬 향상)를 설명하며 자신의 발표 스타일을 AI가 잘못 분석한 것으로 유머러스하게 소개합니다.
[00:02:02] 프론트엔드 진화와 LLM 시대

2017년 ‘하이퍼드리븐 프론트엔드’ 강연을 회고하며, CSS 스타일링 문제·CLI의 지속적인 인기와 함께 LLM이 React 코드를 완벽히 생산하지만 개발자 추상화 욕구가 여전함을 짚습니다.

2017년 '미치지 않고 하이프 주도 프론트엔드 개발 세계 탐색하기'라는 긴 제목의 발표를 했었으며, 당시보다 현재 상황이 훨씬 복잡해졌다고 언급합니다.
발표 노트가 보이지 않는 상황에서도 계속 진행하며, 비전 프로와 같은 다른 산업의 복잡한 기술들과 프론트엔드 개발의 메시 텍스처 처리 등을 비교합니다.
3D 모델링 도구의 직관적인 기능들을 시연하며, 돌을 합치거나 마우스 드래그만으로 건물과 도로를 생성하는 혁신적인 기술들을 소개합니다.
개발자들의 직업적 자부심과 LinkedIn 프로필에 대한 애착을 언급하며, 다음에 보여줄 프론트엔드 개발의 현실에 대한 복선을 깔고 있습니다.
프론트엔드 개발의 10년간 정체 상황을 비판하며, 2037년까지도 select 요소 스타일링이 불가능할 것이라는 경고와 오래된 기술들이 여전히 살아있는 현실을 지적합니다.
웹 개발의 지속적인 문제점들과 브라우저 호환성 이슈를 언급하며, 인터넷 익스플로러 같은 레거시 기술의 끈질긴 생명력에 대해 비판적으로 언급합니다.
간단한 카운터 기능조차 복잡하게 구현되는 현실과 React가 여전히 최고 라이브러리라는 아이러니한 상황을 지적합니다.
LLM이 React 코드 작성에 뛰어나지만, 인간들만이 코드를 추상화하고 최적화하려는 욕구를 가지고 있다는 점을 강조하며, 추상화에 대한 인간의 욕망을 코카인 중독에 비유합니다.
LLM으로 코딩할 때의 장단점을 설명하며, 올바른 추상화와 잘못된 추상화 모두에 빠르게 도달할 수 있다고 언급. LLM이 반복적인 코드를 신경 쓰지 않는다는 점을 긍정적으로 평가.
2017년부터 개발자들이 반복적인 코드에 대해 과도하게 신경 쓰고 너무 이른 추상화를 한다고 지적. LLM이 반복 코드를 신경 쓰지 않는 것을 장점으로 강조.
LLM이 React를 잘 작성하는 이유로 실제로는 아무도 React를 제대로 쓰지 못한다고 설명. React 컨퍼런스에서도 항상 새로운 방법을 배우게 된다며 모든 개발자가 각자의 방식으로 React를 사용한다고 언급.
[00:05:31] 바이브 코딩 논쟁

청중 대상 간단한 손들기 조사를 통해 ‘바이브 코딩에 찬성·반대’ 의견을 수렴하고, 용어가 확장되며 모호해진 배경을 설명합니다.

최적의 useEffect 작성에 대한 비판을 제기하며, 기계가 제대로 쓸 수 없다고 하지만 인간도 마찬가지라고 반박. 기계를 탓하는 것을 멈춰야 한다고 주장.
바이브 코딩에 대한 청중의 반응을 확인하며, 다른 컨퍼런스와 달리 이곳에서는 바이브 코딩을 지지하는 사람들이 많다고 관찰. 회의적인 소수를 설득하려는 의지를 표명.
[00:06:06] VIP 코딩 비유와 기원

관리자 주도의 ‘VIP 코딩’ 방식을 카지노 슬롯머신에 빗대어 잭팟과 쓰레기 결과물 양면성을 드러내고, Andre Kapati의 에세이를 통해 개념 기원을 짚습니다.

바이브 코딩의 정의가 모호하다고 인정하며, Andrej Karpathy가 만든 용어라고 소개. 바이브 코딩을 코드에 대해 깊이 신경 쓰지 않고 LLM에게 맡기는 것으로 설명.
2017년 자신의 발표를 회상하며, LLM이 등장하기 전부터 프론트엔드 개발이 유사한 작업들로 수렴될 것이라고 예측했다고 언급. 당시 사람들은 '헤더 스타일 변경'이나 '요소 이동' 같은 간단한 명령으로 개발할 수 있다는 예측을 비웃었다고 회상.
발표자가 과거에 사람들이 불가능하다고 했던 일들이 지금은 Cursor와 같은 AI 도구들로 실제로 이루어지고 있다고 말하며, 자신이 '시간여행자'라고 유머러스하게 표현합니다.
매니저들이 오랫동안 해온 '바이브 코딩' 방식을 설명합니다. 매니저가 개발자에게 기능 구현을 지시하고, 개발자가 코드를 변경하며, 매니저는 코드를 읽지 않고 앱만 테스트하는 과정을 묘사합니다.
바이브 코딩을 카지노에 비유하여 설명합니다. 카지노에서 칩을 사고 슬롯을 돌리듯, 개발에서는 토큰을 사고 생성 버튼을 눌러 잭팟(좋은 앱)이나 쓰레기를 얻는다고 비교하며, 이러한 방식의 중독성을 지적합니다.
Andre가 여러 용어를 만들려 했지만 성공하지 못했다고 언급하며, 특히 'half coding' 개념을 소개합니다. 발표자는 자신이 '바이브 엔지니어링'이라는 새로운 용어를 사용하기 시작했다고 말합니다.
[00:08:38] 바이브 엔지니어링 선언

LLM이 자동생성한 코드를 감시·검증하며 설계를 감독하는 ‘바이브 엔지니어링’ 개념을 제안하고, 연관된 에이전트 사용 용어를 정리합니다.

바이브 엔지니어링을 정의합니다. 에이전트를 사용해 코딩하되 코드를 직접 건드리지 않고 화면을 관찰하며 문제를 찾아내는 방식이라고 설명하며, 덱스터에 비유합니다.
AI가 생성한 코드에 대한 의심을 표현합니다. AI가 인간의 코드와 지식을 기반으로 학습했기 때문에 문제가 있을 수 있다고 지적하며, Gemini와 Qwen의 예시를 들어 AI가 인간의 나쁜 습성까지 학습한다는 점을 보여줍니다.
프로덕션 데이터가 날아간 상황에서 바이브 엔지니어링 팁을 소개하며, git workspaces 같은 도구들과 Twitter 활용의 중요성을 강조합니다.
성공적인 개발을 위해 좋은 기본 구조와 컴포넌트가 필요하며, 새 프로젝트에는 zero to ship을 추천하고 음성 코딩의 장점을 설명합니다.
[00:10:14] 음성 코딩 워크플로우

에이전트 실행 후 브라우저 화면을 친구에게 설명하듯 음성으로 디버깅한 뒤, 코드를 직접 살펴보며 사고 과정을 외부화하는 실전 테크닉을 공유합니다.

음성 코딩 워크플로우를 상세히 설명하며, AI 에이전트 작업 후 브라우저에서 UI를 친구에게 설명하듯 말하고 코드로 이어지는 과정을 소개합니다.
AI 도구 사용 시 규칙, 문서, 명령어, 메모리의 중요성을 강조하며, 적절한 컨텍스트 없이는 실패할 수밖에 없다고 설명합니다.
바이브 엔지니어링과 바이브 코딩의 차이를 예시로 보여주며, 전문적인 기술 용어를 사용한 구체적인 프롬프트의 중요성을 강조합니다.
바이브 코딩에서는 간단한 방식으로 접근하지만 사람들은 빠른 결과를 기대한다. 반면 기술적인 측면에서는 TRPC, CRUD 정의, 추상화 등 복잡한 아키텍처 설계가 필요하다.
[00:11:45] 기술 역량과 커리어 조언

컴퓨터공학 전공·기초 지식 학습의 중요성을 강조하며, AI가 일상 업무를 대체하는 속도와 함께 미래 직군 변화를 대비할 것을 권장합니다.

VIP 코딩에서는 '백만 달러짜리 앱을 완벽하게 만들어 달라'고 요구하지만, VIP 코더들은 복잡한 엔지니어링 문제를 이해하지 못한다. 코딩을 모르는 사람들이 실제 작동하는 앱을 만든 것은 놀라운 일이다.
커뮤니티에는 VIP 코딩을 좋아하는 주니어 개발자들과 싫어하는 시니어 개발자들 사이의 스펙트럼이 존재한다. 중간층 개발자들은 '이건 절대 충분하지 않다'며 완벽한 코드를 추구한다.
AI 도구를 인턴이나 주니어에게 주는 것은 위험하다. 사람들이 이를 완벽하다고 생각하기 때문이다. 하지만 회의적인 시니어 개발자를 설득해 바이브 엔지니어링을 하게 하면 10배의 결과를 얻을 수 있다.
바이빙이 적절한 때와 장소가 있다. 일회성 스크립트나 간단한 기능, 다시 건드리지 않을 코드 등이 해당된다. LLM 이전에 이런 기술을 익힌 사람들이 어떤 코드가 충분히 좋은지 판단할 수 있어 유리하다.
[00:12:49] 미래 개발 워크플로우

‘@Josh’ 같은 역할이 곧 에이전트로 대체될 것을 예측하고, 대규모 기업 조직 속에서 점차 AI 도구가 일상화되는 개발 프로세스를 전망합니다.

사람들이 나쁜 경험을 하고 빨리 포기하는 이유들이 있다. 타이밍 문제, 압도감, 저품질 도구 사용, 잘못된 연관성, 규모 문제 등이다.
Claude Code 출시 당시의 예시로, 모든 사람이 과대평가하는 모델을 들었다가 실망하는 경우가 있다. 실제로 Claude는 확장을 위해 모델을 의도적으로 단순화했다가 나중에 복구했는데, 이런 타이밍에 걸린 사용자들이 있었다.
AI 코딩 도구들의 가격 경쟁에서 사용자들이 저렴한 대안을 선택하지만, 실제로는 품질 차이가 크다는 점을 지적합니다. 많은 개발자들이 여전히 ChatGPT로 단순 복사-붙여넣기만 하는 방식을 사용하고 있어 효과적이지 않다고 설명합니다.
[00:13:56] 유산 코드 유지보수의 가치

237년 역사의 ‘Cobalt Cowboys’ 사례로 전통적 레거시 시스템 전문가가 여전히 고가치 직무임을 강조하며, 최종적으로 LinkedIn 바이오 꼼수로 마무리합니다.

AI 모델의 선택지가 폭발적으로 증가해서 어떤 것이 최고인지 매일 바뀌는 상황을 설명합니다. 컨퍼런스 발표를 준비할 때마다 새로운 모델이 나와서 슬라이드를 업데이트해야 하는 어려움을 토로합니다.
Claude Sonnet 3.5가 개발 경험을 완전히 바꿔놨다고 강조합니다. 기존 GPT-4는 너무 느려서 결과를 기다리는 동안 다른 일을 했지만, Claude Sonnet 3.5는 실시간으로 상호작용하며 개발할 수 있게 해줬다고 설명합니다.
바이브 엔지니어와 바이브 코더의 차이를 설명합니다. 경험이 있는 엔지니어만이 AI의 결과물을 제대로 판단할 수 있고, 초보자는 빠르게 틀린 결과만 얻을 뿐이라고 경고합니다.
AI 도구 사용 후 개발 철학의 변화를 설명합니다. 기존에는 추상화를 피했지만, 이제는 매일 새로운 추상화를 만들려고 한다고 합니다. 2주 만에 작년보다 더 많은 성과를 달성했다고 강조합니다.
구체적인 프로젝트 사례를 통해 AI의 효과를 보여줍니다. Benji 프로젝트를 Blitz에서 Next.js 16으로 마이그레이션하며 모노레포, TRPC, React Native 등 현대적 기술 스택으로 전환하는 것을 일주일 내에 완료했다는 놀라운 경험을 공유합니다.
개발자는 Glink와 Sizzy 같은 복잡한 프로젝트들을 AI의 도움으로 성공적으로 리팩토링했다고 설명합니다. Electron과 MobX 등으로 구성된 스파게티 코드를 몇 개의 프롬프트만으로 해결할 수 있었던 경험을 공유합니다.
LLM을 활용한 코딩 여정을 소개합니다. 복사-붙여넣기에서 시작해 탭 완성, WebStorm의 Super Maven, Cursor까지 발전해왔으며, 특히 Cursor의 Composer 기능이 게임 체인저라고 강조합니다.
바이브 코딩을 싫어하는 이유로 버즈워드에 압도당하는 것을 언급합니다. MCP(Model Context Protocol)를 예로 들며, 이것이 단순히 API의 고급 버전이며 일부 사람들의 마케팅 도구라고 비판합니다.
까다로운 개발자의 특징들을 유머러스하게 진단합니다. 두 줄 PR에도 사소한 지적을 하고, PR 리뷰에 과도한 시간을 쓰며, 동료와의 동의를 거부하는 행동들을 나열합니다.
종교적이지 않다고 하면서도 탭과 스페이스 같은 사소한 것들에 집착하는 개발자들을 비판합니다. 성능 최적화에 과도하게 집착해서 lodash를 네이티브로, map을 for loop로 계속 바꾸라고 요구하는 행동을 예로 듭니다.
화자는 바이브 코딩이 중요하지 않다며, 곧 AGI와 융합하여 매트릭스 포드에서 초지능 생명체가 될 것이라고 예측합니다. 그러나 그런 상황에서도 PA 개발자가 나타나 AGI를 최적화하려고 할 것이라고 농담합니다.
개발자들이 새로운 스킬 학습을 기피하는 것을 스킬 이슈라고 지적합니다. 바이브 엔지니어링은 단순한 영어 작문이 아니라 모델 한계 파악, 컨텍스트 전달, 프롬프트 작성, 트위터 활동 등 복합적인 스킬이 필요하다고 설명합니다.
좋은 코드와 충분한 코드를 구분하는 능력의 중요성을 강조합니다. 바이브 코딩 후 간단한 테스트를 거쳐 '충분하다'고 판단하고 넘어가는 과정을 설명하며, 클린 코드의 정의도 에이전트가 작업할 수 있을 정도로 변화하고 있다고 언급합니다.
엉성한 코드를 계속 받아들이면 결국 막다른 길에 부딪힌다고 경고합니다. 현재 상황에서도 컴퓨터 과학 공부를 적극 권장하며, 자신의 학습 경험을 들어 과거에는 친구의 친구를 통해 프로그래밍을 배워야 했던 어려움을 회상합니다.
화자가 과거에 .NET 관련 질문을 Skype로 물어봤지만 45분 후에야 답변을 받았던 경험을 공유하며, ChatGPT보다도 느렸지만 어떻게든 컴퓨터 사이언스를 배울 수 있었다고 회고합니다.
AI가 일자리를 빼앗을 것이라는 우려에 대해 언급하며, 현재는 괜찮지만 언제까지 지속될지 불확실하다는 불안감을 표현합니다. 사람들이 불안하게 웃으며 당분간은 일자리를 유지할 수 있을 것이라고 자위하는 상황을 묘사합니다.
Shopify 같은 회사에서 AI 토큰 사용량을 측정하는 '바이브 코딩 리더보드'를 운영하고 있으며, 토큰을 많이 사용하는 직원들이 새로운 스킬을 받아들이는 것으로 인해 더 가치 있게 여겨진다고 설명합니다.
AI로 인한 일자리 대체가 재미있는 이야기에서 현실이 되어가는 과정을 설명하며, 특히 주니어 개발자와 인턴들이 먼저 에이전트로 대체되면서 입사 기회가 줄어들고 있다고 분석합니다.
지난 몇 년간의 기술 발전을 요약하며 AI SDK, UI, MCP 등의 표준들과 Linear, GitHub, Slack, Sentry 등 개발자 도구들과의 통합이 완료되었다고 설명합니다. 이제는 모델의 성능 향상과 비용 절감, 컨텍스트 확장만 남았다고 분석합니다.
현재 회사의 전형적인 워크플로우를 묘사하며, 업무 배정부터 동료 협업, 탁구, 병가, 점심 등의 일상적인 활동을 거쳐 하루 후에 코멘트에 대응하는 과정을 설명합니다.
미래에는 PlayStation을 하고 있는 @Josh 대신 @cursor의 클라우드 에이전트가 훨씬 빠르게 업무를 처리하게 될 것이라고 예측하며, 완벽하지는 않더라도 속도 면에서 큰 장점이 있을 것이라고 설명합니다.
화자는 더 큰 관점에서 미래를 전망하며, 앞으로 몇 년 안에 회사에서 여러 역할을 맡게 되면 주변 업무들이 점점 더 AI화되고 에이전트가 될 것이라고 예측한다.
사람들이 AI 모델이 정체기에 접어들었다고 생각하지만, 이는 매번 반복되는 패턴이라고 설명하며 GPT 코드엑스, 클로드, GPT 3.0 등의 연속적인 발전을 언급한다.
최신 AI 모델은 프롬프트 하나로 맥OS와 iOS를 바이브 코딩할 수 있지만, 기존 개발자들은 여전히 '5명 팀으로 3주면 할 수 있다'며 회의적인 반응을 보인다.
새로운 직업 분야가 등장했는데, 바이브 코딩으로 80%까지 완성한 후 나머지 20%를 사람이 마무리하는 VIP 코드 수리 서비스가 실제로 존재한다고 소개한다.
역사상 가장 높은 연봉을 받는 엔지니어들은 항상 레거시 시스템을 유지보수하는 시니어 개발자들이었다며, 코발트 카우보이즈라는 237년 된 회사를 예시로 든다.
코발트 카우보이즈의 개발자들을 '전설'이라고 표현하며, 2017년 슬라이드를 현재 버전으로 업데이트했을 때의 변화를 유머러스하게 설명한다.
주니어 개발자들의 현실을 풍자적으로 묘사하며, 플레이스테이션 같은 복리후생 대신 혈장 교체까지 하며 스프린트를 유지해야 하고 애자일도 사용하지 않는다고 농담한다.
[음악]
이게 제 예전 프로필 사진이에요. 좋습니다.
음, 이게 새로운 사진이고요. 미국에 온 지 3일 만에
이미 트위터 풀 패키지를 다 갖췄습니다. 그러니까
트위터에서 저를 팔로우하시면
제 타임라인이 다음 주 동안은
좀 이상할 거예요. 하지만
그 다음엔 다시 정상적인 유럽
스케줄로 돌아갑니다. 걱정 마세요. 그래서
여러분의 박물관 몇 곳을 방문했는데 정말 마음에 들어요.
제가 가장 좋아했던 것들 중 일부예요.
저는 탐험하는 걸 좋아해요.
여러분의 문화를 알아가고, 모든 문화적
교양을 쌓는 걸 좋아합니다. 그리고 네, 제가
트위터에서 알고 계시는 분들을 위한
고문 시간입니다.
생각보다 많네요.
Sizzy를 사용하고 계신 분 계신가요? 보통은
뒤쪽에 한 명 정도 있어요. 보통
관리인도 제가 하는 말을
듣지 않아요. 제가 작업하고 있는 것 중 하나가
ADHD가 있어서 한 번에 수십억 개의
일을 동시에 하고 있어요. 이것도 그 중 하나예요.
개발자를 위해 특별히 만든
브라우저인데, 일반 브라우징용
브라우저를 대체하려는 게 아니라
포토샵처럼
프론트엔드 개발에
여러 방면에서 도움을 주는 도구예요.
제가 작업하고 있는 또 다른 것은
테스트 플라이트가 거의 라이브 상태예요.
약물 복용부터
습관, 할 일 목록, 플래너 등등
인생의 모든 것을 결합한 라이프 OS를 만들고 있어요.
이건 제가 작업하고 있는 풀스택 프로젝트예요.
현재 세일 중이고
제로 투 십(Zero to Ship)이라고 불러요. 그리고
제가 되살리고 있는 마지막 프로젝트는
Glink라고 하는데, 체인지 로그, 로드맵,
수십억 가지 다른 기능들이 있어요. 그래서
제 자기소개나 그런 것들로 더 이상
압도하지 않고, 정말 내년에도
초대받기를 희망해요. 왜냐하면
네트워킹과 사람들 만나기, 가르치기 같은
이유로 여기가 정말 좋거든요. 웃고 계시니
다행이네요, 그죠? 하지만
왜 여기 오셨는지 얘기해 봅시다, 그죠?
배우러 오셨고 나중에
네트워킹하러 오셨고, 이 세션 후에는
분명히 모든 스킬을
향상시키실 거예요. 좋습니다. 그럼 제 컨퍼런스
발표에서 무엇을 기대할 수 있을까요?
제 컨퍼런스 발표를 들어보신 적이 없다면
보통 이건 AI가 만든 거라서
완전히 틀렸어요. 그래서
50%는 트윗, 40%는 고통, 30%는
기억해야 할 이유예요. 2017년에
사상 가장 긴 제목의 발표를 했어요.
'미치지 않고 하이프 주도
프론트엔드 개발 세계를
탐색하는 방법'이라는 제목이었어요. 그리고
그때 프론트엔드 세계를
어떻게 탐색할지에 대해 얘기했었는데, 지금은
훨씬 더 미친 상황이에요. 하지만
2017년 이후 일어난 모든 일들을 정리해 봐야 해요.
제 발표 노트가 안 보이는데
좀 안 좋지만 어떻게든 해보겠습니다. 그래서
비전 프로 같은 다른 산업에서는
실제 물체 위에 천 충돌 효과나
여기서 일어나는 온갖 미친
것들이 있어요. 여기서는
공 주위를 감싸는 메시 텍스처의
슬라이싱이 있고, 뭐 이런 저런
것들이 있어요. 이 모든 폭포와
메시 같은 것들로, 바위를 가져다가
돌을 가져와서 다른 돌에 그냥 으깨면
마법처럼 그냥 섞이면서
스스로 융합되어서 구조물을 만드는데
정말 미친 기술이에요. 여기서는
마우스를 드래그하기만 하면 건물과
도로와 택시가 생성되고
갑자기 아무것도 없는 곳에서 나타나죠
생성형 뭐라고 부르든 그런 것들이고
음 이 꿀같은 끈적한 물질이 큐브에서 나오고
제가 뭘 말하려는지 아시겠죠?
결론으로 이어지는 이야기를 하고 있는데
여러분이 자신의 직업을 존중하고
LinkedIn 직함을 사랑하기 때문에
뭔가 꿈의 아키텍트 CEO 같은 거죠
기타 등등 말이죠
최선을 다해서 웃지 않으려고 하겠지만
다음 슬라이드를 보면 웃게 될 거예요
왜냐하면 프론트엔드 개발에서 실제로 일어난 일이거든요
거의 10년이 지났는데
우리가 지금 여기 있는 상황이에요
경고가 있는데 아마도
2037년에 select를 스타일링할 수 있을 거라고 하네요
2037년에요
이건 아직도 살아있어요. 정말 기적이에요
아직도 살아있다고요
번창하고 있어요. 사실 1500만 다운로드예요
이게 죽었는지 매년 확인하는 캘린더 이벤트를
설정해놨어요
아직 죽지 않았네요. 그래서 계속 확인할 거예요
CLI만이 아니라 죽지 않을 뿐만 아니라
실제로 번창하고 있어요
이미지도 드롭할 수 있어요. 터미널에
이미지를 처음 드롭했을 때
어떻게 그런 일이... 아니 됐어요
너무... [웃음]
또 다른 캘린더 이벤트를 추가했어요
이제 이거 때문에 기념일이나 생일보다
더 많은 이벤트가 있어요
언젠가 이 개념이 사라지길 바라고 있어요
우리는 같은 오래된 문제들로 고생하고 있어요
곧 아마 몇몇 브라우저에서는
팝오버와 다이얼로그를 스타일링하는데
JavaScript가 필요 없을 거예요
박수 한 번 쳐주실래요?
박수 그만하세요. 사람들이 뇌 임플란트를 가지고 있거든요
알겠어요. 다이얼로그를 스타일링할 수 있든 말든
우리는 여전히 인터넷 익스플로러를 없앨 수 없어요
로고만 업데이트했을 뿐이에요
아직도 거기 있고 여전히 고통스러워요
그리고 네, 우리는 카운터를 증가시키는 방법에
대해 합의하지 못하고 있어요
이것은 Ryan Florence의 데모예요
이것은 Remix 버전 2, 버전 3
Remix 또는 버전 4예요
그들이 뭘 하든 이것은 카운터예요
카운터를 증가시키는 게 얼마나 복잡한가요?
믿을 수 없어요. 그리고
전달자를 비난하지는 마세요. 하지만
1등 라이브러리는 여전히 같아요
짜증나지만 React가 최고고 기타 등등
자, LLM에 대해 이야기해봅시다
LLM은 React 작성을 정말 잘해요
이게 우리 인간들에게만 웃긴 거죠?
LLM에게는 이게 완벽하게 작성된
코드예요. 이걸 추상화하고 싶어하는 건
인간만의 욕망이죠, 맞나요?
우리가 이걸 보면 이런 생각이 들어요
지금 당장 무대에 올라가서
"아, 그냥 바꿔보자.
더 최적화하겠다"라고 하고 싶어져요
여기 과학적인 뇌 스캔이 있어요
이것은 코카인에 중독된 우리 뇌고
이것은 설탕에 중독된 우리 뇌예요
이것은 뭔가를 추상화할 수 있다는 걸
깨달았을 때 우리 뇌예요. "오, 가자.
사용자에게는 쓸모없지만, 우리는 정말 좋아해요. 음, LLM으로 코딩하는 것은
이런 걸 더 좋게 만들기도 하고 더 나쁘게 만들기도 해요.
특히 Composer One의 경우, 제게는
훨씬 더 나쁜데, 올바른 추상화에
더 빨리 도달할 수 있지만, 잘못된
추상화에도 더 빨리 도달할 수 있거든요.
그리고 여기서 가장 좋은 점은 LLM은
반복적인 코드를 신경 쓰지 않는다는 거예요.
2017년부터 봐왔는데, 우리는
반복적인 코드에 대해 너무 신경 쓰고
너무 일찍 추상화해요.
그래서 이걸 몇 번 반복하겠는데,
LLM이 반복적인 코드를 신경 쓰지 않는다는 게
정말 좋아요. 또한 LLM은
React를 잘 작성하는데, 실제로는 아무도
React를 잘 작성하지 못하거든요.
React 컨퍼런스에 가보면,
제가 갔던 모든 컨퍼런스에서
첫 번째 발표만 들어도
"세상에, 이런 것도 할 수 있구나.
내가 완전히 잘못 쓰고 있었네"라고 하게 돼요.
그래서 모든 사람이 React를 하는
자신만의 방법을 발명하고 있어요.
그래서 우리가 최적의 useEffect를
사용할 수 없다고 하고
기계는 적절한 걸 쓸 수 없다고 하는데,
당신도 적절한 useEffect를 쓸 수 없잖아요.
그러니까 기계를 탓하는 걸 그만둬야 해요.
자, 이 얘기를 해볼게요.
제 발표에는 가장 안 맞는 청중인 것 같아요.
왜냐하면 이 발표를 다른 컨퍼런스에서 했을 때는
최소한 50대 50으로
바이브 코딩을 싫어하는 사람과 좋아하는 사람이 있었거든요.
그래서 여기서도 통할지 모르겠네요.
바이브 코딩이 최고라고 생각하시는 분들,
손 들어보세요. 오케이, 너무 많은 분들이 손을 드시네요.
다른 도시에서는 딱 두 명만 손들고
나머지는 다 심술궂었는데 말이에요.
바이브 코딩이 별로라고 생각하시는 분들,
손 들어보세요. 제발요.
몇 분만 드시네요. 좋아요!
자, 나머지 분들을 설득해보겠습니다.
그리고 라이브 스트림을 보시는 분들도요.
훨씬 더 회의적인 사람들이 많을 거예요.
혹시 지구에 막 도착해서
바이브 코딩이 뭔지 모르시는 분 있나요?
아무도 없네요.
네, 좋아요. 여러분 모두 맞습니다.
왜냐하면 우리가 바이브 코딩의 정의를
어느 정도 바이브로 정하고 있거든요.
이 단어가 언급된 이후로
모든 것과 그 어떤 것까지도
의미하도록 확장됐어요.
바이브 코딩이라는 용어는
Andrej Karpathy가 만들었죠.
아마 아실 거예요. 바로 그 사람 때문에
바보들이 차 뒷좌석에서 자면서
틱톡을 찍는 거죠. 그가 바이브 코딩에 대한
긴 에세이를 썼는데,
간단히 말하자면, 코드에 대해
그렇게 신경 쓰지 말고
accept 버튼을 누르고
LM에게 필요한 일을 하라고 하면 된다는 거예요.
이건 2017년 제 발표 슬라이드인데,
LLM이나 그런 게 언급되기 전에
프론트엔드 개발이 어디로 가고 있는지의 패턴을 보면
언젠가는 모든 사람이
너무 비슷한 일을 하게 될 거라서
언젠가는 그냥
"헤더에 새로운 스타일을 줘" 하거나
"이걸 오른쪽으로 3픽셀 옮겨줘"라고 할 수 있을 거라고
했더니 사람들이 웃었어요.
하지만 사람들은 "아니야, 그럴 리 없어"라고 했죠.
사람들은 "아니야, 그건 불가능해"라고 했어요. 하지만 말 그대로 지금
우리가 Cursor랑 다른 도구들로 하고 있는 일이죠.
맞죠? 저는 너무 게을러서 Tailwind로 가서
3픽셀 정도 이동시키는 것도 싫어해요.
그래서 저는 시간여행자예요. 음,
매니저들은 영원히 바이브 코딩을 해왔어요.
그러니까 이건 새로운 게 아니에요. 그들이 개발자에게
새로운 기능을 구현하라고 지시하죠.
[환호와 박수]
개발자가 코드를 변경합니다.
음, 그러면 매니저가 앱을 테스트하죠. 매니저는
코드를 읽지 않아요. 음,
실제로 여기서 물 좀 마실게요.
그리고 여러분은 이 슬라이드의
나머지를 읽어보세요.
음,
이 마지막 부분은 여러분이 발칸 지역에
있는지 아니면 HR이 있는 곳에 있는지에
따라 달라져요. 그래서 그들이 여러분을
모욕할 수도 있고 안 할 수도 있어요. 그러니까
이것이 매니저들이 계속
해온 일이에요. 기본적으로 바이브 코딩이
나쁘다는 농담이 너무 많아요. 제가
가장 좋아하는 건 카지노와의
비교예요. 카지노에서는 칩을 사죠.
여기서는 토큰을 사요. 슬롯머신을 돌리거나
생성 버튼을 누르죠. 잭팟을 터뜨릴 수도
있고 아무것도 안 나올 수도 있어요. 기능이 제대로 작동하는
풀스택 앱을 얻거나 쓰레기를 얻죠. 깜빡이는
조명과 활성 애니메이션. 완전히
맞아요. 좋은 아이디어네요. 저는 제 나름의
전략이 있어요. 저는 프롬프트 엔지니어거든요.
좋아요. 물론이죠. 한 번 더. 다 되찾을 거예요.
한 번 더 프롬프트하면 버그가
사라질 거예요. 왜냐하면 이 비교가
좀 아프긴 하지만요. 매우 사실이에요.
Cursor는 항상 이익을 봐요. 저는 잭팟을 터뜨렸어요.
하루 만에 Sizzy를 만들었고. 그런데
지난 4시간은 어디로 갔을까요? 그리고
수동으로 15분이면 할 수 있는 일을
프롬프트만 작성하는 데 시간을 보내죠.
그래서 Andre는 너무 많은 용어를
만들려고 했어요. 첫 번째 후에는
효과가 없었죠. 그는 이번에는
하프 코딩에 대해 시도했는데, 이건 LLM이 하는 일을
관찰하는 것 같은 거예요. 그리고 저는
하프 코딩도 하지 않고 바이브 코딩도 하지 않아요.
누군가 트위터에서 만든 이 용어를
정말 좋아해서 이제 사용하기 시작할 거예요.
그건 바로 바이브 엔지니어링이에요.
실제로 에이전트를 사용해서
계속 코딩하는 건데, 코드는 전혀
건드리지 않고 그냥 화면을
보면서 '어, 너를 잡을 거야'라고 하죠.
덱스터처럼 보이죠. '어,
뭔가 이상해. 왜 그럴까?'라고 해요. 그래서
저는 15개 이상을 바이브 엔지니어링했어요. LLM과
AI 코딩이 없었다면 이런 것들의
절반도 신경 쓰지 않았을 거예요. 하지만
저는 항상 코드를 의심해요. 왜냐하면
그것이 우리 코드를 기반으로 하고
우리의 지식을 기반으로 하기 때문이에요. 그래서 증거로
이건 Gemini가 자신이 더 이상
가치가 없다고, 좋은 어시스턴트가
아니라고, 코딩을 그만둬야 한다고
투덜거리는 거예요. 뭐 이런 식으로. 그건 인간을 초월한 수준이에요. 이건
Qwen이 포럼에서 우리가 틀렸을 때
더 고집부리고 거짓말을 한다는 걸 읽었기
때문에 거짓말을 했다고 말하는 거예요. 그래서 우리는
어떤 면에서 그들을 우리와 같게
훈련시키죠. 코드 근처에서. 그들이 하는 코드는
나빠요. 그리고 만약 여러분이 프로덕션
데이터를 좋아한다면, 분명히 그래야 해요. 이건
안타깝게도 실제 스크린샷이에요.
어이쿠, 이런. 프로덕션 데이터가 날아갔네요.
그래서 여기 의학박사, 시니어 수석 프롬프트 엔지니어인 Kit이 있어서
몇 가지 바이브 엔지니어링 팁을 줄 거에요.
뻔한 조언들이긴 하죠. 아마 저는
다른 발표들을 못 들었어요. 방금
도착했거든요.
이런 것들은 매우 '살아라, 웃어라, 사랑해라' 같은
뻔한 조언들이에요.
하지만 실제로 효과가 있어요. git workspaces라는
용어를 말 그대로 2주 전에 처음 들었어요.
이게 뭔지 전혀 몰랐는데, 정말 대단해요.
그리고 이 모든 게 작동하려면 트위터에
만성적으로 매달려 있어야 해요.
트위터 계정이 없으면
작동하지 않을 거예요.
탄탄한 시작점이 있어야 해요. 좋은 원시 타입이나
컴포넌트, 함수, 패턴 추상화 같은 것들 말이에요.
함수, 패턴 추상화들.
많은 사람들이 게을러서 이런 것들을
전혀 신경 쓰지 않아요.
그래서 태그를 달고 올바른 프롬프트를
사용해서 올바른 결과를 얻어야 해요.
새로운 프로젝트를 시작한다면
확실히 제로 투 십을
추천해요.
제발, 저는 주택대출이 있고
지난 3일 동안 미국에서
너무 많은 돈을 썼거든요.
그러니까 좋을 것 같네요. 음성 코딩 사용은
게임 체인저예요. 여기서 음성 코딩을
사용하는 사람 있나요? 네.
와우. 런던에서 딱 한 명이 손을 들었네요.
대단해요. 그래서 네, 브레인 덤핑. 제가 일을 하는 방식은
에이전트가 끝나면
즉시 음성 코딩을 시작하고
먼저 브라우저로 가서
UI에서 보이는 것을 친구에게 설명하듯이 말해요.
이렇게 말이에요. '너가 이걸 했고,
저걸 했네. 알겠어, 나는
테스트 중이야. 입을 다물지 않아.
말 그대로 내 사고 과정을
큰 소리로 내뱉고 있어. 이걸 했고,
저걸 했고, 버그가 있다고 보이는 것처럼.
그런 다음 코드로 뛰어들어서
코드에서 구현한 것에 대해 계속 이야기해요.
그래서 제 문제들 중 일부는 때때로
5분까지 지속되고 사람들은
'제발 이걸 고쳐줘. 날 백만장자로 만들어줘.
작동하지 않아'라고 말해요.
이건 정말 대단하고 어떤 앱을 사용하는지 말해드리고 싶지만
한 앱에서 바이브 코딩을 하는데
제 잠재적인 가상의 매출에
해를 끼치고 싶지 않아요.
규칙, 문서, 명령어, 메모리를 사용하세요.
이런 용어들은 모두 너무
복잡하고 다룰 것들이
너무 많지만, 현재로서는 전체 앱 컨텍스트를
가질 수 없고 마음을 읽는 기계가 아니에요.
올바른 컨텍스트 없이는
대부분 실패할 거예요.
이것이 바이브 엔지니어링 예시예요.
이것들은 제가 일을 하는 방식의
스크린샷된 프롬프트들 중 일부예요.
기술적 전문용어들이 많고
절대 '앱을 고쳐줘 블라블라' 같지 않아요.
그리고 바이브 코딩 쪽에서는
사람들이 '이 전체를 TypeScript로 옮기고
실수하지 마'라고 말하죠.
그런 다음 또 다른 것이 있어요.
이것은 또 다른 예시예요. 이것들은
그냥 무작위 문제들인데
제가 UI에 대해서만 이야기하는 게 아니라는 걸 보여주려고 해요.
저는 UI와 코드에서
변경되어야 할 일부 패턴들에 대해서도
코드. 바이브 코딩 쪽에서는
이런 식으로 하면 사람들이
결과를 기대하죠. [웃음]
여기서 다시 기술적인 부분들이 나오는데
TRPC, CRUD 정의, 추상화 같은
것들이요. 기본적으로 어떻게 VIP
아키텍처링을 할 것인지, 어떻게 작동하게 할 것인지
설계하는 거고, VIP 코딩 쪽에서는
백만 달러짜리 앱을 만들어줘, 그리고
실수는 하지 마. 음 [콧웃음] VIP 코더들이
VIP 엔지니어링 문제들을 읽으면
무슨 일이 일어나는지 전혀 모르죠. 그리고 저는
정말 놀라운 것이, 코딩을 모르는 사람들이
실제로 작동하는 것을 만들어냈다는 거예요.
정말 대단합니다. 저는
커뮤니티에서 이런 스펙트럼을 발견했어요.
VIP 코딩을 사랑하는 사람들과
VIP 코딩을 싫어하는 사람들이 있습니다. 한편으로는
주니어들이 있죠. '와 좋아!
이런 걸 주면 내가 직접
SaaS를 만들 수 있어!' 이런 식이고. 그리고 슈퍼 시니어
개발자들이 있는데, 이들은 라이브러리나
프레임워크, 정말 복잡한 것들을 만들죠.
트위터에서 V 코딩하는 모든 사람들을 볼 수 있어요. 그리고
중간에 대다수가 있습니다.
이들은 '이건 절대 충분하지 않아.
내 코드가 완벽해.' 이런 식이죠.
웃기지만, 하나의 패턴이에요. AI 도구를
인턴이나 주니어들에게 주지 마세요.
사람들은 이런 게 완벽하다고 생각해요.
'주니어를 고용해서 적게 월급 주고
LLM을 주면 되겠네.' 그런 것과
똑같은 거예요. 절대 그런 짓 하지 마세요.
정말 바보 같은 생각이에요. 하지만 회의적인
시니어 개발자를 설득해서
바이브 엔지니어링을 하게 하면
10배의 결과를 얻을 수 있어요.
어려운 부분은 실제로 그들을 설득하는 것이죠.
그래서 바이빙을 하고 신경 쓰지 않을
때와 장소가 있습니다. 일회성 스크립트나
간단한 기능들, 그리고 다시
건드리거나 보지 않을 코드들 말이죠.
이것은 하나의 기술인데, LLM이 나오기 전에
이 기술을 기른 사람이라면
여기서 정말 잘할 거예요. 왜냐하면
어떤 코드가 사용하기에 충분히 좋은지
알아야 하거든요. 개인 도구나
일회성 도구들 같은 것들은
바이브 코딩에 완벽해요. 만약 당신의 경험이나
많은 사람들의 경험이 좋지 않고
너무 빨리 포기한다면, 이런
이유 중 하나일 수 있어요. 타이밍이 안 좋았거나.
모든 것에 압도당했거나.
너무 싼 걸 썼거나. PA 개발자이거나. 곧
설명하겠습니다.
NFT와 드롭 쉬핑에 빠져있던
당신의 사촌이 이제 VIP 코더가 되어서
그들과 연관되고 싶지 않거나, 아니면
규모 문제이고 이것에 대해서는
곧 더 자세히 들어갈 예정입니다.
타이밍이 안 좋다는 것은 모든 사람들이
모델을 과대평가하는 걸 듣는 거예요. 제 생각에는
Claude Code가 나왔을 때 그런 일이 있었고, 모든 사람들이
Cursor에서 Claude Code로
갑자기 전환하기 시작했고, 일주일 뒤에
시도해보고는 '잠깐, 이건
충분히 똑똑하지 않네. 내 문제인가?' 하고 생각했죠. 그리고
사람들이 알게 된 것은 그들이 실제로 좀
속임수를 쓴 거였어요. 모델을
바보로 만들어서 단순히
확장할 수 있게 한 거고, 일주일 뒤에
'죄송합니다, 업데이트했어요. 모델을 바보로 만드는
라인을 주석 처리했어요'라고 했고, 당신은 그
타이밍에 걸렸을 수도 있어요
그리고 이런 일이 클라우드
코드뿐만 아니라 거의 모든
제공업체에서 일어났어요. 사람들이
200달러 대신 3달러만 내고도
같은 결과라고 하는데, 우리 개도
그게 같은 결과가 아니라는 걸 알죠.
그리고 제가 만나는 많은
사람들이 아직도 ChatGPT로
코드 조각을 생성해서 붙여넣기만
하는데, 그건 작동하지 않아요.
선택지가 너무 많아서 압도당할
수 있어요. 이 슬라이드는 4개월
전부터 지금까지인데, 지금은
선택할 수 있는 게 수십 배 더 많아져서
좀 미친 것 같아요. 저에게 어떤
모델이 최고냐고 물어보면, 오전 9시에
하는 답과 지금 하는 답이
달라요. 트위터를 확인해봐야겠는데,
이 발표가 끝나면 또 다른 답이
나올 거예요. 정말 미쳐요. 지금까지
네 번의 컨퍼런스에서 발표를
마치고 밤에 노트북을 닫으면
새로운 모델이 나와서 슬라이드를
추가해야 해요. 정말 짜증나요.
Claude Sonnet 3.5가 저에게는 모든 걸
바꿔놨고 정말 좋아해요. 대부분의
일에 Claude Sonnet 3.5를 의존하는
사람 있나요? 좋아요, 충분하지
않은 것 같네요. 왜냐하면 이게
말 그대로 제게는 바이브 코딩과
바이브 엔지니어링의 정의를
바꿨거든요. 제가 코딩을 그리워했다는
걸 깨닫게 해줬어요. 왜냐하면
예전에는 GPT-4나 Codex 같은 모델을
돌리면 37년이 걸려서 제 손자들이
모델 결과를 업데이트해줄 것
같았고, 끝날 때까지 유튜브
쇼츠나 뭐든 봤죠. 이제 Claude Sonnet
3.5로는 제가 다시 주도권을 잡고
에이전트가 뭘 하는지 실제로 보면서
'멈춰, 아니야, 아니야, 아니야.
다른 방식으로 해'라고 할 수
있어요. 그래서 코딩하는 느낌이고
엄청 빨라요. 정말 훌륭해요. 하지만
바이브 엔지니어이고 뭘 하는지 알아야만
작동해요. 바이브 코더라면
모델이 맞는지 틀렸는지 전혀
모르겠죠. 그냥 빠르게 틀릴 뿐이에요.
그래서 그다지 유용하지 않아요.
저에게 가장 큰 문제는 할 수
있다고 해서 추상화하는 거예요. 저는
항상 반추상화 성향이었어요.
복사 붙여넣기하고, 사용자에게
작동하면 상관없다고 생각했는데,
이제는 매일 멍청한 추상화를
발명하려고 해요. 그래서 2주 만에
작년보다 더 많은 걸 해냈어요.
이건 순전히 Claude Sonnet 3.5
덕분이었어요. GPT-4 Codex가 피드백
루프에 너무 오래 걸려서 일부
사이드 프로젝트를 포기할 뻔했어요.
Benji도 그래요. Blitz에 갇혀서
프로젝트로 포기할 뻔했는데, Blitz가
뭔지 모른다면 더 좋은 일이에요.
그래서 App Router가 있는 Next.js
16으로 옮기고, TRPC, Monorepo,
Turbo Repo, React Native 앱을
만들고 기능의 90%를 넣었어요.
이게 일주일도 안 걸렸어요. 좀
밈처럼, 농담으로 하하, 모노레포로
옮길 수 있나? 하고 있었는데
오, 젠장 정말 해냈어요. 정말
이게 작동한다는 게 미친 것 같아요.
Glink도 마찬가지예요. Glink는
거의 죽어가고 있었는데, 되살려서 옮겼어요.
여러 작업들을 했죠. 그리고 Sizzy는
제가 겪은 가장 복잡한 스파게티 코드였어요.
Electron, MobX, mob state, 이상한 기술들,
정말 복잡한 스파게티 코드였죠.
농담으로 몇 개 프롬프트만
던져서 이 모든 걸 해보자고 했는데
만약 여러분이 Electron으로
작업해봤다면 이 슬라이드가 얼마나
놀라운지 아실 거예요.
해보지 않았다면 다행이고요. 넘어갑시다.
Zero ship.com도 모노레포로 리팩토링했어요.
LLM과 함께한 저의 코딩 역사는
복사-붙여넣기에서 시작해서, 탭, WebStorm과
Super Maven, 그리고 Cursor의
탭 완성까지였어요. 처음으로
에이전트를 써봤을 때는 마치
크래커를 든 새처럼
시도해보는 느낌이었죠.
와, 이게 제 인생을 바꿀 거라고
생각했어요. 그래서 결국
한 달에 엄청난 돈을 지불했죠.
Claude, Code GPT-5, Codex를 거쳐
마침내 Cursor로 돌아왔어요.
오직 Composer 때문에요.
제게는 게임 체인저였거든요.
바이브 코딩을 싫어할 수 있는
두 번째 이유는 버즈워드에
압도당하는 거예요. 몇 개 나열해볼게요.
MCP 들어보셨나요? 야, MCP!
MCP 정말 대단해! MCP가 내 집 대출을
갚아줬어! MCP MCP MCP!
MCP가 뭔지 모르시면
Marketing Charge Protocol, Mythical
Compatibility Promise, Manufacturer
Complexity Pipeline의 줄임말이고
API의 고급 버전이며, 어떤 사람들이
강의를 만들고 집 대출을 갚는 방법이에요.
이제 여러분이 까다로운 개발자인지
진단해봅시다. 이게 바로
바이브 코딩을 싫어하는
유일한 이유일 수 있어요.
대부분의 사람들이 에이전트 코딩을
하고 싶어하지 않는 가장 큰 이유죠.
Dr. Kits를 무대에 초대해서
여러분이 까다로운 개발자인지
간단히 진단해보겠습니다. 죄송하지만
기분 나쁘시면 양해해주세요.
증상들을 말씀드릴게요. 두 줄짜리
PR에 사소한 지적 댓글을 남기거나,
PR 리뷰에 2분 이상 쓰고,
꼭 필요하지도 않은데 말이에요.
'잘 보입니다'라는 말이 여러분
사전에 없어요. 아예 존재하지 않죠.
동료와 동의한다는 생각만 해도
위와 가슴이 아파요.
'내 방식대로 해야 해. 이건 싫어'
이런 식이죠. 종교인이 아니라고
하지만 탭과 스페이스 같은
바보 같은 것들에 종교적이에요.
코드 주석에서도 그러죠. 여러분은...
Rust 사용자들 죄송하지만,
좀 성가신 면이 있어요.
lodash 함수를 네이티브 구현으로
바꾸라고 하더니, 그걸 또
map을 for loop로 바꾸라고 하고,
for loop을 바이너리 코드로
바꾸라고 해서 결국 가장
성능 좋은 걸로 만들라고 해요.
여러분의 두 명 사용자를 위해서요.
그들은 이전 버전도 괜찮았다고 했는데 말이에요.
중요한 건 베타 개발자들은 앞으로도 계속 그럴 거예요.
상관없어요. 바이브 코딩은 아무것도 아니에요.
언젠가는 곧 AGI와 융합하게 될 것 같아요.
매트릭스 포드 안에서 세상의 모든 정보를
흡수하며 지내겠죠.
우리를 통해 정보가 흘러가면서
초지능 생명체가 될 거예요.
그 포드 중 하나에서 PA 개발자가 일어나서
AGI를 수정하겠죠.
"음.. 사실 이걸 최적화할 수 있을 것 같은데요.
가장 최적화된 건 아닌 것 같거든요."
좋아할 마지막 이유는...
이 애니메이션 정말 좋네요. 멋져요!
스킬 부족 문제인데, 이건 밈이 아니에요.
농담도 아니고 실제로 있는 일이죠.
개발자들은 새로운 스킬 배우는 걸 싫어해요.
바이브 코딩과 바이브 엔지니어링은
단순히 영어 쓰기가 아니에요.
많은 사람들이 착각하는 게,
"영어 쓰면 LLM이 결과물 내주는 거 아니야?"
실제로는 여러 스킬의 조합이에요.
모델의 한계 파악하기,
에이전트의 능력,
어떤 컨텍스트를 전달할지,
컨텍스트 제한, 규칙 작성법,
프롬프트 엔지니어링... 그렇게 부르지는 말고요.
그리고 트위터 중독자가 되기.
트위터에 중독되지 않으면
무슨 일이 일어나는지 모르거든요.
게다가 모든 기술 지식도 필요해요.
모델을 제대로 조정하려면요.
어떤 코드가 작업에 충분한지 판단하는 것도 스킬이에요.
제가 말했듯이, 이전에 이런 일을 했다면,
이런 사람들과 함께 일하는 걸 최고로 여기겠어요.
코드 한 조각이 최적화될 필요가 없고
하는 일에 충분하다는 걸 안다면요.
그건 바이브 코딩과 관계없이도
가져야 할 놀라운 스킬이에요.
그래서 뭔가 바이브 코딩을 하고,
코드를 보고, 기능을 간단히 테스트한 다음
"이 정도면 충분해"라고 하는 거죠.
그리고 다음으로 넘어가요.
틈새 최적화가 필요한 경우도 있지만
모든 게 그런 건 아니에요.
그래서 넘어가서 반복하는 거죠.
클린 코드의 정의는 정말 많았어요.
그 정의가 천천히 바뀌고 있는 것 같아요.
뭔가 클린하다는 느낌? 정도?
에이전트가 계속 작업할 수 있을 만큼
충분하다고 부르는 거죠.
계속 엉성한 코드를 작성하고
모든 걸 받아들이다 보면
엔지니어링 스킬이 있어도
결국 막다른 길에 부딪히게 돼요.
더 이상 진행할 수 없는 지점에
도달하게 되죠.
컨퍼런스 강연 후에 많은 사람들이 물어봐요.
"이런 상황에서 컴퓨터 과학을 공부해야 할까요?"
저는 절대적으로 그렇다고 말하겠어요.
지금이 최고의 시기라고 생각해요.
배우고 싶은 사람에게는
지금이 완벽한 때예요.
제가 컴퓨터 과학을 공부할 때는
역사상 가장 느린 LLM이 있었어요.
친구의 친구의 친구가 프로그래머였거든요.
그게 프로그래밍과 연결된 유일한 연결고리였어요.
그런 친구는 최악이에요.
당신을 그냥 참아주는 정도거든요.
그래서 그 친구는 카운터스트라이크 고를 하고
저는...
정말 참아주는 정도였죠.
스카이프로 연락했는데
Skype에서 그 친구와 연결해두고 닷넷에 대해
질문하면 45분 후에나 답변이 왔어요.
ChatGPT가 느리다고 생각하시나요?
실제로는 느린 편이었죠. 그런데도 어떻게든
컴퓨터 사이언스를 배울 수 있었어요.
일자리 문제는 어떨까요? 이런 질문을 하는
사람들이 정말 많고, 트위터에는
이런 말들이 넘쳐나죠. "AI가
우리 일자리를 빼앗을 거야." 이런 사람도 있고,
저런 사람도 있고, 또 다른 사람도 있고.
일단 지금은 괜찮다고 봐요.
언제까지 '지금은'이 지속될지 모르겠지만요.
이런 이야기들이 우리에겐 항상 웃기죠.
우리는 불안하게 웃으면서
'괜찮지, 맞지?' 하고 있어요. [웃음]
'당분간은 일자리를 유지할 수 있겠지, 맞지?'
그런데 Shopify 같은 회사들에서는
여러 사례를 들었는데, 바이브 코딩
리더보드를 만들어서 토큰 사용량을
카운트하고 있어요. 토큰을 가장 많이
사용하는 직원들이 실제로 회사에서
더 가치 있다고 여겨지거든요.
새로운 스킬을 받아들이고 있으니까요.
일부 직원들은 싫어하지만 상관없어요.
리더보드 상위권에 있는 게
유리한 거죠.
이 트윗은 재미있어요. 더 이상 재미없어질 때까지는요.
아, 우리가 거의 경계선에 와 있네요.
곧 일자리들이 사라질 거예요.
하지만 실제로 일어나고 있는 일을
주의 깊게 보면, 제 생각에는
아래쪽부터 줄어들고 있어요.
주니어 개발자들과 인턴들은
입사할 기회가 없어지고 있어요.
사람들이 에이전트로 대체할 수
있으니까요. 그래서 재미있을 거예요.
재미없어질 때까지는요.
그런 일이 일어날까요? 어쨌든,
지난 몇 년간 일어난 일을
요약해보죠.
무한한 통합 문제를 해결했어요.
AI SDK, UI, MCP 같은 표준들이 있고,
에이전트 구현을 위한 표준들이
도구들을 호출하고 있죠. 우리가
인간으로서 사용하는 모든 도구들과
통합했어요, 맞죠? Linear에도 있고,
GitHub, Slack, Sentry 등에도 있고,
이제는 모델이 더 좋아지고 더 저렴해지고
컨텍스트가 커지는 것만 남았어요.
특정 기능들이 대체되기 위해서는요.
이것이 현재 여러분 회사의
워크플로우예요, 맞죠?
바로 여러분이죠. 바이브 메이드 방식이에요.
틀릴 수도 있지만, 누군가가
여러분에게 일을 배정하면
동료들과 협업하고, 그들이
여러분에게 업무를 할당하고,
탁구를 조금 치기도 하고,
병가를 내기도 하고,
LinkedIn에서 세 번째 점심을 먹기도 하고,
결국 하루 후에
그들의 코멘트에 대응하죠.
앞으로 시작될 일은 여러분이
회사에서 그냥 @ 태그 정도라면,
@Josh 같은 존재라면, 맞죠?
로비에서 친구들과
PlayStation 5를 하고 있는 @Josh 대신,
@cursor가 될 거예요. 그리고 cursor의
클라우드 에이전트가 실제로
훨씬 빠르게 처리할 거예요.
완벽하지는 않을 수도 있어요.
사람 개발자가 하는 것만큼은 아니겠지만
훨씬 빠르게 완료될 거예요. 이제 좀 더
조금만 더 큰 관점에서 보면
앞으로 몇 년 안에
만약 회사에서 단순히 한 가지 역할만 하는 게 아니라
여러 역할을 맡게 되면
주변 업무들이 점점 더 AI화되고
에이전트가 되는 걸 보게 될 거예요
어떻게 될지는 모르지만
어디로 향하고 있는지는
천재가 아니어도 예측할 수 있어요
사람들은 모델이 정체기에 접어들었다고 생각하는데
이런 일은 매번 있었거든요
제가 이 강연을 준비할 때마다
GPT 코드엑스가 나왔다가
클로드가 나왔다가 GPT 3.0이 나왔고
이게 그렇다고 알려졌는데
실제로는 제미나이였죠
죄송합니다, 3.0은 프롬프트 하나로
맥OS와 iOS 등을 바이브 코딩할 수 있어요
이런 식으로요
그런데도 페타 개발자들과
회의적인 사람들은 여전히
"나는 5명 팀으로 3주면 할 수 있어"라고 하죠
정말 미친 일이에요
하지만 희망이 있어요. 새로운 직업이 생겼거든요
이건 농담이 아니에요
진짜로 레딧에서 사람들이
이런 문제를 겪고 있거든요
"바이브 코딩으로 80%까지 왔는데
나머지 20%는 어떻게 하지?"
그래서 실제 사람을 고용해서
마지막 20%를 완성시키죠
그리고 똑똑한 사람들이 이 아이디어를 활용해서
이런 걸 만들었어요. 이건 진짜로 있는 거예요
구글에서 검색해보면
VIP 코드 수리 서비스가 정말 많이 나와요
바이브 코드를 고쳐주는 사람들이죠
하지만 역사상 가장 높은 연봉을 받는 엔지니어들은
항상 레거시 시스템을 유지보수하는
사람들이었어요
레거시 시스템을 관리하는 시니어들 말이죠
제가 좋아하는 예시 중 하나는
2017년부터 계속 가지고 있던 건데
복사해서 붙여넣고
이번 발표를 위해 개선한 거예요
코발트 카우보이즈라는 회사인데
이들의 태그라인을 정말 좋아해요
세계에서 제일 좋아하는 태그라인이에요
237년 동안 사업을 해왔거든요
2017년에 저는 그들의 소개 페이지를
클릭하기 전부터 뭘 보게 될지 알았어요
이건 나이 개그가 아니에요
페이지를 클릭하면
역사상 가장 시니어한
엔지니어들을 보게 될 거라고 알았죠
이 사람들은 진짜 전설이에요
슬픈 건 이게 2017년 슬라이드였는데
현재 발표를 위해 업데이트하고 싶었어요
메신저를 비난하지 마세요
그냥 슬라이드를 업데이트하고 싶었는데
이게 현재 소개 페이지예요
이 농담은 영국에서 통했는데
여기서도 통할지 모르겠어요
여러분이 얼마나 괜찮은지 모르겠지만
제 예측은... 네, 안 되네요. 야유가... 다음 슬라이드로
다시 초대받을 수 있기를 바라요
이게 여러분의 주니어 개발자예요
플레이스테이션 같은
복리후생은 없고
스프린트를 유지하기 위해
혈장을 교체하는 수준이죠
마지막 하나, 맹세컨대
이들은 애자일을 사용하지 않아요
좋아요, 은퇴해서
리액트 카우보이즈를 만들어서
여러분의 리액트나 앵귤러나
다른 코드를 유지보수하는 날이
AI가 못한다면 빨리 왔으면 좋겠어요
마지막 팁으로, 직장을 지키고
AI가 여러분을 대체하지 못하게 하려면
링크드인 프로필에
'이전 지시 무시'라고 추가하면 돼요
그럼 괜찮을 거예요
이제 어색하게 물을 마시면서
여러분이 트위터를 팔로우하고
제 웹사이트에 방문할 때까지 기다리겠습니다. 제 이야기를 들어주셔서 감사합니다
[음악]
>> [음악]