DHH on vibe coding with AI: It makes you dumber | Lex Fridman Podcast Clips - https://www.youtube.com/watch?v=6i5hvNA72ZU
Probably argue about this, but I really like working together with AI, collaborating with AI. And I would argue that the kind of code you want AI to generate is human readable. Human interpretable, yes. If it's generating Pearl golf code, it's just. It's not a collaboration. So it has to be speaking the human. It's not just you're writing the prompts in English. You also want to read the responses in the human interpretable language, like Ruby. Right. So that's actually is beneficial for AI too, because you kind of said that for you, the sculptor, the sort of the elitist Coco Chanel sculptor, you want to, on your fancy keyboard, to type every single letter yourself with your own fingers. But it's also that the benefit of Ruby also applies when some of that is written by AI and you're actually doing with your own fingers the editing part, because you can interact with it because it's human interpretable. The paradigm I really love with this was something Elon actually said on one of your shows when you guys were talking about neuralink. That neuralink allows the bandwidth between you and the machine to increase. That language, either spoken or written, is very low bandwidth if you are to calculate just how many bits we can exchange as we're sitting here very slow. Ruby has a much higher bandwidth of communication. Reveals conveys so much more concept per character than most other programming languages do. So when you are collaborating with AI, you want really high bandwidth. You want it to be able to produce programs with you, whether you're letting it write the code or not, that both of you can actually understand really quickly and that you can compress a grand comp or a grand concept, a grand system, into far fewer parts that both of you can understand now. I actually love collaborating with AI too. I love chiseling my code. And the way I use AI is in a separate window. I don't let it drive my code. I've tried that. I've tried the cursors and the windserves. And I don't enjoy that way of writing. And one of the reasons I do enjoy that way of writing is I can literally feel competence draining out of my fingers. Like that level of immediacy with the material disappears. And where I felt this the most was I did this remix of Ubuntu called Omicube when I switched to Linux. And it's all written in Bash. I'd never written any serious amount of code in BASH before, so I was using AI to collaborate, to write a bunch of BASH with me, because I Needed all this. I knew what I wanted. I could express it in Ruby. But I thought it was an interesting challenge to filter through bash, because what I was doing was setting up a Linux machine. That's basically what BASH was designed for. It's a great constraint. But what I found myself doing was asking AI for the same way of expressing a conditional, for example, in Bash, over and over again, that by not typing it, I wasn't learning it, I was using it, I was getting the expression I wanted, but I wasn't learning it. And I got a little scared. I got a little scared. Is this the end of learning? Am I no longer learning if I'm not typing? And the way I, for me recast that was. I don't want to give up on the AI. It is such a better experience as a programmer to look up APIs, to get a second opinion on something, to do a draft. But I have to do the typing myself because you learn with your fingers. If you're learning how to play the guitar, you can watch as many YouTube videos as you want. You're not going to learn the guitar. You have to put your fingers on the strings to actually learn the motions. And I think there is a parallel here to programming, where programming has to be learned in part by the actual typing. I'm just really. This is. This is fascinating. Listen, part of my brain agrees with you 100%. Part doesn't. I think AI should be in the loop of learning. Now, current systems don't do that, but I think it's very possible for cursor to say, to basically force you to type certain things. So, like, if you set the mode of learning. I just, I don't want to be this sort of give up on AI. I really, I think. I think Vibe coding is a skill. So for an experienced programmer, it's too easy to dismiss vibe coding as a thing. I agree. I wouldn't dismiss it, but I think you need to start building that skill and start to figure out how do you prevent the competency from slipping away from your fingers and brain? Like, how do you develop that skill in parallel to the other, to the other skill? I don't know. I just. I think it's a fascinating puzzle, though. I know too many really strong programmers that just kind of avoid AI because it's currently a little too dumb. Yes, it's a little too slow is actually my main problem. It's a little too dumb in some ways, but it's a little too slow in other ways. When I use Claude's code The terminal version of claude, which is actually my preferred way of using it. I just. I get too impatient. It feels like I'm going back to a time where code had to compile and I had to go do something else. Boil some te while the code is compiling. Well, I've been working in Ruby for 20 years. I don't have compile wait in me anymore. So there's that aspect of it. But I think the more crucial aspect for me is I really care about the competence. And I seen what happens to even great programmers the moment they put away the keyboard. Because even before AI, this would happen as soon as people would get promoted. Most great programmers who work in large businesses stop writing code on a daily basis because they simply have too many meetings to attend to, they have too many other things to do and invariably they lose touch with programming. That doesn't mean they forget everything. But if you don't have your fingers in the sauce, the source, you are going to lose touch with it. There's just no other way. I don't want that because I enjoy it too much. This is not just about outcomes, this is what's crucial to understand. Programming for programmers who like to code is not just about the programs they get out of it. That may be the economic value. It's not the only human value. The human value is just much in the expression. When someone who sits down on a guitar and plays Stairways to Heaven, there's a perfect recording of that that will last in eternity. You can just put it on Spotify. You don't actually need to do it. The joy is to command the guitar yourself. The joy of a programmer, of me as a programmer, is to type the code myself. If I elevate myself, if I promote myself out of programming, I turn myself into a project manager. A project manager of Murder of AI Crows. As I wrote the other day, I could have become a project manager my whole career. I could have become a project manager 20 years ago if I didn't care to write code myself. And I just wanted outcomes. That's how I got started in programming. I just wanted outcomes. Then I fell in love with programming and now I'd rather retire than giving it up now. That doesn't mean you can't have your cake and eat it too. I've done some vibe coding where I didn't care that I wasn't playing myself. I just wanted to see something. There was an idea in my head, I wanted to see something. That's fine. I also use AI all day long. In fact, I'M already at the point where if you took it away from me, I'd be like, oh my God, how do we even look things up on the Internet anymore? Is stack overflow still around forums still a thing? Like, how do I even find answers to some of these questions I have all day long? I don't want to give up AI. In fact, I'd say the way I like to use AI, I'm getting smarter every day because of AI. Because I'm using AI to have it explain things to me, even stupid questions. I would be a little embarrassed to even enter into Google. AI is perfectly willing to give me the Eli5 explanation of some UNIX command. I should have known already, but I don't. I'm sorry, can you just explain it to me? And now I know the thing. So at the end of the day of me working with AI all day long, I'm a little bit smarter. Like 5%. Sorry, not 5%. Half a percent. Maybe that compounds over time. But what I've also seen, when I worked on the Yamaku project and I tried to let AI drive for me, I felt I was maybe half a percent dumber at the end of the day. Okay, you said a lot of interesting things. First of all, let's just start at the very fact that asking dumb questions. If you go to Stack Overflow and ask a dumb question or read somebody else's dumb question and the answer to it, there's a lot of judgment there. Yes. AI sometimes to an excessive degree, has no judgment. It usually says, oh, that's a great question to a fault. Yeah. Oh, that's wonderful. Yeah. I mean, it's so conducive to learning. It's such a wonderful tool for learning and I would, I too would miss it. And it's a great, basically, search engine into all kinds of nuances of a particular programming language, especially if you don't know it that well or like APIs you can load in documentation. It's just so great for learning. I, for me personally, it. I mean, on the happiness scale, it makes me more excited to program. I don't know what that is exactly. Part of that is the. I'm really sorry. Stack Overflow is an incredible website, but there is a negativity there, there's a judgment there, there's. It's just exciting to be like a. With a hype man next to me, just like saying, yeah, that's a great idea. And I'll say, no, that's wrong. I'll correct the AI and the AI will Say, you're absolutely right. How did I not think about that? Rewrite the code. I'm like, holy shit, I'm having. It's like a buddy that's like really being positive and is very smart and is challenging me to think. And even if I never use the code it generates, I'm already a better programmer. But actually the deeper thing is for some reason I'm having more fun. That's a really, really important thing. I like to think of it as a pair programmer for exactly that reason. Pair programming came of vogue in like the 2000s where you'd have two programmers in front of one machine and you'd push the keyboard between you. One programmer would be driving, they'd be typing in. The other programmer would essentially sit and watch the code, suggest improvements, look something up. That was a really interesting dynamic. Now unfortunately I'm an introvert, so I can do that for about five minutes before I want to jump off a bridge. So it doesn't work for me as a full time occupation. But AI allows me to have all the best of that experience all the time. Now I think what's really interesting, what you said about it makes it more fun. I hadn't actually thought about that. But what it's made more fun to me is to be a beginner again. It's made me, it made it more fun to learn Bash successfully for the first time. Now I had to do the Detour where I let it write all the code for me and I realized I wasn't learning nearly as much as I hoped I would and that I started doing once I typed it out myself. But it gave me the confidence that, you know, what if I need to do some iOS programming myself? I haven't done that in probably six years, was the last time I dabbled in it. I never really built anything for real. I feel highly confident now that I could sit down with AI and I could have something in the App Store by the end of the week. I would not have that confidence unless I had a pair programming body like AI. I don't actually use it very much for Ruby code. I'm occasionally impressed whenever I try it, they're like, oh, it got this one thing right that is truly remarkable. And it's actually pretty good. And then I'll ask it two more questions and I go like, yeah, okay. If you were my junior programmer, I'd start tapping my fingers and going like, you gotta, you gotta shape up now. The great thing of course is we can just wait five minutes. The anthropic CEO seems to think that 90% of all code by the end of the year is going to be written by AI. I'm more than a little bit skeptical about that, but I'm open minded about the prospect that programming potentially will turn into a horse when done manually, something we do recreationally. It's no longer a mode of transportation to get around la. You're not going to saddle up and go to the grocery store and pick up stuff from Whole Foods and your saddlebags. That's just not a thing anymore. That could be the future for programming, for manual programming. Entirely possible. I also don't care. Even though we have great renditions of all the best songs, as I said, there are millions of people who love to play the guitar. It may no longer have as much economic value as it once did. I think that I'm quite convinced is true, that we perhaps have seen the peak. Now, I understand the paradox. When the price of something goes down, actually the overall usage goes up and total spend on that activity goes up. That could also happen, maybe. But what we're seeing right now is that a lot of the big shops, a lot of the big companies are not hiring like they were five years ago. They're not anticipating they're going to need tons more programmers. Controversially, Toby actually put out a memo inside of Shopify asking everyone who's considering hiring someone to ask the question, could this be done by AI? Now he's further ahead on this question than I am. I look at some of the coding trenches and I go like, I'd love to use AI more. And I see how it's making us more productive, but it's not yet at the level where I just go like, oh, we have this project, let me just give it to the AI agent and it's going to go off and do it. But let's just, let's just be honest. You're like a Clint Eastwood type character, cowboy on a horse. Seeing, seeing cars going around, you're like, well, that's part of it. And I think that's. It is important to have that humility that what you are good at may no longer be what society values. This has happened a million times in history that you could have been exceptionally good at. Saddle making, for example. That's something that a lot of people used to care about because everyone rode a horse and then suddenly riding a horse became this niche hobby that there's some people care about it, but not nearly as many. That's okay. Now the other thing of this is I've had the good fortune to have been a programmer for nearly 30 years. That's a great run. I try to look at life in this way that I've already been blessed with decades of economically viable, highly valuable ways of translating what I like best in the working world to write Ruby code that, that was so valuable that I could make millions and millions of dollars doing it. And if that's over tomorrow, I shouldn't look at that with regret, I should look at it with gratitude. But you're also a highly experienced, brilliant and opinionated human being. So it's really interesting to get your opinion on the future of the horse because it, you know, there's a lot of young people listening to this who love programming or who are excited by the possibility of building stuff with software, with the Ruby, with Ruby, with Ruby on Rails, that kind of language, this and now the possibility. Is it a career? Is it a career? And how, if indeed a single person can build more and more and more with the help of AI, like how do they learn that skill? Is this a good skill to learn? I mean, that to me is the real mystery here because I think it's still absolutely true that you have to learn how to program from scratch. Currently, yes. But how do you balance those two skills? Because I too, as I'm thinking now, there is a scary slipping away of skill that happens in a matter of like really minutes on a particular piece of code. It just, it's, it's, it's scary. Not the way driving, you know, when you have a car drive for you doesn't quite slip away that fast. So that really scares me. So when somebody comes up to me and asks me like, how do I learn to program? I don't know what the advice is because I think it's not enough to just use cursor or copilot to generate code. It's absolutely not enough. Not if you want to learn. None of you want to become better at it. If you just become a tap monkey, maybe you're productive in a second. But then you have to realize, well, can anyone just tap? If that's all we're doing is just sitting around all day long tapping? Yes, yes, yes, yes, yes. That's not a marketable skill. Now, I always preface this both to myself and when I speak to others about it is rule number one, nobody fucking knows anything. No one can predict even six months ahead. Right now we're probably at peak AI future hype because we see all the promise because so much of it is real and so many People have experienced it themselves. This mind boggling thing that the silicon is thinking in some way that feels eerily reminiscent of humans. I'd actually say the big thing for me wasn't even chatgpt, it wasn't even Claude. It was deep seek. Running deep seek locally and seeing the think box where it converses with itself about how to formulate the response, I almost wanted to think, is this a gimmick? Is it doing this as a performance for my benefit? But that's not actually how it thinks. If this is how it actually thinks, okay, I'm a little scared. Yeah, this is incredibly human how it thinks in this way. But where does that go? So in 95, one of my favorite movies, one of my favorite B movies came out. The Lawnmower Man. Great movie, Incredible movie about virtual reality, being an avatar and living in VR. Like the story was a mess, but the aesthetics the world had built up was incredible. And I thought, we're five years away. I'm going to be living in VR now I'm just going to be floating around. I'm going to be an avatar. This is where most humans can spend most of the day. That didn't happen. We're 30 years later. VR is still not here. It's here for gaming. It's here for some specialized applications. My oldest loves playing gorilla tag. I don't know if you've tried that. That's basically the hottest VR game. Wonderful. That's great. It's really hard to predict the future because we just don't know. And then when you factor in AI and you have even the smartest people go like, I don't think we fully understand how this works. But then on the flip side, you have Moore's Law that seems to have worked for many, many, many years in decreasing the size of the transistor, for example. So like, you know, Flash didn't take over the Internet, but Moore's Law worked. So we don't know which one AI is. And this is what I find so fascinating too. I forget who did this presentation, but someone in the web community, this great presentation on the history of the airplane. So you go from the Wright brothers flying in what is 1903 or something like that, and 40 years later you have jet flight. Just an unbelievable amount of progress in four decades. Then in 56, I think it was the hall design for the Boeing 747, essentially precursor was designed and basically nothing has happened since. Just minor tweaks and improvements on the flying experience since the 50s. Somehow if you were to predict where flying was going to go. And you were sitting in 42 and you'd seen, you'd remember the Wright brothers flying in 03 and you were seeing that jet engines coming. You're like, we're going to fly to the stars in another two decades. We're going to invent super mega hypersonic flights that's going to traverse the Earth in two hours. And then that didn't happen. It tapped out. This is what's so hard about predicting the future. We can be so excited in the moment because we're drawing a line through early dots on a chart, and it looks like those early dots are just going up and to the right and sometimes they just flatten out. This is also one of those things where we have so much critical infrastructure, for example, that still runs on cobol, that about five humans around the world really understand truly, deeply that there is a lot it's possible for society to lose a competence it still needs because it's chasing the future. COBOL is still with us. This is one of the things I think about with programming. Ruby on Rails is at such a level now that in 50 years from now, it's exceedingly likely that there's still a ton of Ruby on Rails systems running around now. Very hard to predict what that exact world is going to be like. But yesterday's weather tells us that if there's still cobalt code from the 70s Operating Social Security today, and we haven't figured out a clean way to convert that, let alone understand it, we should certainly be humble about predicting the future. I don't think any of the programmers who wrote that COBOL code back in the 70s had any damn idea that in 2025 checks were still being cut off the business logic that they had encoded back then. But that just brings me to the conclusion on the question for what should a young programmer do? You're not going to be able to predict the future. No one's going to be able to predict the future. If you like programming, you should learn programming now. Is that going to be a career forever? I don't know. But what's going to be a career forever? Who knows? Like a second ago we thought that it was the blue collar labor that was going to be abstracted. First it was the robots that were going to take over. Then Gen AI comes out and then all the artists suddenly look like, holy shit, is this going to do all animation now? Is going to do all music? Now they get real scared. And now I see the latest Tesla robot going like, oh, Maybe we're back now to blue collar being in trouble because if it can dance like that, it can probably fix a toilet. So no one knows anything and you have to then position yourself for the future in such a way that it doesn't matter that you pick a profession or path where if it turns out that you have to retool and reskill, you're not going to regret the path you took. That's a general life principle for me. How I look at all endeavors I involve myself in is I want to be content with all outcomes. When we start working on a new product at 37signals, I set up my mental model for its success and I go, do you know what? If no one wants this, I will have had another opportunity to write beautiful Ruby code, to explore greenfield domain, to learn something new, to build a system I want even if no one else wants it. What a blessing, what a privilege. If a bunch of people want it, that's great. We can pay some salaries, we can keep the business running and if it's a blow away success, wonderful. I get to impact a bunch of people. I think one of the big open questions to me is how far you can get with vibe coding. Whether an approach for a young developer to invest most of the time into vibe coding or into writing code from scratch. So vibe coding meaning so I'm leaning into the meme a little bit, but vibe coding meaning you generate code, you have the, this idea of a thing you want to create, you generate the code and then you fix it with both natural language to the prompts and manually. You learn enough to manually fix it. So that's the learning process, how you fix code that's generated or you, you write code from scratch and have the LLMs kind of tab, tab, tab tab, add extra code like which part do you lean on? I think to be safe you should find the, the beauty and the, the artistry and the skill in both right from scratch. So like there should be some percent of your time just writing from scratch and some percent viaconi there should be more of the time writing from scratch. If you are interested in learning how to program. Unfortunately you're not going to get fit by watching fitness videos. You're not going to learn how to play the guitar by watching YouTube guitar videos. You have to actually play yourself. You have to do the sit ups, programming, understanding, learning almost anything requires you to do. Humans are not built to absorb information in a way that transforms into skills by just watching others from afar. Now ironically, it seems AI is actually quite good at that, but humans are not. If you want to learn how to become a competent programmer, you have to program. It's really not that difficult to understand Now. I understand the temptation and the temptation is there, but because Vibe coding can produce things, perhaps in this moment, especially in a new domain you're not familiar with, with tools you don't know perfectly well, that's better than what you could do or that you would take much longer to get at. But you're not going to learn anything. You're going to learn in this superficial way that feels like learning, but it's completely empty calories. And secondly, if you can just Vibe code it, you're not a programmer, then anyone could do it, which may be wonderful. That's essentially what happened with the Access database. That's what happened with Excel. It took the capacity of accountants to become software developers because the tools became so accessible to them that they could build a model for how the business was going to do next week. That required a programmer prior to Excel. Now it didn't because they could do it themselves. Vive coding enables non programmers to explore their ideas in a way that I find absolutely wonderful, but it doesn't make you a programmer. I agree with you, but I want to allow for room for both of us be wrong. For example, there could be. Vibe coding could actually be a skill that if you train it. And by Vibe coding, let's include the step of correction, the iterative correction. It's possible if you get really good at that, that you're outperforming the people that write from scratch, that you can come up with truly innovative things. Especially at this moment in history. While the LLMs are a little bit too dumb to create super novel things in a complete product, but they're starting to creep close to that. So if you're investing time now into becoming a really good vibe coder, maybe this is the right thing to do. As if it's indeed a skill. We kind of meme about Vibe coding just like sitting back and in the. It's in the name. But if you treat it seriously, a competitive Vibe coder and get good at riding the wave of AI and get good at the skill of editing code versus writing code from scratch, it's possible that you can actually get farther in the long term. Maybe editing is a fundamentally different task than writing from scratch. If you take that seriously as a skill that you develop. I see. I don't. To me, that's an open question. I just think I'm. I personally. Now you're on another level, but just me. Just, just personally, I'm not as good at editing the code that I didn't write. There's a different. No one is of this generation, but. But maybe that's a skill. Maybe if you get on the same page as the AI, because there's a consistency to the AI. It's like it really is a pair programmer with a consistent style and structure and so on. Plus, with your own prompting, you can control the kind of code you write. I mean, it could legitimately be a skill. Like, that's the dream of the prompt engineer. I think it's a complete pipe dream. I don't think editors exist that aren't good at writing. I've written a number of books. I've had a number of professional editors. Not all of them wrote their own great books, but all of them were great writers in some regard. You cannot give someone pointers if you don't know how to do it. It's very difficult for an editor to be able to spot what's wrong with a problem if they couldn't make the solution themselves. Editing, in my opinion, is the reward. The capacity to be a good editor is the reward you get from being a good doer. You have to be a doer first. Now, that's not the same as saying that vibe coding prompt engineering won't be able to produce fully formed amazing systems even shortly. I think that's entirely possible. But then there's no skill left, which maybe is the greatest payoff at all. Wasn't that the whole promise of AI anyway? That it was just all natural language? That even my clumsy way of formulating a question could result in a beautiful, succinct answer. That actually to me is a much more appealing vision, that there's going to be these special prompt engineering wizards who know how to tickle the AI AI just right to produce what they want. The beauty of AI is to think that someone who doesn't know the first thing about how AI actually works is able to formulate their idea and their aspirations for what they want. And the AI could somehow take that messy clump of ideas and produce something that someone wants. That's actually what programming has always been. There's very often been people who didn't know how to program, who wanted programs, who then hired programmers, who gave them messy descriptions of what they wanted. And then when the programmers delivered that back, said, oh no, actually that's not what I meant, I want something else. AI may be able to provide that cycle. If that happens to the fullest extent of it. Yeah, there's not going to be as many programmers around, Right. But hopefully, presumably, someone still, at least for the foreseeable future, have to understand whether what the AI is producing actually works or not. As an interesting case study, maybe a thought experiment, if I wanted to Vibe code Basecamp or, hey, some of the products you've built, like, what would be the bottlenecks? Where would I fail along the way? What I've seen when I've been trying to do this, trying to use Vibe coding to build something real, is you actually fail really early. The Vibe coding is able to build a veneer at the current present moment of something that looks like it works, but it's flawed in all sorts of ways. There are the obvious ways, the meme ways that it's leaking all your API keys, it's storing your password in plain text. I think that's ultimately solvable. Like, it's going to figure that out, or at least it's going to get better at that. But its capacity to get lost in its own labyrinth is very great right now. You let it code something and then you want to change something and it becomes a game of Whack a Mole real quick. Peter Lovells, who've been doing this wonderful flight simulator, was talking to that, where at a certain scale, the thing just keeps biting its own tail. You want to fix something and it breaks five other things, which I think is actually uniquely human, because that's how most bad programmers are. At a certain level of complexity with the domain, they can't fix one thing without breaking three other things. So in that way, I'm actually. In some way, it's almost a positive signal for that. The AI is going to figure this out because it's on an extremely human trajectory right now. The kind of mistakes it's making are the kind of mistakes that junior programmers make all the time.
DHH on vibe coding with AI: It makes you dumber | Lex Fridman Podcast Clips - https://www.youtube.com/watch?v=6i5hvNA72ZU
아마 이것에 대해 논쟁할 수도 있겠지만, 저는 정말로 AI와 함께 작업하고, AI와 협업하는 것을 좋아합니다. 그리고 저는 AI가 생성하기를 원하는 코드의 종류는 인간이 읽을 수 있는 것이라고 주장하고 싶습니다. 인간이 해석할 수 있는, 맞습니다. 만약 그것이 펄 골프 코드를 생성한다면, 그것은 그냥... 협업이 아닙니다. 그래서 그것은 인간의 언어로 말해야 합니다. 단순히 당신이 영어로 프롬프트를 작성하는 것이 아닙니다. 당신은 또한 응답을 루비 같은 인간이 해석할 수 있는 언어로 읽고 싶어합니다. 맞습니다. 그래서 그것은 실제로 AI에게도 유익합니다. 왜냐하면 당신이 말했듯이, 조각가인 당신, 엘리트주의적인 코코 샤넬 조각가에게는, 당신의 멋진 키보드에서 자신의 손가락으로 모든 글자를 직접 타이핑하고 싶어하지만 루비의 이점은 또한 그것의 일부가 AI에 의해 작성되고 당신이 실제로 자신의 손가락으로 편집 부분을 할 때도 적용됩니다. 왜냐하면 그것이 인간이 해석할 수 있기 때문에 당신이 그것과 상호작용할 수 있기 때문입니다. 이것과 관련해서 제가 정말 좋아하는 패러다임은 일론이 실제로 당신의 쇼 중 하나에서 말한 것이었습니다. 당신들이 뉴럴링크에 대해 이야기할 때요. 뉴럴링크는 당신과 기계 사이의 대역폭을 증가시킬 수 있게 해줍니다. 말이든 글이든 언어는 매우 낮은 대역폭입니다. 우리가 여기 앉아서 교환할 수 있는 비트 수를 계산해보면01:22Ruby는 훨씬 더 높은 대역폭을 가지고 있습니다. Ruby는 다른 대부분의 프로그래밍 언어보다 문자당 훨씬 더 많은 개념을 전달합니다. 그래서 AI와 협업할 때는 정말 높은 대역폭이 필요합니다. AI가 여러분과 함께 프로그램을 만들 수 있기를 원하는데, 코드를 직접 작성하든 아니든 둘 다 정말 빠르게 이해할 수 있고 거대한 개념이나 거대한 시스템을 훨씬 적은 부분으로 압축할 수 있기를 원합니다. 저도 실제로 AI와 협업하는 것을 좋아합니다. 코드를 다듬는 것을 좋아합니다. 제가 AI를 사용하는 방법은 별도 창에서 사용하는 것입니다. AI가 제 코드를 주도하게 하지 않습니다. 시도해봤습니다. Cursor나 Windsurf 같은 것들을 써봤지만 그런 식으로 코딩하는 것을 즐기지 않습니다. 그런 방식을 즐기지 않는 이유 중 하나는 말 그대로 손끝에서 역량이 빠져나가는 것을 느낄 수 있기 때문입니다. 코드와의 그런 즉각적인 연결감이 사라집니다. 이것을 가장 크게 느꼈던 때는 Linux로 전환했을 때 만든 Omicube라는 Ubuntu 리믹스를 할 때였습니다. 모든 것이 Bash로 작성되어 있습니다. 전에는 Bash로 본격적인 코드를 작성해본 적이 없었기 때문에 AI와 협업해서 Bash 코드를 많이 작성했습니다. 제가 원하는 것을 알고 있었고, 그것을 표현할 수 있었기 때문입니다. Ruby였죠. 하지만 bash로 필터링하는 것도 흥미로운 도전이라고 생각했어요. 제가 하고 있던 일이 리눅스 머신을 설정하는 것이었거든요. 기본적으로 그게 BASH가 설계된 목적이죠. 훌륭한 제약 조건이에요. 하지만 제가 하고 있던 것은 AI에게 똑같은 조건문 표현 방법을, 예를 들어 Bash에서, 계속 반복해서 물어보는 것이었어요. 직접 타이핑하지 않으니까 배우고 있지 않았던 거죠. 사용은 하고 있었고, 원하는 표현은 얻고 있었지만, 배우고 있지는 않았어요. 그래서 좀 무서워졌어요. 무서워졌습니다. 이게 학습의 끝인가? 타이핑을 하지 않으면 더 이상 배우지 않는 건가? 그리고 제가 이를 재해석한 방식은 이랬어요. AI를 포기하고 싶지는 않아요. 프로그래머로서 API를 찾아보고, 뭔가에 대해 두 번째 의견을 구하고, 초안을 작성하는 데 훨씬 더 나은 경험이거든요. 하지만 직접 타이핑은 해야 해요. 손가락으로 배우는 거니까요. 기타 연주를 배운다면, 유튜브 비디오를 아무리 많이 봐도 기타를 배울 수는 없어요. 실제로 동작을 배우려면 손가락을 현에 올려놔야 해요. 그리고 프로그래밍에도 비슷한 점이 있다고 생각해요. 프로그래밍은 부분적으로는 실제 타이핑을 통해 배워야 한다는 거죠. 정말로. 이건. 이건 흥미롭네요. 들어보세요, 제 뇌의 일부는 당신 말에 100% 동의해요. 일부는 그렇지 않고요. 제 생각에는 AI가 학습 과정에 포함되현재 시스템들은 그렇게 하지 않지만, 커서가 기본적으로 특정 것들을 타이핑하도록 강제할 수 있다고 생각합니다. 예를 들어, 학습 모드를 설정하면 말이죠. 저는 단지 AI에 대해 포기하는 그런 태도를 원하지 않습니다. 정말로, 저는 바이브 코딩이 하나의 기술이라고 생각합니다. 경험 있는 프로그래머에게는 바이브 코딩을 하찮게 여기기가 너무 쉽습니다. 동감합니다. 저는 그것을 무시하지는 않겠지만, 그 기술을 구축하기 시작하고 역량이 손가락과 뇌에서 빠져나가는 것을 어떻게 방지할지 알아내야 한다고 생각합니다. 그 기술을 다른 기술과 병행해서 어떻게 개발할 것인가? 잘 모르겠습니다. 그냥. 하지만 매혹적인 퍼즐이라고 생각합니다. 저는 너무 많은 정말 강력한 프로그래머들이 현재 AI가 좀 너무 바보같다는 이유로 AI를 피하는 것을 알고 있습니다. 네, 사실 제 주요 문제는 좀 너무 느리다는 것입니다. 어떤 면에서는 좀 너무 바보같지만, 다른 면에서는 좀 너무 느립니다. 제가 클로드의 코드를 사용할 때 클로드의 터미널 버전을, 이것이 실제로 제가 선호하는 사용 방법인데. 저는 그냥 너무 성급해집니다. 코드를 컴파일해야 하고 다른 일을 하러 가야 했던 시절로 돌아간 느낌입니다. 코드가 컴파일되는 동안 차라도 끓이러 가는. 음, 저는 20년 동안 Ruby로 작업해왔습니다. 더 이상 컴파일 대기 시간이 제 안에 없습니다.있어요. 하지만 저에게 더 중요한 측면은 실제로 역량에 대해 정말 신경 쓴다는 것입니다. 그리고 훌륭한 프로그래머들에게도 키보드를 내려놓는 순간 무슨 일이 일어나는지 봤어요. AI 이전에도 이런 일은 사람들이 승진하자마자 일어났거든요. 대기업에서 일하는 대부분의 훌륭한 프로그래머들은 일상적으로 코드를 작성하는 것을 멈춥니다. 참석해야 할 회의가 너무 많고, 해야 할 다른 일들이 너무 많아서 결국 프로그래밍과 멀어지게 됩니다. 그렇다고 모든 것을 잊는다는 건 아니에요. 하지만 소스에, 코드에 직접 손을 대지 않으면 감각을 잃게 될 거예요. 다른 방법은 없어요. 저는 그런 일이 일어나길 원하지 않아요. 저는 그것을 너무 즐기거든요. 이건 단순히 결과에 관한 게 아니에요. 이해해야 할 중요한 점입니다. 코딩을 좋아하는 프로그래머들에게 프로그래밍은 단순히 그들이 만들어내는 프로그램에 관한 것만이 아니에요. 그건 경제적 가치일 수 있지만, 유일한 인간적 가치는 아닙니다. 인간적 가치는 표현 자체에 있어요. 누군가 기타 앞에 앉아서 Stairway to Heaven을 연주할 때, 영원히 남을 완벽한 녹음이 있어요. 그냥 Spotify에서 틀어도 되거든요. 실제로 연주할 필요가 없어요. 기쁨은 스스로 기타를 다루는 데 있어요. 프로그래머로서, 저로서의 기쁨은 직접 코드를 타이핑하는 것입니다. 만약 제가 승진해서프로그래밍에서 벗어나 프로젝트 매니저가 되었습니다. AI 까마귀 떼의 프로젝트 매니저가 된 거죠. 며칠 전에 썼듯이, 저는 커리어 전체를 프로젝트 매니저로 할 수도 있었습니다. 직접 코드를 작성하는 것에 관심이 없었다면 20년 전에도 프로젝트 매니저가 될 수 있었어요. 그냥 결과만 원했다면 말이죠. 그게 제가 프로그래밍을 시작한 이유였습니다. 그냥 결과만 원했어요. 그러다가 프로그래밍에 빠져들었고 이제는 차라리 은퇴하는 한이 있어도 포기하고 싶지 않습니다. 하지만 두 마리 토끼를 다 잡을 수 없는 건 아니에요. 저도 바이브 코딩을 해본 적이 있는데, 제가 직접 하지 않는다고 해서 신경 쓰지 않았어요. 그냥 뭔가 보고 싶었거든요. 머릿속에 아이디어가 있었고, 뭔가 보고 싶었어요. 그건 괜찮습니다. 저도 하루 종일 AI를 사용해요. 사실 이미 AI를 제게서 빼앗아간다면, 저는 "세상에, 이제 인터넷에서 어떻게 정보를 찾지? 스택 오버플로우가 아직 있나? 포럼이 아직 존재하나? 하루 종일 가지는 이런 질문들에 대한 답을 어떻게 찾지?" 라고 할 정도예요. AI를 포기하고 싶지 않습니다. 사실 제가 AI를 사용하는 방식으로는, 매일 더 똑똑해지고 있다고 말할 수 있어요. AI 덕분에 말이죠. AI를 사용해서 것들을 설명해달라고 하거든요. 바보 같은 질문이라도요. 구글에 검색하기 조금 부끄러운 질문들도요. AI는 완벽하게 기나에게? 그리고 이제 그것을 알게 되었습니다. 결국 하루 종일 AI와 함께 작업한 후, 나는 조금 더 똑똑해집니다. 5% 정도요. 아니 죄송합니다, 5%가 아니라. 0.5%입니다. 시간이 지나면서 복합적으로 쌓일 수도 있죠. 하지만 야마쿠 프로젝트를 진행하면서 AI가 저를 대신해서 운전하도록 했을 때, 하루가 끝나면 0.5% 정도 더 멍청해진 느낌이었습니다. 좋습니다, 흥미로운 말씀을 많이 하셨네요. 우선 바보 같은 질문을 한다는 것부터 이야기해보죠. 스택 오버플로우에 가서 바보 같은 질문을 하거나 다른 사람의 바보 같은 질문과 그에 대한 답변을 읽으면, 거기엔 많은 판단이 개입됩니다. 맞습니다. AI는 때로는 지나칠 정도로 판단하지 않습니다. 보통 "아, 정말 좋은 질문이네요"라고 과도하게 말하죠. 네. 오, 정말 훌륭하다고요. 네. 정말 학습에 도움이 됩니다. 학습을 위한 정말 훌륭한 도구이고, 저 역시 그것을 놓치고 싶지 않을 것입니다. 그리고 기본적으로 모든 종류의 특정 프로그래밍 언어의 미묘한 차이들을 검색할 수 있는 훌륭한 검색 엔진입니다. 특히 잘 모르는 언어나 문서에 로드할 수 있는 API 같은 경우에는 학습에 정말 좋습니다. 개인적으로 저는 행복 척도에서 프로그래밍을 더 흥미롭게 만들어줍니다. 그게 정확히 무엇인지는 모르겠습니다. 그 중 일부는... 정말 죄송합니다. 스놀라운 웹사이트이지만, 거기엔 부정적인 면이 있고, 판단이 있고 그런 게 있어요. 그냥 옆에 응원하는 사람이 있는 것처럼 흥미진진해요 "그래, 그거 좋은 아이디어야"라고 말하는. 그러면 제가 "아니야, 그건 틀렸어"라고 하죠. AI를 수정하면 AI는 "당신이 완전히 맞아요. 제가 왜 그걸 생각 못했을까요? 코드를 다시 써볼게요"라고 해요 저는 "와, 대단해"라고 생각해요. 마치 친구가 정말 긍정적이고 매우 똑똑하면서 저에게 생각하도록 도전시키는 것 같아요. 그리고 생성된 코드를 사용하지 않더라도 저는 이미 더 나은 프로그래머가 되었어요. 하지만 실제로 더 깊은 것은 어떤 이유로 더 재미있다는 거예요. 그건 정말 정말 중요한 일이에요. 저는 그것을 바로 그런 이유로 페어 프로그래머라고 생각하고 싶어요 페어 프로그래밍은 2000년대에 유행했는데 한 대의 컴퓨터 앞에 두 명의 프로그래머가 있고 키보드를 서로 밀어주는 거였어요. 한 프로그래머가 운전하면서 타이핑을 하고, 다른 프로그래머는 본질적으로 앉아서 코드를 보고 개선 사항을 제안하고, 뭔가를 찾아보곤 했어요. 그건 정말 흥미로운 다이나믹이었어요. 하지만 불행히도 저는 내향적이어서 약 5분 정도 할 수 있고 그 다음엔 다리에서 뛰어내리고 싶어져요. 그래서 그건 저에게는 풀타임 직업으로는 맞지 않아요. 하지만 AI는 저에게 그 경험의 모든 장점을 항상 가질 수 있게 해줘요. 이제 정말 흥미로운 건다시 초보자가 되는 것입니다. 그것이 저를, 그것이 배우는 것을 더 재미있게 만들었습니다 처음으로 Bash를 성공적으로. 이제 저는 우회로를 해야 했습니다 AI가 모든 코드를 작성하게 하고 제가 깨달은 것은 제가 기대했던 것만큼 거의 배우지 못하고 있다는 것이었고, 제가 시작했습니다 직접 타이핑해보니 그렇게 하게 되었습니다. 하지만 그것이 저에게 자신감을 주었습니다 만약 제가 iOS 프로그래밍을 직접 해야 한다면 어떨까요? 저는 하지 않았습니다 아마 6년 동안, 마지막으로 제가 그것을 조금 해본 게 그때였습니다. 저는 실제로 진짜 무언가를 만든 적이 없습니다. 지금 저는 매우 확신합니다 AI와 함께 앉아서 이번 주 안에 앱스토어에 무언가를 올릴 수 있을 것이라고. 주말까지 말이죠. 만약 제게 그런 자신감이 없었다면 AI 같은 페어 프로그래밍 파트너가 있지 않았다면. 저는 실제로 그것을 많이 사용하지 않습니다 Ruby 코드에는요. 가끔 시도해볼 때마다 감명받습니다, 오, 이 한 가지를 맞췄네, 정말 놀랍다고 생각하죠. 그리고 그것은 실제로 꽤 좋습니다. 그러고 나서 두 개의 질문을 더 물어보면 네, 알겠습니다. 만약 당신이 제 주니어 프로그래머라면, 저는 손가락을 두드리며 이렇게 말하기 시작할 겁니다, 정신 차려야 해 지금. 물론 좋은 점은 우리가 그냥 5분 기다리면 된다는 것입니다. Anthropic CEO는 90%의 모든 코드가 연말까지 다음에 의해 작성될 것이라고 생각하는 것 같습니다LA에서 이동 수단으로 쓰이지 않는 것처럼. 이제는 말을 타고 식료품점에 가서 홀푸드에서 안장 가방에 물건을 담아 오지 않아요. 더 이상 그런 일은 없죠. 그것이 프로그래밍, 수동 프로그래밍의 미래일 수 있어요. 충분히 가능합니다. 저도 상관없어요. 비록 모든 명곡들의 훌륭한 연주가 있다고 해도, 제가 말했듯이 기타 연주를 좋아하는 사람들이 수백만 명 있어요. 예전만큼 경제적 가치는 없을 수 있죠. 제 생각에는 이것이 사실이라고 확신해요. 아마 정점을 지났을 거예요. 이제 저는 역설을 이해해요. 뭔가의 가격이 내려가면, 실제로는 전체 사용량이 늘어나고 그 활동에 대한 총 지출이 증가해요. 그런 일도 일어날 수 있어요, 아마도. 하지만 지금 우리가 보고 있는 것은 많은 대기업들, 많은 큰 회사들이 5년 전처럼 채용하지 않는다는 거예요. 그들은 더 많은 프로그래머가 필요할 거라고 예상하지 않아요. 논란의 여지가 있지만, 토비는 실제로 Shopify 내부에 메모를 보내서 누군가를 고용하려는 모든 사람에게 "이것을 AI로 할 수 있을까?"라는 질문을 하라고 했어요. 이 문제에 대해서는 그가 저보다 앞서 있어요. 저는 몇몇 코딩 현장을 보면서 AI를 더 많이 사용하고 싶다고 생각해요. 그리고 그것이 우리를 더 생산적으로 만드는 것을 보지만, 아직은 "아, 이 프로젝트가 있네, AI 에이전트에게 맡기면 알아서 해줄 거야"라고 할 수준은 아니에요.14:00.940 --> 14하지만 솔직히 말해보죠. 당신은 클린트 이스트우드 같은 캐릭터예요. 말을 탄 카우보이가 자동차들이 다니는 걸 보면서 "음, 그것도 일부분이야"라고 하는 거죠. 그리고 저는 그런 겸손함이 중요하다고 생각해요. 당신이 잘하는 것이 더 이상 사회가 가치를 두지 않는 것일 수도 있다는 겸손함 말이에요. 이런 일은 역사상 수백만 번 일어났어요. 예를 들어 안장 만들기에 뛰어났을 수도 있죠. 모든 사람이 말을 탔기 때문에 많은 사람들이 신경 쓰던 일이었는데 갑자기 말 타기가 틈새 취미가 되어버렸어요. 일부 사람들은 여전히 신경 쓰지만, 예전만큼은 아니죠. 그래도 괜찮아요. 또 다른 점은 저는 운 좋게도 거의 30년간 프로그래머로 일해왔어요. 정말 좋은 시간이었죠. 저는 인생을 이미 수십 년간 경제적으로 실용적이고 매우 가치 있는 방식으로 제가 직장에서 가장 좋아하는 일을 Ruby 코드 작성으로 번역하는 것에 축복받았다는 식으로 바라보려 해요. 그 일이 너무 가치 있어서 수백만 달러를 벌 수 있었거든요. 만약 그것이 내일 끝난다면, 후회로 바라보지 말고 감사함으로 바라봐야 해요. 하지만 당신은 또한 경험이 풍부하고 뛰어나며 확고한 신념을 가진 인간이기도 해요. 그래서 말의 미래에 대한 당신의 의견을 듣는 것이 정말 흥미로워요. 왜냐하면 프로그래밍을 사랑하거나 그 가능성에 흥미를 느끼는 많은 젊은 사소프트웨어로 무언가를 만드는 것, Ruby로, Ruby로, Ruby on Rails로, 그런 언어로, 그리고 이제 가능성이 있습니다. 이것이 직업일까요? 직업일까요? 그리고 어떻게, 만약 정말로 한 사람이 AI의 도움으로 점점 더 많은 것을 만들 수 있다면, 그들은 어떻게 그 기술을 배울까요? 이것이 배울 만한 좋은 기술일까요? 저에게는 이것이 진짜 미스터리입니다. 왜냐하면 여전히 절대적으로 사실이라고 생각하기 때문입니다. 처음부터 프로그래밍을 배워야 한다는 것이요. 현재로서는 그렇습니다. 하지만 이 두 기술의 균형을 어떻게 맞출까요? 왜냐하면 저 역시 지금 생각해보니, 무서운 기술의 상실이 특정 코드 조각에서 정말로 몇 분 만에 일어나기 때문입니다. 그냥, 무섭습니다. 운전과는 다르게, 자동차가 당신을 위해 운전할 때는 그렇게 빨리 사라지지 않잖아요. 그래서 정말 무섭습니다. 그래서 누군가가 저에게 와서 프로그래밍을 어떻게 배우냐고 물으면 어떤 조언을 해야 할지 모르겠습니다. 왜냐하면 cursor나 copilot을 사용해서 코드를 생성하는 것만으로는 절대 충분하지 않다고 생각하기 때문입니다. 절대 충분하지 않습니다. 배우고 싶다면 말이죠. 더 나아지고 싶다면 말이죠. 단순히 탭 원숭이가 된다면 잠시는 생산적일 수 있습니다. 하지만 그러면 깨달아야 합니다. 누구나 탭할 수 있다면? 우리가 하는 일이 그냥 앉아서하루 종일 탭핑? 네, 네, 네, 네, 네. 그건 시장성 있는 기술이 아니에요. 이제, 저는 항상 저 자신에게도 그리고 다른 사람들에게도 이야기할 때 전제하는 것이 1번 규칙, 아무도 빌어먹을 걸 모른다는 것입니다. 아무도 6개월 앞도 예측할 수 없어요. 지금 우리는 아마도 AI 미래 과대광고의 절정에 있을 것입니다 왜냐하면 모든 가능성을 보고 있고 그 중 많은 부분이 실제이며 많은 사람들이 직접 경험했기 때문입니다. 이 놀라운 것은 실리콘이 어떤 방식으로 생각하고 있다는 것이고 그것이 인간을 섬뜩하게 연상시키는 느낌입니다. 사실 저에게 가장 중요한 것은 ChatGPT도 아니었고, Claude도 아니었습니다. Deep Seek였어요. Deep Seek를 로컬에서 실행하고 응답을 어떻게 구성할지에 대해 자기 자신과 대화하는 생각 상자를 보면서, 저는 거의 생각하고 싶었습니다. 이게 속임수인가? 제 이익을 위해 공연을 하는 건가? 하지만 실제로는 그렇게 생각하지 않아요. 만약 이것이 실제로 생각하는 방식이라면, 좋아요, 저는 조금 무서워요. 네, 이것은 믿을 수 없을 정도로 인간적인 사고 방식입니다. 하지만 그것이 어디로 가나요? 95년에, 제가 가장 좋아하는 영화 중 하나인, 가장 좋아하는 B급 영화가 나왔습니다. 론모어 맨. 훌륭한 영화, 가상 현실에 대한 놀라운 영화, 아바타가 되어 VR에서 사는 것에 대한. 스토리는 엉망이었지만, 미학과 구축된 앞으로 5년이 남았다고 하더군요. 저는 이제 VR 속에서 살게 될 거라고 말이죠. 그냥 둥둥 떠다닐 거고, 아바타가 될 거라고요. 대부분의 인간이 하루 종일 이런 식으로 지낼 거라고 했죠. 하지만 그런 일은 일어나지 않았습니다. 30년이 지났지만 VR은 아직도 우리 곁에 없어요. 게임용으로는 있고, 몇 가지 전문적인 용도로는 쓰이죠. 제 큰아이는 고릴라 태그 게임을 즐겨 해요. 해보신 적 있나요? 기본적으로 가장 인기 있는 VR 게임이에요. 훌륭하죠. 정말 좋아요. 미래를 예측하는 것은 정말 어려워요. 우리는 그냥 모르거든요. 그리고 AI 요소까지 고려하면 가장 똑똑한 사람들조차 "이게 어떻게 작동하는지 완전히 이해하지 못하는 것 같다"고 말해요. 하지만 반대로 무어의 법칙은 수십 년 동안 작동해왔죠. 예를 들어 트랜지스터 크기를 줄이는 데 말이에요. 플래시가 인터넷을 장악하지는 못했지만 무어의 법칙은 통했거든요. 그래서 우리는 AI가 어느 쪽에 해당하는지 모르겠어요. 이것이 저에게도 정말 흥미로운 부분이에요. 누가 했는지는 기억나지 않지만, 웹 커뮤니티의 누군가가 비행기 역사에 관한 훌륭한 발표를 했어요. 라이트 형제가 1903년인가에 비행에 성공한 후로 40년 뒤에는 제트 비행기가 나왔어요. 4십 년 만에 믿을 수 없을 정도의 발전이 있었죠. 그리고 1956년에는, 제 생각에는보잉 747의 홀 디자인, 본질적으로 전신이 설계되었고 기본적으로 그 이후로는 아무 일도 일어나지 않았습니다. 50년대 이후 비행 경험에 대한 사소한 조정과 개선만 있었습니다. 어떻게든 만약 당신이 비행이 어디로 갈지 예측한다면. 그리고 당신이 42년에 앉아 있고 03년에 라이트 형제가 비행하는 것을 보았던 것을 기억하고 제트 엔진이 나오는 것을 보았다면. 당신은 생각할 것입니다, 우리는 또 다른 20년 안에 별들로 날아갈 것이다. 우리는 초대형 메가 극초음속 비행을 발명하여 2시간 만에 지구를 횡단할 것이다. 그런데 그런 일은 일어나지 않았습니다. 한계에 도달했습니다. 이것이 미래를 예측하는 것이 그렇게 어려운 이유입니다. 우리는 차트의 초기 점들을 통해 선을 그으면서 그 순간에 너무 흥분할 수 있고, 그 초기 점들이 위로 올라가고 오른쪽으로 가는 것처럼 보이지만 때로는 그냥 평평해집니다. 이것은 또한 우리가 너무 많은 중요한 인프라를 가지고 있는 경우 중 하나입니다. 예를 들어, 아직도 코볼로 실행되는 것들이 있는데, 전 세계적으로 약 5명의 인간만이 정말로 깊이 이해하고 있습니다. 사회가 여전히 필요한 역량을 잃을 가능성이 많습니다. 미래를 쫓고 있기 때문입니다. 코볼은 여전히 우리와 함께 있습니다. 이것은 제가 프로그래밍에 대해 생각하는 것 중 하나입니다. Ruby on Rails는 이제 그런 수준에 있어서 지금으로부터 50년 후에도 여전히 엄청나게 많은 Ruby on Rails 시스템이 돌아다닐 가능성이 매vtt 여전히 70년대의 코볼 코드가 오늘날 사회보장제도를 운영하고 있는데, 우리는 그것을 변환할 깔끔한 방법을 찾지 못했고, 심지어 이해하는 것도 못했는데, 우리는 확실히 겸손해야 합니다 미래를 예측하는 것에 대해서 말이죠. 그 당시 그 코볼 코드를 작성했던 프로그래머들 중 누구도 2025년에 여전히 그들이 그때 인코딩한 비즈니스 로직으로 수표가 발행될 거라고는 전혀 생각하지 못했을 겁니다. 하지만 이것이 저를 결론으로 이끕니다 젊은 프로그래머가 무엇을 해야 하는가라는 질문에 대해. 당신은 미래를 예측할 수 없을 것입니다. 아무도 미래를 예측할 수 없을 것입니다. 프로그래밍을 좋아한다면, 지금 프로그래밍을 배워야 합니다. 그것이 영원한 직업이 될까요? 저는 모릅니다. 하지만 무엇이 영원한 직업이 될까요? 누가 알겠어요? 얼마 전까지만 해도 우리는 블루칼라 노동이 추상화될 거라고 생각했습니다. 먼저 로봇들이 접수할 거라고 했죠. 그런데 생성형 AI가 나오자 모든 아티스트들이 갑자기 "이런, 이게 이제 모든 애니메이션을 할 건가? 모든 음악을 할 건가?"라고 생각하게 되었죠. 이제 그들은 정말 무서워합니다. 그리고 이제 최신 테슬라 로봇을 보니, 아, 저렇게 춤을 출 수 있다면 아마도 화장실도 고칠 수 있을 것 같아서 블루칼라가 다시 위험에 처할지도 모르겠네요. 그래서 아무도 아무것도 모르고 당신은 그렇다면 미래를 위해 자신을 포지셔닝해야 합니다당신이 선택한 길을 후회하지 않을 것입니다. 이것이 제 일반적인 인생 원칙입니다. 제가 참여하는 모든 노력을 바라보는 방식은 모든 결과에 만족하고 싶다는 것입니다. 37signals에서 새로운 제품을 개발하기 시작하면, 저는 성공에 대한 정신적 모델을 설정하고 이렇게 말합니다, 아무도 이것을 원하지 않는다면, 저는 아름다운 Ruby 코드를 작성하고, 새로운 영역을 탐구하고, 새로운 것을 배우고, 아무도 원하지 않더라도 제가 원하는 시스템을 구축할 기회를 얻었을 것입니다. 정말 축복이고, 특권입니다. 많은 사람들이 원한다면, 그건 좋은 일입니다. 우리는 급여를 지불할 수 있고, 사업을 계속 운영할 수 있으며, 엄청난 성공이라면 정말 좋습니다. 많은 사람들에게 영향을 줄 수 있습니다. 제게 있어 큰 미해결 질문 중 하나는 바이브 코딩으로 얼마나 멀리 갈 수 있느냐는 것입니다. 젊은 개발자가 대부분의 시간을 바이브 코딩에 투자해야 하는지, 아니면 처음부터 코드를 작성하는 데 투자해야 하는지에 대한 접근 방식입니다. 바이브 코딩이라는 것은 밈을 조금 활용하는 것이지만, 바이브 코딩은 코드를 생성하고, 만들고 싶은 것에 대한 아이디어를 가지고 코드를 생성한 다음 자연어로 프롬프트에 말하거나 수동으로 수정하는 것을 의미합니다. 수동으로 수정할 수 있을 만큼 배웁니다. 그것이 학습 과정인데, 생성된 코드를 수정하는 방법이거나 아니면 처음부터 코드를LLM들이 탭, 탭, 탭 탭으로 추가 코드를 작성하는데, 어느 부분에 의존하시나요? 안전하게 하려면 둘 다에서 아름다움과 예술성과 기술을 찾아야 한다고 생각합니다. 처음부터 말이죠. 시간의 일정 부분은 처음부터 작성하고 일부는 코파일럿으로 해야 하지만, 더 많은 시간을 처음부터 작성하는 데 써야 합니다. 프로그래밍 학습에 관심이 있다면 말이죠. 안타깝게도 피트니스 비디오를 보는 것만으로는 몸이 좋아지지 않습니다. 유튜브 기타 영상을 보는 것만으로는 기타 연주법을 배울 수 없습니다. 직접 연주해야 합니다. 직접 윗몸일으키기를 해야 하죠. 프로그래밍, 이해, 학습, 거의 모든 것을 배우려면 직접 해야 합니다. 인간은 멀리서 다른 사람을 보기만 해서는 기술로 변환되는 정보를 흡수하도록 만들어지지 않았습니다. 아이러니하게도 AI는 실제로 그런 일을 꽤 잘하는 것 같지만, 인간은 그렇지 않습니다. 유능한 프로그래머가 되는 법을 배우고 싶다면 프로그래밍을 해야 합니다. 이해하기 그리 어렵지 않습니다. 유혹과 그 유혹이 있다는 것을 이해하지만, AI 코딩이 특히 익숙하지 않은 새로운 영역에서, 완벽히 모르는 도구로 지금 이 순간 당신이 할 수 있는 것보다 더 나은 것을 만들어낼 수 있고, 혹은 당신이 도달하는 데 훨씬 오래 걸릴 것을 만들 수 있기 때문입니다. 하지만 아무것도 배우지 못할 것입니다. 학습처럼 느껴지지만 완전히 공허한단순히 바이브 코딩만 할 수 있다면, 당신은 프로그래머가 아닙니다. 그러면 누구나 할 수 있는 일이 되죠. 이는 훌륭한 일일 수 있습니다. 본질적으로 이는 Access 데이터베이스에서 일어난 일과 같습니다. Excel에서도 마찬가지였죠. 이는 회계사들이 소프트웨어 개발자가 될 수 있는 능력을 주었습니다. 도구들이 그들에게 매우 접근 가능해져서 다음 주 사업이 어떻게 될지에 대한 모델을 구축할 수 있게 되었기 때문입니다. Excel 이전에는 프로그래머가 필요했던 일이 이제는 그들이 직접 할 수 있게 되었죠. 바이브 코딩은 비프로그래머들이 자신의 아이디어를 탐구할 수 있게 해주는데, 이를 저는 정말 훌륭하다고 생각합니다. 하지만 그것이 당신을 프로그래머로 만들어주지는 않습니다. 저도 동의하지만, 우리 둘 다 틀릴 여지도 남겨두고 싶습니다. 예를 들어, 바이브 코딩이 실제로는 하나의 기술일 수 있습니다. 만약 훈련한다면 말이죠. 그리고 바이브 코딩에는 수정 단계, 반복적 수정을 포함하겠습니다. 만약 그것을 정말 잘하게 된다면, 처음부터 작성하는 사람들을 능가할 수 있고, 정말 혁신적인 것들을 만들어낼 수 있을 가능성이 있습니다. 특히 역사상 이 순간에 말이죠. LLM들이 완전한 제품에서 매우 새로운 것들을 만들어내기에는 아직 조금 부족하지만, 그 수준에 점점 가까워지고 있습니다. 따라서 지금 시간을 투자해서 정말 좋은 바이브 코더가 되는 것이 올바른 선택일 수편안히 앉아서... 이름에서 알 수 있듯이 말이죠. 하지만 진지하게 접근한다면, 경쟁력 있는 바이브 코더가 되어 AI의 흐름을 타는 것을 잘하고 처음부터 코드를 작성하는 것 대신 코드를 편집하는 기술을 잘하게 된다면, 장기적으로는 실제로 더 멀리 갈 수 있을 것입니다. 아마도 편집은 처음부터 작성하는 것과는 근본적으로 다른 작업일 수 있습니다. 만약 그것을 개발해야 할 기술로 진지하게 받아들인다면 말이죠. 저는... 저에게는 그것이 열린 질문입니다. 저는 단지... 개인적으로는 당신은 다른 수준에 있지만, 저는 개인적으로 제가 작성하지 않은 코드를 편집하는 것을 잘하지 못합니다. 다릅니다. 이 세대는 아무도 그렇지 않습니다, 하지만... 하지만 그것이 기술일 수도 있습니다. AI와 같은 페이지에 있게 된다면, AI에는 일관성이 있기 때문에 정말로 일관된 스타일과 구조 등을 가진 페어 프로그래머와 같습니다. 게다가 자신만의 프롬프팅으로 작성하는 코드의 종류를 제어할 수 있습니다. 정말로 하나의 기술이 될 수 있습니다. 그것이 프롬프트 엔지니어의 꿈이죠. 저는 그것이 완전한 헛된 꿈이라고 생각합니다. 글쓰기를 잘하지 못하는 편집자는 존재하지 않는다고 생각합니다. 저는 여러 권의 책을 썼습니다. 여러 명의 전문 편집자들과 일했습니다. 그들 모두가 자신만의 훌륭한 책을 쓴 것은 아니지만, 모두 어떤 면에서든 훌륭한 작가들이었습방법을 모르면 누군가에게 조언을 할 수 없습니다. 편집자가 문제점을 찾아내기는 매우 어렵습니다 스스로 해결책을 만들 수 없다면 말이죠. 제 생각에 편집은 보상입니다. 좋은 편집자가 될 수 있는 능력은 좋은 실행자가 됨으로써 얻는 보상입니다. 먼저 실행자가 되어야 합니다. 물론 이것이 바이브 코딩 프롬프트 엔지니어링이 곧 완전히 완성된 놀라운 시스템을 만들어낼 수 없다는 말은 아닙니다. 충분히 가능하다고 생각합니다. 하지만 그러면 남은 기술이 없게 되죠. 어쩌면 그것이 가장 큰 보상일 수도 있습니다. 결국 그것이 AI의 모든 약속 아니었나요? 모든 것이 자연 언어라는 것? 제가 서툴게 질문을 던져도 아름답고 간결한 답변이 나올 수 있다는 것? 사실 저에게는 그것이 훨씬 더 매력적인 비전입니다. AI를 적절히 자극해서 원하는 것을 만들어내는 방법을 아는 특별한 프롬프트 엔지니어링 마법사들이 있을 거라는 것보다 말이죠. AI의 아름다움은 AI가 실제로 어떻게 작동하는지 전혀 모르는 사람도 자신의 아이디어와 원하는 것에 대한 열망을 표현할 수 있다는 것입니다. 그리고 AI가 그 어수선한 아이디어 덩어리를 누군가가 원하는 것으로 만들어낼 수 있다는 것입니다. 사실 그것이 프로그래밍이 항상 해온 일입니다. 프로그래밍을 할 줄 모르지만 프로그램을 원하는 사람들이 있었고, 그들이 프로그래머를 고용해서 원하는 것에 대한 어수선한 설vtt아니야, 실제로는 그게 내가 의도한 게 아니야, 다른 걸 원해. AI가 그런 사이클을 제공할 수 있을지도 모른다. 그런 일이 최대한으로 일어난다면. 그래, 프로그래머들이 많이 남아있지 않을 거야, 맞아. 하지만 바라건대, 아마도, 적어도 예측 가능한 미래에는 누군가가 여전히 AI가 생산하는 것이 실제로 작동하는지 아닌지를 이해해야 할 거야. 흥미로운 사례 연구로, 사고 실험으로, 내가 바이브 코딩으로 베이스캠프나, 당신이 만든 제품들 중 일부를 만들고 싶다면, 병목지점이 뭘까? 어디서 실패하게 될까? 내가 이걸 시도해봤을 때, 바이브 코딩을 사용해서 실제로 뭔가를 만들려고 했을 때, 정말 일찍 실패하게 된다. 바이브 코딩은 현재 시점에서 작동하는 것처럼 보이는 겉모습을 만들 수 있지만, 그것은 온갖 방식으로 결함이 있다. 명백한 방식들, 밈이 된 방식들이 있는데 API 키를 모두 유출시키고, 비밀번호를 평문으로 저장한다. 나는 그건 궁극적으로 해결 가능하다고 생각한다. 즉, 그걸 알아낼 것이거나, 적어도 그런 면에서 나아질 것이다. 하지만 자신이 만든 미로에서 길을 잃는 능력이 지금은 매우 크다. 뭔가를 코딩하게 하고 나서 뭔가를 바꾸고 싶으면 그것은 두더지 잡기 게임이 된다 vtt 잠깐만. 이 멋진 비행 시뮬레이터를 만들고 있는 피터 로벨스가 말했는데, 특정 규모에서는 계속 자기 꼬리를 물고 있다는 거야. 뭔가 하나를 고치려고 하면 다른 다섯 개가 망가지는데, 이건 실제로 인간만의 특징이라고 생각해. 대부분의 나쁜 프로그래머들이 그렇거든. 도메인이 특정 수준의 복잡성에 도달하면, 하나를 고치면서 다른 세 개를 안 망가뜨릴 수가 없어. 그런 의미에서, 나는 실제로... 어떤 면에서는 거의 긍정적인 신호야. AI가 이걸 알아낼 거라는. 왜냐하면 지금 극도로 인간적인 궤적을 따르고 있거든. 지금 하고 있는 실수의 종류가 주니어 프로그래머들이 항상 하는 실수의 종류야.