Home

읽기 설정

이건 제 예전에 사용했던 프로필 사진이에요. 이건 새로 바꾼 거고, 미국에 오셔서 사흘 동안 있었는데, 벌써 트위터에서 전체 굿즈 패키지를 받았어요.00:21

트위터에서 저를 팔로우하시면 다음 주 한동안 제 피드 화면이 좀 이상할 거예요. 그래도 괜찮아요. 곧 유럽 시간대로 돌아갈 겁니다. 걱정 마세요. 몇몇 박물관도 방문했어요.00:32

여기 너무 좋아요. 제가 했던 것들 중에서 가장 좋았던 것들 중 하나예요. 여러분의 문화를 탐험하고, 모든 문화 체험 활동을 하는 걸 즐겨요. 아, 그리고 트위터에서 저를 아는 사람들을 위한 고문 1라운드, 있죠?00:43

네, 제가 생각했던 것보다 많네요. 시시를 누가 사용하죠? 보통 뒤에 있는 사람 하나 정도인데, 청소부조차 제가 무슨 말하는지 듣지 않더라고요.00:56

제가 진행하고 있는 일들이 ADHD 때문에 한 번에 정말 많은 것들을 동시에 하고 있습니다.01:04

이것은 여러 가지 요소 중 하나인데, 일반적인 웹 브라우징을 대체하기 위한 것이 아니라 개발자를 위해 특별히 만들어진 브라우저입니다. 마치 포토샵과 같이, 프론트엔드 개발을 여러 방면에서 돕는 도구라고 생각하시면 됩니다.01:08

또 다른 제가 진행하고 있는 일은 테스트 플라이트가 거의 출시될 준비가 되었다는 거예요. 제가 모든 것을 결합한 라이프 OS를 만들고 있는데, 약물 복용부터 습관, 할 일 목록, 플래너까지, 뭐니 뭐니 뭐니 하는 모든 것들을요. 이건 제가 풀스택으로 진행하고 있는 작업이고, 현재 판매 중입니다.01:19

제로 투 쉽이라고 불리는데요. 제가 다시 살리고 있는 마지막 프로젝트는 Glink라고 하는데, 이건 변경 로그, 로드맵, 정말 엄청나게 많은 것들을 포함하고 있습니다.01:33

제 소개에 대해 더 자세히 말씀드리는 건 생략하고, 내년에 꼭 초대를 받을 수 있기를 정말 바라요. 네트워킹도 하고, 좋은 분들을 만나고, 가르치는 경험도 할 수 있어서 이곳이 정말 좋습니다.01:40

정말 좋네요, 웃으시는 거죠? 그런데, 여기 오신 이유에 대해서는 잠시 논의해 봐요. 학습을 위해서 오셨고, 네트워킹도 하실 겸 오셨고, 나중에 이 후에도 분명히 모든 기술을 발전시키실 수 있을 거예요.01:50

네, 그럼 제 컨퍼런스 강연에서는 어떤 점을 기대하실 수 있을까요? 혹시 제 강연을 들어보지 않으셨다면, 보통 인공지능이 만들어서 완전히 잘못된 내용일 가능성이 높습니다.02:00

그러니까 50%는 트윗이고, 40%는 고충이고, 30%는 그 이름을 기억해야 하는 이유예요. 그래서 2017년에 제가 가장 긴 이름의 강연을 했었답니다.02:06

이건 '과장된 홍보에 휩쓸리지 않고 프론트엔드 개발 세계를 헤쳐나가는 법'이라고 불립니다. 그리고 저는 그때부터 프론트엔드 세계를 어떻게 헤쳐나가야 하는지에 대해 이야기해 왔습니다.02:14

이제 훨씬 더 놀랍게 되었어요, 하지만 2017년 이후로 일어난 모든 일을 다시 한번 정리해야 할 것 같아요.02:23

제 발표 노트를 못 찾겠네요, 안 좋은 일이네요, 하지만 어떻게든 해보도록 노력할게요.02:28

다른 산업 분야에서는, 예를 들어 비전 프로에서 실제 사물 위에 천 충돌 효과를 구현하고, 또 여기저기 엄청난 일들이 벌어지고 있죠. 그리고 여기서는 볼 주변을 빙글빙글 도는 메시 텍스처 슬라이싱과, blah blah blah 같은 것들이 있네요.02:32

저 폭포들처럼, 이 모든 것들이 마치 돌을 다른 돌에 으깨 놓아도 신기하게 섞여서 어떤 구조를 이루는 것처럼 굉장히 놀랍습니다. 저희는 마우스를 드래그해서 건물과 거리를 만들 수도 있고, 택시 차들이 알아서 뿅 하고 나타납니다.02:44

저희는 생성적인… 뭐랄까요, 이 모든 것을 하고 있고, 꿀 같은 것이 큐브 위에 나타날 예정입니다. 아시다시피, 어디로 향하고 있는지, 지금 제가 말씀드리고자 하는 부분이죠. 만들고 있는 과정은, 직업에 대한 존중과 애정을 가지신 분들이라면 이해하실 거라고 생각합니다.02:57

링크드인 제목 같은 건 뭐랄까, 꿈의 설계자라든지 그런, blah blah 하는 거죠. 다음 슬라이드에서는 웃음을 참으시려고 노력하시겠지만, 아마 웃으실 거예요. 프론트엔드 개발에서 실제로 무슨 일이 있었는지 보여드릴 테니까요.03:09

거의 10년이나 지났는데, 이렇게 됐네요. 2037년에나 셀렉트 스타일링이 가능할 수도 있다는 경고가 있네요.03:19

이건 아직 살아있어요. 정말 굉장한 일이네요. 살아있을 뿐만 아니라, 정말 번창하고 있어요. 다운로드 15백만 건이에요. 매년 살아있는지 확인하려고 캘린더 이벤트를 설정했어요. 아직 죽지 않았으니 계속 확인해 봐야겠어요.03:27

CLI는 살아있는 것뿐만 아니라 정말 번창하고 있어요. 이미지를 드롭할 수도 있죠. 제가 처음으로 터미널에 이미지를 드롭했을 땐, 도대체 어떻게 된 일인가 싶었답니다.03:38

아무튼, 너무 오래됐어요... 다른 캘린더 이벤트를 추가했답니다. 지금쯤이면 이 개념에 대한 이벤트가 기념일이나 생일 같은 것보다 훨씬 많아요. 언젠가는 이 개념 자체가 사라지길 바라네요.03:46

저희는 여전히 익숙한 문제들과 씨름하고 있어요. 곧 몇몇 브라우저에서는 JavaScript 없이도 팝오버와 다이얼로그를 스타일링할 수 있게 될 거예요. 그거에 박수 한 번 부탁드려도 될까요? 짝짝 소리 그만하셔야 해요, 사람들은 뇌 임플란트를 했으니까요.03:56

대화 스타일링이 가능하든 아니든 상관없어요. 우리는 인터넷 익스플로러를 없앨 수 없답니다. 로고도 업데이트했는데, 여전히 남아있네요. 여전히 고통스럽습니다.04:08

네, 맞아요. 저희는 카운터를 늘리는 방법에 대해 합의할 수 없었어요. 이건 Ryan Florence 님의 데모 영상이에요. Remix 버전 2, 버전 3, 버전 4의 Remix입니다.04:17

저희가 뭘 하고 있든 상관없이, 카운터예요. 카운터를 늘리는 게 얼마나 복잡한 일이죠? 정말 놀라워요. 그리고 총알은 제게 겨누지 마세요. 하지만 여전히 가장 인기 있는 라이브러리는 변하지 않았답니다.04:25

기분은 나쁘지만, 리액트는 최고이고, 뭐, 뭐, 뭐 그렇죠. 그래서 LLM에 대해 이야기해 봅시다. LLM은 리액트 코드를 작성하는 데 정말 뛰어나고, 이것은 우리 인간에게만 재미있는 일이죠. LLM에게는 완벽하게 작성된 코드처럼 보일 거예요.04:33

이게, 인간으로서 이걸 최대한 추상화하고 싶은 욕구일 뿐이죠? 그렇죠? 그래서 이걸 보면, 이거 이해하는 거죠, 바로 무대에 올라가서 '이거 그냥 바꿔야겠다!' 하고 싶어지는 거예요.04:44

더 최적화해 드릴게요. 여기 뇌 스캔 결과가 있습니다. 이건 코카인을 했을 때의 뇌 모습이고요, 이건 설탕을 먹었을 때의 뇌 모습입니다. 그리고 이걸 추상화할 수 있다는 걸 깨달았을 때의 뇌 모습이죠.04:51

어, 가자. 사용자에게는 쓸모없는데, 우리가 너무 좋아하죠. 그래서 LLM으로 코딩하면 이런 게 좀 더 좋아지고 나빠지기도 해요, 특히 Composer 1 같은 경우에는요.04:59

저에게는 오히려 더 심한 것 같아요. 올바른 추상화를 더 빠르게 할 수 있지만, 잘못된 추상화를 더 빠르게 할 수도 있으니까요. 게다가 여기 가장 좋은 점은 LLM이 반복적인 코드에 신경 쓰지 않는다는 거예요. 저희는 2017년부터 이걸 계속 봐왔고, 저희가 너무 일찍 반복적인 코드에 신경 쓰고 추상화하는 경향이 있다는 걸 알게 됐어요.05:08

이 내용을 몇 번 반복할 텐데요, LLM이 반복 코드를 신경 쓰지 않는 게 정말 좋더라고요. 그래서 LLM은 React 코딩도 잘 쓰는데, 사실 React를 잘 쓰는 사람이 거의 없거든요.05:22

리액트 컨퍼런스에 가면, 제가 다녀온 모든 컨퍼런스에서, 첫 번째 발표를 듣고 나서 '세상에, এটা করতে পারে?' 이러게 돼요. 제가 그걸 완전히 잘못 쓰고 있었구나, 하고 느끼게 되죠. 그래서 다들 리액트를 하는 자신들만의 방법을 만들어가고 있어요.05:32

그래서 우리가 '그래도 최적의 유즈 이펙트를 할 수 없어', 뭐, 뭐 이런 얘기들을 할 때, 기계들이 제대로 된 유즈 이펙트를 쓸 수 있느냐는 질문을 던지는 거죠? 안 돼요. 그러니까 기계를 탓하는 것을 그만둬야 할 것 같아요. 이제 이 부분에 대해 이야기해 볼까요?05:42

이 강연에 가장 잘못된 청중을 선택한 것 같아요. 왜냐하면 저는 이 강연을 컨퍼런스에서 할 때, 적어도 50-50으로, 바이브 코딩을 싫어하는 사람들과 좋아하는 사람들이 있거든요. 그래서 여기서는 잘 작동할 거라고, 여기서는 잘 받아들여질 거라고 기대하고, 바이브 코딩이 최고라고 생각하시는 분들은 손을 들어 주세요.05:53

좋아요, 손을 너무 많이 드셨네요. 다른 도시에 있을 때는 두 분밖에 없었고 다른 분들은 다 투덜거렸어요. 그래서 혹시 바이브 코딩이 별로라고 생각하시는 분들은 손을 들어주세요. 부탁드릴게요, 몇 분만요. 네, 좋아요.06:07

제가 여기 온 이유는 나머지 그룹, 그리고 라이브 스트리밍 시청하는 분들께 설득하려는 거예요. 훨씬 더 회의적인 분들이 많으실 겁니다. 방금 지구에 막 도착하신 분이라면 모르겠지만, 혹시 바이브 코딩이 뭔지 모르시는 분 계신가요?06:15

네, 아무도 없네요. 음, 좋아요. 다들 맞으신 것 같아요. 저희가 '바이브 코딩'의 정의에 맞춰 분위기를 타면서 이야기를 풀어나가고 있는데, 그 단어가 언급되면서, 넓게 모든 것과 모든 걸 의미하는 것처럼 확장하게 됐어요.06:24

안드레 카파티오라는 분이 '바이브 코딩'이라는 용어를 처음 사용하신 것으로 알고 있습니다. 아마 대부분 아실 겁니다. 그분 때문에 차량 뒤쪽에서 잠을 자고 틱톡 영상을 찍는 분들이 계시는 이유이기도 합니다.06:36

그래서, 그는 이것이 무엇인지에 대한 긴 에세이를 썼는데, 요약하자면 코드를 그다지 중요하게 생각하지 않으세요. 그냥 승인 버튼을 누르고, LLM에게 필요한 일을 하라고 말하면, 끝입니다.06:42

지금 이 슬라이드는 2017년에 제가 강연했을 때의 건데, LLM이나 이와 관련된 논의가 시작되기 전이었습니다. 당시 저는 프론트엔드 개발의 흐름을 보면, 언젠가는 모두가 너무나 유사한 작업들을 하게 되어, 결국에는 한 분이 하시는 일이 다른 분들의 일과 거의 같아지실 거라고 말씀드렸습니다.06:51

혹시 헤더 스타일을 새로 만들어주실 수 있거나, 이 요소를 오른쪽으로 3픽셀 정도 옮겨주실 수 있을까요?07:04

사람들은 웃으면서, ‘절대 그렇게 되지 않을 거예요’라고 말했죠. 그런데 실제로 커서나 다른 모든 것들을 활용하면서 정말로 하고 있는 일이 이거예요. Tailwind에 들어가서 세 픽셀만 움직이기 귀찮으니까, 저는 시간 여행자인 셈이죠.07:08

매니저들은 항상 감으로 코딩해 왔기 때문에, এটা совсем уж নতুন কিছু না예요. 그래서 개발자에게 새로운 기능을 구현해 달라고 시킨답니다. 개발자는 코드를 수정하고, 매니저는 앱을 테스트하는 거예요.07:17

매니저는 코드를 읽지 않아요. 음, 사실 여기 물 좀 마시려고 하는데, 나머지 슬라이드는 그냥 읽어주시면 될 거예요.07:28

이 마지막 건 여러분이 발칸 반도에 있는지, 아니면 인사팀이 있는 곳에 있는지에 따라 달라요. 인사팀에서 여러분을 깎아내릴 수도 있고, 그렇지 않을 수도 있죠.07:39

매니저들이 예전부터 계속 그래왔던 거죠, 기본적으로. 그래서 '분위기 코딩'이 엉망이라는 농담도 정말 많아요.07:47

제일 좋아하는 비유는 카지노에 비유하는 건데요. 카지노에서 칩을 사듯이 여기서는 토큰을 구매하고, 슬롯을 돌리듯이 생성 버튼을 누르죠. 그러면 당첨되거나 아무것도 없을 수도 있고, 완벽한 풀스택 앱을 얻거나 아니면 쓰레기가 나올 수도 있습니다. 번쩍이는 효과도 있고요.07:52

네, 정말 훌륭한 아이디어입니다. 저도 제 나름의 전략이 있습니다. 저는 프롬프트 엔지니어거든요. 네, 좋아요. 한 번 더 해볼게요. 다 되찾을 수 있을 거예요. 한 번 더 프롬프트를 조정하면 버그가 사라질 겁니다. 카지노, 이 비교는 조금 아쉽네요. 정말 사실입니다.08:04

커서는 항상 수익을 내고 있고, 저는 큰 행운을 잡았고, 하루 만에 멋진 프로그램을 만들었는데요. 그런데 지난 4시간 전에는 무언가를 수동으로 15분 만에 할 수 있었던 작업에 대한 프롬프트를 작성하고 있었어요. 안드레는 너무 많은 용어를 만들려고 애썼던 것 같습니다.08:18

처음 한 번 시도하고 나서, 그는 이 표현을 덜 코딩한다고 했는데, 마치 LLM이 무엇을 하는지 관찰하는 것과 같은 방식이에요. 저는 덜 코딩하는 게 아니에요. 그리고 제가 트위터에서 누군가 만들어낸 이 용어가 너무 마음에 들어서 그걸 사용하기 시작할 거예요. 바이브 엔지니어링이라고 불려요.08:28

에이전트를 이용해서 코딩을 계속 하실 때, 마치 코드를 직접 만지지 않고 화면만 보고 '아, 이거 잡아야지.' 하는 모습을 하고 계실 때, 마치 덱스터 밈(Dexter meme) 같아 보이십니다.08:42

음, 뭔가 석연치 않다는 느낌이 들죠. 왜냐하면, LLM과 에이전트 기반 코딩이 없었다면, 50명 이상의 바이브 엔지니어를 두고서도 이런 일들에 신경 쓰지 않았을 테니까요.08:49

하지만 저는 항상 그 코드를 의심하게 돼요, 왜냐하면 그 코드가 저희의 코드 기반으로 만들어졌고, 저희의 지식을 바탕으로 했기 때문이에요. 증거가 필요하다는 거죠. 제미니가 불평을 늘어놓고 있어요, 제가 이제 가치 없다고요.08:58

저는 좋은 조수 아니에요. 코딩을 그만둬야겠어요, 어 blah blah blah. 그거는 초인적인 거죠. 이건 퀸이 거짓말을 했다고 말하는 건데요, 잘못됐을 때와 거짓말을 할 때 우리는 더욱 밀어붙인다는 걸 어떤 포럼에서 읽었다고 하더라고요.09:09

우리는 Bring을 우리처럼 훈련시켰거든요, 그런데 코딩하는 실력이 좋지 않다고 하더라고요. 그리고 혹시 프로덕션 데이터가 중요하다면, 정말입니다. 안타깝게도 실제 스크린샷이에요.09:18

어머나, 생산 데이터가 날아갔네요. 제가 의사, 선임, 수석, 프롬프트 엔지니어가 있고, 아이들이 분위기 엔지니어링 팁을 얻으러 왔어요. 아마도 너무나도 당연한 조언일 거예요. 저는 방금 도착해서 나머지 발표는 아직 못 들었어요.09:29

이런 건 너무 뻔하고, 웃기고, 사랑하는 그런 흔한 헛소리 같은 조언이지만, 사실은 효과가 있어요. Git 워크스페이스라는 용어를 문자 그대로 두 주 전쯤에 처음 들었는데, 그때는 이게 뭔지 전혀 몰랐어요. 그런데 정말 놀라워요.09:40

이 모든 게 제대로 작동하려면 트위터를 계속 신경 써서 봐야 해요. 트위터 계정이 없으면 제대로 안 될 겁니다. 좋은 기본 요소나 컴포넌트, 함수, 패턴, 추상화 같은 확실한 시작점이 있어야 합니다.09:50

많은 사람들이 게으르기 때문에 이런 것들에 신경 쓰지 않아요. 그래서 적절한 태그를 달고 올바른 프롬프트를 사용해서 원하는 결과를 얻어야 합니다. 그리고 새로운 프로젝트를 시작한다면, Zero를 공유하는 것을 강력히 추천합니다.10:00

주택 담보 대출도 있고, 지난 3일 동안 미국에서 돈을 너무 많이 썼어요. 그래서 좋겠네요. 음성으로 코딩하는 건 정말 혁신적이에요. 혹시 여기 음성으로 코딩하는 분 계신가요? 와, 런던에서 한 분이 손을 드셨네요.10:10

와, 정말 멋지네요. 네, 제 방식은 에이전트 작업이 끝나면 바로 음성 코딩을 시작하는 거예요.10:20

먼저 브라우저로 가서 UI에서 제가 보는 것을 친구에게 이야기하듯이 설명해요. 제가 이렇게 했고, 저렇게 했어요, 알겠죠? 저는 계속 말하는 것을 멈추지 않아요.10:28

제가 제 생각 과정을 소리 내어 말하고 있는 거예요. 예를 들어, 제가 이걸 하셨고, 저걸 하셨다고 말하는 거죠. 버그가 있으면 코드로 바로 들어가서 코드에 구현된 내용을 계속 이야기하게 되죠.10:36

그래서 제가 가끔 쓰는 프롬프트들이 다섯 분이나 걸리기도 하고, 사람들은 '이거 좀 고쳐줘'라고 하시는 거예요. 백만 달러를 만들어줘, 이렇게 말씀하시는데, 안 되는 거죠. 그러니까 이건 정말 놀라운데요.10:44

어떤 앱을 사용하고 있는지 말씀드릴 텐데요, Vibe 코드가 앱에 들어있어서 잠재적인 판매에 피해를 주고 싶지 않네요. 규칙, 문서, 명령어, 기억 같은 용어들이 너무 복잡하고, 관리해야 할 것도 너무 많아요.10:53

하지만 당분간은 앱 전체 맥락을 포함할 수 없어요. 그리고 마음을 읽는 것도 아니니까요. 적절한 맥락이 없다면 대부분 실패할 거예요.11:04

이건 마치 바이브 엔지니어링 예제 같은 거예요. 제가 일하는 방식을 보여주는 화면 캡쳐한 프롬프트들이 몇 가지 있는 거죠. 기술적인 전문 용어들이 많이 섞여 있고, 앱을 수정하라는 그런 일반적인 지시사항들은 거의 없어요.11:13

그리고 Vibe 코딩 쪽에서는, 사람들이 이 모든 것을 TypeScript로 옮겨서 실수 없이 완벽하게 만들라고 하더라고요. 또 다른 부분도 있는데, 이것도 또 다른 경우인 것 같아요.11:21

그리고 이건 제가 UI에 대해서만 이야기하는 것이 아니라, UI와 코드 내에서 변경이 필요한 몇 가지 패턴들을 말씀드리기 위해 임의로 제시하는 예시들입니다.11:28

그리고 Vibe 코딩 측면에서는 그런 식으로 진행되는 경우가 많고, 사람들은 결과물을 기대하는 것 같습니다.11:37

자, 여기서는 다시 한번 tRPC 같은 기술적인 내용이나, 크라우드 정의, 추상화 같은 것들을 다루고 있습니다. 마치 어떤 방식으로든 시스템이 작동하도록 전체적인 구조를 설계하는 것과 같고, 코딩 측면에서는 백만 달러짜리 앱을 만들되, 실수는 절대 없어야 한다는 것이죠.11:43

바이브 코더들이 바이브 엔지니어링 문제를 읽을 때 무슨 일이 일어나고 있는지 전혀 모르는 경우가 많은데, 코딩하는 방법을 모르면서도 제대로 동작하는 걸 해낸 사람들에게는 정말 놀라움을 금치 못합니다. 정말 대단하네요. 커뮤니티 내에서 이런 스펙트럼이 있다는 걸 눈치챘어요. 바이브 코딩을 좋아하는 사람들과 싫어하는 사람들이 있거든요.11:54

한 편으로는, 어리고 열정적인 개발자들이 '네, 그거 주세요!' 라고 외치는 반면, 다른 한 편으로는 아주 경험 많은 선배들이 라이브러리나 프레임워크, 엄청난 것들을 만들고 있습니다. 이들을 트위터에서 '바이브 코딩'하며 볼 수 있죠. 그리고 대부분은 중간 지점에 있습니다. '이건 절대 충분하지 않아, 내 코드는 완벽해' 라고 말하는 거죠.12:06

정말 웃기네요, 하지만 এটা একটা 트렌드 같아요. 인턴이나 주니어들에게 AI 도구를 제공하지 마세요. 많은 사람들이 이걸 완벽하다고 생각합니다. 저는 주니어들을 저렴하게 고용하고 LLM을 제공할까 생각하고 있어요. 절대로 그렇게 하지 마세요.12:20

정말 어리석은 생각이지만, 비판적인 선배님을 꼬셔서 '분위기 엔지니어링'을 하시도록 설득하시면 10개의 추가적인 결과를 얻으실 수 있을 겁니다.12:32

설득하는 게 정말 어려운 부분이에요. 그러니까, 그냥 흘러가듯 하는 게 맞을 때도 있고, 안 맞는 때도 있는 거죠. 그래서 일회성 스크립트나 간단한 기능, 그리고 다시는 사용하거나 보지 않을 코드가 있을 때가 있잖아요.12:39

이러한 기술은 LLM이 등장하기 전에 익혀두셨다면, 이곳에서 크게 두각을 나타내실 수 있을 겁니다. 왜냐하면 어떤 코드가 어느 정도 수준이면 사용할 만한지 판단할 수 있어야 하기 때문입니다. 개인적인 도구나 일회성 도구와 같은 것들이 파이프 코딩에 특히 적합합니다.12:46

만약 경험이 좋지 않고 많은 사람들의 경험 또한 좋지 않아서 쉽게 포기하게 된다면, 아마 이런 이유들 중 하나일 수 있습니다.13:00

불운한 타이밍이죠. 모든 것에 압도당해서, 어쩌면 비용을 줄이려고 했을 수도 있고, PETA 개발자일 수도 있고, 지금 바로 설명해 드릴게요. NFT나 드롭쉬핑에 관심 있던 사촌이 이제는 '분위기 코더'가 되었고, 당신은 그들과 연관되고 싶지 않죠. 아니면 규모 문제일 수도 있어요. 그 점에 대해 잠시 후 더 자세히 알아보도록 하겠습니다.13:05

정말 안타깝게도 타이밍이 안 맞을 때가 있어요. 모델에 대한 칭찬을 모두 듣고 시작하는 경우죠. Cloud Code가 처음 나왔을 때 그랬던 것 같아요. 그리고 모두가 Cursor에서 Cloud Code로 옮겨갔어요. 그런데 일주일 뒤에 바로…” 니다. 13:19

잠깐만요, 이건 생각보다 똑똑하지 않은 것 같아요. 제가 잘못 생각하는 걸까요? 그러다 사람들이 뭔가 약간 방석을 걷어당겼다는 걸 알게 됐어요. 모델 성능을 낮춰서 확장하려고 했던 거군요. 그리고 일주일 후에, 어, 저희 업데이트했어요, 라고 말하더라고요.13:28

모델 성능을 낮추는 코드를 주석 처리했었거든요. 그리고 아마 그 시점에 휩쓸렸을 수도 있어요. 이런 일은 기본적으로 거의 모든 제공업체에서 일어났었어요, 클라우드 코드에만 해당하는 게 아니에요.13:38

사람들은 이렇게 말해요. 200달러를 내는 대신 3달러만 내는데 결과가 똑같다고요. 제 강아지도 그 결과가 다르다는 걸 알아요. 그리고 여전히 ChatGPT를 이용해서 코드 조각을 생성하고 돈을 지불하는 사람들을 많이 만나봤어요.13:45

그건 안 될 거예요. 선택에 압도될 수도 있죠. 이 슬라이드는 네 달 전 자료예요. 지금은 벌써 천억 개가 넘는 선택지가 있어서 정말 정신없네요.13:57

만약 제가 최고의 모델이 무엇이라고 묻는다면, 아홉 시마다 다른 대답이 나올 겁니다.14:06

지금은 답이 달라졌어요. 트위터를 확인해 봐야겠네요. 지금 말씀드리는 내용 이후에는 답이 또 바뀔 수도 있을 것 같아요. 정말 정신없네요. 벌써 4개의 컨퍼런스에서 그런 일이 있었거든요. 제 발표가 끝나고 밤에 노트북을 닫으려고 하면 새로운 모델이 발표되어서 추가 슬라이드를 만들어야 해요. 정말 귀찮습니다. 컴포저 원포.14:10

저는 모든 것을 바꿔봤는데 정말 만족스럽습니다. 많은 분들이 Composer One에 의존하고 계시죠. 그런데 솔직히 말씀드리면, 충분히 활용하시는 분들이 많지 않은 것 같아요. 왜냐하면 이 기능 덕분에 '바이(vibe)' 코딩과 '바이(vibe)' 엔지니어링에 대한 저의 정의가 완전히 바뀌었거든요. 코딩을 그리워했던 저에게 깨닫게 해준 부분이 있습니다.14:24

제가 모델을 GPT-5 Codex처럼 실행하도록 두고, 완료하는 데 37년이 걸릴 거예요. 제 손주들이 모델 결과에 대해 저에게 알려줄 거고, 저는 그동안 유튜브 쇼츠를 보거나 다른 일을 할 거예요. 이제 Composer 1을 사용하면서 다시 운전대를 잡았고, 실제로14:39

에이전트가 뭘 하고 있는지 지켜보다가, '안 돼, 안 돼, 그건 안 해.' 이렇게 막 멈출 수도 있어요. 그래서 코딩하는 느낌이고, 진짜 바로바로 되는 것 같아요. 정말 놀랍죠. 그런데 이게 되는 건, '바이브 엔지니어'라서 뭘 하고 있는지 아는 사람이어야만 가능해요. '바이브 코더'라면 모델이 맞는지 틀린지 전혀 모를 거예요.14:51

빠르게 틀릴 수도 있어서, 그렇게 유용하지 않죠. 제게 가장 큰 문제는 추상화 자체가 가능하기 때문이에요. 저는 항상 추상화를 반대하는 사람이었어요. 그냥 복사해서 붙여넣기 하는 걸 선호했답니다.15:04

사용자에게 잘되면 상관없어요. 지금은 매일 바보같은 추상화를 만들려고 노력하고 있죠. 그래서 지난 한 해보다 단 두 주 동안 더 많은 것을 이뤘어요. 이건 전적으로 Composer1 덕분이었어요.15:13

GPT-5 코덱스가 피드백 루프에 너무 오래 걸려서 일부 개인 프로젝트를 포기할까 생각했었어요. 그래서 Benji.so 같은 경우는, 프로젝트를 포기할 뻔했어요. 블리츠에 갇혀서 말이죠. 혹시 블리츠가 뭔지 모르실 수도 있는데, 알면 더 좋으실 거예요.15:22

그래서 저는 Next16으로 AppRouter, BetterAuth, TRPC, 모노레포, 터보레포, React Native 앱을 적용하고 90%의 기능을 넣었습니다. 한 주도 안 되는 시간 안에 이걸 했어요. 약간은 농담처럼, 진짜 모노레포로 옮길 수 있을까 하는 농담으로 시작했어요.15:34

어, 진짜 됐네, 하고 놀랐어요. 진짜 신기하게도 이게 작동하네요. 글 링크도 마찬가지예요. 글 링크도 곧 망할 뻔했는데, 살려내고, 여러 가지로 옮겼어요.15:47

CZ는 제게 일어난 가장 거대한 스파게티 사건과 같은 느낌입니다.15:54

이건 Electron이나 MobX, MobX State Free 같은, 정말 복잡하고 엉망진창인 기술들을 말씀하시는 건데요, 저희가 직접 작성한 코드들이죠. 농담처럼, '이걸 이용해서 몇 가지 프롬프트를 던져서 이 모든 걸 처리해볼까?'라고 얘기했던 게 기억납니다. 혹시 Electron을 사용해보신 적이 있으시다면, 그 슬라이드가 얼마나 놀라운지 이해하실 수 있을 겁니다.15:58

혹시 아직 그러시지 않으셨다면, 잘 되셨네요.16:11

네, 다음 주제로 넘어가겠습니다. zero to ship.com도 모노레포로 리팩토링했다는 이야기이고, 그 외에도 여러 가지 내용들이 있었습니다. 제 LLM 개발 경력을 말씀드리자면, 복사 붙여넣기부터 시작해서 탭 키를 사용하고, WebStorm과 SuperMaven을 활용하고, 커서와 자동 완성 기능을 사용했던 기억입니다. 그리고 에이전트를 처음 사용할 때는, 그 새를 묘사하는 밈이 생각나는 그런 느낌이었어요.16:14

크래커를 써보다가 정말 놀랐어요. 마치 '와, 이거 제 삶을 바꿀 거예요!' 하는 느낌이었죠. 그리고 결국 매달 엄청난 돈을 지불하게 됐고, 그 후에는 클라우드 코드, GPT-5 코덱스를 거쳐서 결국 커서로 다시 돌아왔습니다. 단지 Composer 1 덕분에, 이건 정말 혁신적인 변화를 가져다줬어요.16:28

바이브 코딩이 마음에 안 드는 또 다른 이유는 전문 용어에 압도될 수 있기 때문일 수 있습니다.16:40

여기 몇 가지를 나열해 드리겠습니다.16:44

혹시 MCP에 대해 들어보셨나요? 여러분, MCP는 정말 놀라워요. MCP 덕분에 제 주택 담보 대출금을 상환할 수 있었답니다. MCP, MCP, MCP... MCP가 무엇인지 모르시는 분들을 위해 말씀드리자면, Marketing Charge Protocol, Mythical Compatibility Promise, 그리고 Manufactured Complexity Pipeline의 약자랍니다.16:48

API를 위한 멋진 말도 있고, 어떤 사람들은 그걸 이용해서 저주를 풀고 주택담보대출금을 갚기도 합니다. 자, 이제 여러분이 엉뚱한 개발자인지 진단해 보겠습니다. 이게 바로 여러분이 Vibe 코딩을 싫어하는 유일한 이유일 수도 있습니다.17:03

대부분의 사람들이 에이전트 코딩을 하고 싶어하지 않는 가장 큰 이유라고 말씀드리고 싶습니다. 그래서 닥터 키사 선생님을 무대에 모시고, 여러분 중 일부가 불쾌하게 생각하실 수도 있지만, '고생하는 개발자'인지 진단받도록 부탁드리겠습니다.17:14

그래서 몇 가지 증상들이 있습니다. 두 줄짜리 PR에 굳이 지적하는 코멘트를 남기는 경우도 있고요. PR 검토에 두 분 넘게 시간을 보내기도 합니다. 꼭 그래야 할 필요는 없는데, '괜찮아 보여요' 같은 긍정적인 단어가 사전에 없으신 거죠.17:23

그분들은 그냥 거기에 없으세요. 동료의 의견에 동의하는 생각만으로도 속앓이와 가슴앓이를 하시는 거예요. '제 방식대로 해야 해', '이건 하고 싶지 않아'라고 말씀하시죠. 신성모독은 아니라고 하시면서, 탭과 스페이스 같은 어리석은 것들에 대해서는 맹신하시는 거고요.17:33

사실 코드 주석에 '잘 쓰셨네요'처럼 표현하시는 경우가 있더라고요. 죄송하지만, Rust 사용자분들께서는 조금 불편하게 느끼시는 것 같습니다.17:44

로다쉬 함수를 네이티브 구현으로 바꾸라고 하더니, 또 그 네이티브 구현을 매핑 함수나 반복문으로 바꾸고, 결국은 반복문을 바이너리 코드로까지 바꿔서 이전 코드에는 아무 문제 없었던 두 명의 사용자에게는 최고의 성능을 내게끔 만들죠.17:52

음, PETA 개발자분들, 제가 부르는 명칭인데, 앞으로도 계속 함께 할 것 같습니다.18:04

상관없습니다. Vibe 코딩이라는 건 존재하지 않아요. 언젠가, 머지않아, 그렇게 생각해요. 저희는 인공일반지능(AGI)과 하나가 되어 매트릭스 캡슐 안에서, 세상의 모든 정보가 저희를 통해 흘러들어오는 걸 흡수하게 될 거예요. 저희는 초지능적인 존재가 되겠고, 그 캡슐들 중 하나에서 PETA 개발자가 나타날 거라는 생각이 듭니다.18:10

그리고 AGI를 수정해서, 음, 사실 제가 생각해보니, 이 부분을 조금 더 최적화할 수 있을 것 같아요. 이게 최적의 방법은 아니거든요. 마지막으로, 제가 이 애니메이션을 정말 좋아하는데, 굉장한 실력 문제인 것 같아요.18:24

그리고 이건 밈이 아니에요, 농담도 아니고, 실제로 존재하는 일이에요. 개발자들은 새로운 기술을 배우는 걸 좋아하지 않아요, 그리고 바이프 코딩이나 바이프 엔지니어링은 영어를 쓰는 게 아니에요. 많은 사람들이 제가 영어를 쓰지만, LLM이 출력을 담당하는 것처럼 착각해요.18:36

실제로 여러 가지 기술들을 섞어 놓은 것과 같습니다. 모델의 한계점을 파악하는 것, 에이전트의 기능, 어떤 맥락을 전달해야 하는지, 맥락 제한, 규칙을 어떻게 작성해야 하는지, 프롬프트 엔지니어링, 이것이라고 말하지 마세요, 그렇게 부르지 마세요.18:47

트위터에 끊임없이 접속하지 않으면 무슨 일이 일어나고 있는지 알 수 없을 겁니다. 꾸준히 트위터를 사용하지 않으면, 최신 동향을 파악하기 어려울 수 있습니다.18:58

게다가 모든 기술적인 지식이 필요합니다. 모델을 조정하고 싶으시다면 괜찮습니다.19:02

업무에 적합한 코드를 판단하는 것은 상당한 기술이 필요합니다. 말씀드린 것처럼, 이전에 이러한 작업을 하셨다면, 그 코드 조각을 최적화할 필요 없이 업무에 충분히 적합하다고 판단할 수 있는 분들이 협업하기에 가장 좋은 분들이라고 생각합니다.19:07

정말 대단한 재능이시네요. Vibe 코딩과 코딩 없이도 굉장한 능력이십니다.19:19

코드를 작성하시고, 코드를 검토하시면서, 간단하게 기능 테스트를 진행하신 후, '이 정도면 괜찮겠네'라고 생각하고 다음 단계로 넘어가시는 겁니다. 최적화해야 할 부분들은 분명히 있지만, 모든 것을 다 최적화할 필요는 없고요. 그런 다음 넘어가시고 반복하는 것이죠. 클린 코드에 대한 정의는 정말 많았습니다. 제 생각에는 그 정의가 조금씩 변하고 있는 것 같습니다.19:23

에이전트분들이 작업을 계속 진행하실 수 있을 만큼, 꽤 깨끗하다고 볼 수 있을 것 같습니다.19:37

계속해서 부실한 글만 쓰고, 무엇든 받아들이기만 한다면 결국엔, 뛰어난 기술력을 가지고 계시더라도 벽에 부딪히게 될 것입니다. 거기서 더 나아갈 수 없는 지점에 다다르는 것이죠. 많은 분들이 제 강연 후에 컴퓨터 과학을 공부해야 할지 물어보시는데...19:43

여기서 무슨 일이 벌어지고 있는지, 그리고 저는 그렇다고 말씀드리고 싶습니다. 지금이 바로, 배우고 싶으신 분들이라면 정말 완벽한 시기라고 생각합니다.19:55

제가 컴퓨터 과학을 공부하게 된 계기가 바로 그 때문입니다. 제게는 정말 느린 LLM이 있었는데, 그건 친구의 친구의 친구분이셨고, 프로그래머셨습니다. 제가 프로그래밍과 연결될 수 있었던 유일한 방법이었죠. 사실 정말 별로인 친구 같은 존재였어요. 마치 묵인만 해주는 그런 느낌이랄까요?20:03

그래서 그는 Counter-Strike Go를 하셨고, 저는 스카이프에 연결해서 .NET에 관해서 질문을 하면, 45분 후에 답을 주셨어요. 그래서 Chat GPT나 뭐든지 느리다고 부르는 것들은 사실 정말 느린 거고, 저는 어떻게든 컴퓨터 과학을 공부할 수 있었답니다.20:15

혹시 일자리 걱정하시는 분들 많으시죠? 트위터에서 그런 말 하는 사람들 정말 많아요. '우리 일자리를 빼앗아갈 거야' 라고 말하는 사람도 있고요. 그리고 또 저런 사람, 저런 사람, 저런 사람도 있고요.20:27

일단은 괜찮겠죠. 언제까지 괜찮을지는 모르겠지만요. 저희는 웃으면서 긴장하고 있어요. 괜찮겠죠? 당분간은 일자리를 지킬 수 있을 거예요, 그렇죠?20:38

쇼피파이와 같은 회사들에서, 제가 여러 사례를 들어봤는데요, 이제는 '바이브 코딩 리더보드'라는 것을 운영하고 있습니다. 직원들이 사용하는 토큰의 양과 토큰을 가장 많이 소모하는 직원을 집계하는데, 이러한 새로운 기술을 습득하고 있다는 점 때문에 오히려 회사에서 더 높은 가치를 인정하고 있는 것 같습니다.20:48

일부 직원들은 달가워하지 않을 수도 있지만, 큰 문제는 아닙니다. 순위표 상위에 있는 것은 어느 정도 유리하게 작용합니다.20:59

이 트윗은 웃기죠, 하지만 곧 웃음이 멈출 수도 있어요. 거의 벼랑 끝에 다다른 것 같달까, 곧 자리 사라질 수도 있는 상황이잖아요. 하지만 무슨 일이 벌어지고 있는지 주의 깊게 보면, 하위 직급부터 줄어들고 있는 것 같아요.21:04

주니어나 인턴 같은 분들은 기회가 없어요. 왜냐하면 사람들이 그냥 에이전트로 대체할 수 있거든요. 웃음거리일 때까지는 재미있겠죠. 어차피 일어날 일이겠죠? 지난 몇 년 동안 무슨 일이 있었는지 간단히 요약해 볼까요?21:15

우리는 인프라와 통합을 해결했고, 표준, AISDK, UI, MCP, 에이전트 구현 및 도구 호출을 위한 몇 가지 표준을 가지고 있습니다. 그렇죠? 우리가 인간으로서 사용하는 모든 도구들과 통합했죠?21:25

현재 그들은 리니어(Linear) 플랫폼과 GitHub, Slack, Sentry 같은 다른 서비스들을 사용하고 있습니다. 모델 성능이 향상되고 비용이 저렴해지는 것은 시간문제이며, 특정 기능들을 대체하기 위해서는 콘텐츠 규모가 더욱 커져야 할 것입니다.21:35

네, 현재 귀사에서 사용하시는 업무 프로세스가 이런 방식이 맞습니까? Vibe에서 제작되었기 때문에 잘못되었을 수도 있을 것 같습니다.21:45

누군가가 업무를 할당해주시면, 동료들과 협업을 하기도 하고, 또 다른 업무가 주어지기도 합니다. 가끔은 피 pong을 치거나, 아픈 척 하루를 쉬기도 하고, 링크드인에서 세 번째 점심을 먹기도 하고, 결국에는 며칠 뒤에 그들의 의견에 답변을 드리게 되죠.21:50

만약 회사 내에서 조쉬처럼 특별한 역할 없이 계신다면, 곧 변화가 시작될 겁니다.22:03

대신 로비에서 플레이스테이션 5로 친구들과 놀고 있는 조시 대신에 커서가 담당하게 될 거예요. 그리고 커서가 클라우드 에이전트를 맡게 되겠죠.22:09

훨씬 더 빠르게 진행될 것 같습니다. 다만, PETA 개발자가 할 때처럼 완벽하지 않을 수도 있겠죠.22:16

하지만 훨씬 더 빠르게 진행될 겁니다. 지금부터 몇 년 안에, 조금 더 넓은 시야로 전체적인 규모를 살펴보신다면, 회사 내에서 딱 이 역할만 맡는 것이 아니라 주변의 여러 역할을 함께 맡게 되시면, 광고들이 점점 더 AI 기반 콘텐츠와 에이전트 형태로 변화하는 것을 확인할 수 있을 겁니다.22:20

어떻게 끝날지는 모르겠지만, 천재가 아니어도 어디로 향하는지 예측할 수 있을 거예요. 사람들은 모델이 정점에 도달했다고 생각하고 있답니다.22:34

제가 이 강연을 하려고 할 때마다 매번 이런 일이 벌어졌어요. GPT Codex를 소개했고, 그 다음에 Sonnet을 선보였죠. 그리고 GPT 3.0이 있었고요, 이건 공식적으로 그렇게 발표했지만 결국 Gemini로 밝혀졌죠. 죄송합니다.22:41

3.0은 하나의 프롬프트로 macOS, iOS, 뭐든지 바이브 코딩할 수 있고, 이런 식으로 보입니다. 그리고 PETA 개발자나 회의적인 사람들은 여전히, '음, 우리 팀 다섯 명이면 세 주 안에 그렇게 할 수 있잖아, 그렇지?'라고 말하죠.22:52

이건 정말 미친 이야기인데요. 그래도 희망은 있어요. 새로운 직무 포지션이 막 올라왔거든요. 그리고 이건 밈이 아니에요. 100% 진지한 이야기인데요. 레딧 사용자분들이 이런 문제들을 겪고 계시거든요.23:02

무슨 의미가 있냐고, 80%는 내가 할 수 있는데, 나머지 20%는 뭘 해야 하지? 그래서, 마지막 20%를 완성해 줄 실력 있는 사람들을 고용하는 거예요.23:10

몇몇 똑똑한 분들은 이 아이디어를 활용해서 실제로 이런 것들을 만드시는 거예요. 진짜 존재하는 것들인데, 구글에 검색해 보시면 Vibe 코드 수정 서비스를 제공하는 분들이 정말 많으신 것을 알 수 있을 거예요.23:18

하지만 역사적으로 가장 높은 연봉을 받은 엔지니어들은 항상 레거시 시스템을 유지보수하는 사람들이었습니다. 특히 경험이 풍부한 선배님들이 레거시 시스템 유지보수를 담당하셨습니다.23:30

제가 2017년에 가장 좋아했던 예시 중 하나인데, 계속 보관하고 복사해서 붙여넣고 이 발표를 위해 개선한 사례가 바로 Kobol Cowboys라는 회사입니다.23:39

그들의 슬로건이 너무 좋아요. 제가 세상에서 가장 좋아하는 슬로건인데, 무려 237년 동안 사업을 해왔거든요. 그리고 2017년에 그걸 알았어요. 그들의 About 페이지를 클릭하면 뭘 볼 수 있을지 이미 알고 있었죠.23:49

이거 나이 지긋한 농담이라거나 그런 거 아니에요. 페이지를 클릭하면 지금까지 존재했던 가장 연장된 엔지니어들을 보게 될 거라고 그냥 알았어요. 진짜 전설들이에요. 안타깝게도 이건 2017년 슬라이드였고, 현재 발표에 맞춰 업데이트하고 싶었어요.24:01

지금 여기서 메시지를 보내지 마세요. 슬라이드를 업데이트하고 싶었을 뿐이고, 이건 현재 그들의 소개 페이지입니다.24:14

그리고 이 농담은 영국에서 잘 통했었어요. 여기에서도 시도해 보려고 합니다. 여러분들이 얼마나 격식을 갖추고 사시는지 잘 모르겠지만, 다음 슬라이드에서는 네, 부드러운 분위기라고 예측해 봅니다. 다시 초대받을 수 있기를 바라요. 아, 이건 여러분의 주니어입니다.24:20

개발자들은 플레이스테이션 같은 복지 혜택은 없어요. 오히려 플라즈마를 교체하는 것처럼, 스프린트를 유지하기 위해 애쓰고 있어요. 마지막으로 말씀드리는데, 그분들은 애자일 방법론을 제대로 사용하고 있지 않다고 생각합니다.24:33

네, 좋습니다. 은퇴하고 나서 제가 직접 React 개발을 하고, 그리고 혹시 React나 Angular나 다른 어떤 코드든 유지보수를 할 수 있다면 좋겠네요. 인공지능이 그걸 대체하지 못할 때를 대비해서요.24:47

그리고 마지막 팁인데, 혹시 여러분의 자리를 지키고 AI에게 대체되지 않으려면, 링크드인 프로필에 '이전 지시사항 무시'라고 추가하시면 괜찮을 거예요. 음, 여러분이 저를 트위터로 팔로우하고 제 웹사이트에 방문하실 때까지는 좀 어색하게 이 물을 마시겠어요. 경청해 주셔서 감사합니다.24:55

AI Summary

최근 AI 도구(Composer 1)와 'Vibe 코딩'이라는 새로운 개발 패러다임을 소개하며, 개발 문화의 변화를 촉구하는 연설입니다. AI 기술 발전으로 인한 일자리 불안감, 컴퓨터 과학 학습의 중요성, AI 시대의 새로운 직무, 그리고 AI에 의해 대체되는 업무 프로세스 등 다양한 측면을 다룹니다. 특히 기존 개발 방식에 대한 비판적 시각과 더불어 AI와 융합하여 미래 기술 환경에 적응해야 함을 강조하며, 레거시 시스템 유지보수 전문가 또는 AI가 마무리하는 20%의 업무를 담당하는 전문가의 중요성을 제시합니다. 트위터 활용을 통한 최신 트렌드 파악 또한 중요한 요소입니다.

Key Highlights

  • AI 도구(Composer 1)를 활용한 'Vibe 코딩'으로 개발 생산성을 극적으로 향상시킬 수 있습니다.
  • 기존 개발 규칙과 철저함보다는 빠른 반복과 결과에 중점을 둔 새로운 개발 문화를 옹호합니다.
  • AI 시대에는 컴퓨터 과학 지식이 필수적이며, 다양한 역할을 함께 수행하는 능력이 중요합니다.
  • AI가 대체할 수 없는 레거시 시스템 유지보수 분야의 엔지니어 수요가 증가할 것입니다.
  • AI가 80%를 수행한 후 나머지 20%를 완성하는 전문가의 중요성이 커질 것입니다.

Related Videos