Transcription
My big gripe with AI has nothing to do with its capabilities. It's exactly capable as it should be capable, because that's what people programmed it as.
The things that I really dislike is a there's a whole group of people that are just like the end is nigh. AI is here. You just need to stop programming. Like I, I cannot see, I cannot tell you even on like uh, you mentioned Peter levels earlier, he made some sort of tweet, and one of the person's responses was, yeah, no one in this like in 2025 or whatever should be acquiring hard skills; you should rely on everything for the AI effectively. And it's just like these are really damning pieces of advice for young people. Like young people are being told that you should never become an expert in anything; you should always offload.
And the problem is is that anyone worth any other salt will tell you that AI, though it can produce code, is going to get it wrong in a huge number of cases. And as the code becomes bigger or more complex or more input, it's going to just start kind of sloshing back and forth between bugs. And so if you don't have those hard skills and you're not ultimately the driver at the end of the day, like you're going to really find some hard times, and your ability to progress will be directly bound to how good the LLMs are.
Mhm. So if you believe that the LLMs will be vastly superior to humans in the next year, maybe that's a good bet. But if they aren't, then your skill ceiling is bound to whatever they are.
And even beyond that, there's just is like a whole, there's just like a level of information problem, which is like, can the thing actually navigate larger? Like, do we even have enough compute power to be able to solve things at at this real scale? And even if we did, if everybody started using it right now, do we even have the compute power for everybody to use it right now? There's like a lot of kind of bounding questions. There's privacy concerns. And I just don't want people to make the immediate or what appears to be the obvious choice where you don't need hard skills. You don't need these things. Our life is already going to be, we just need to only think creatively. It's like no, I don't think so. I think these hard skills are going to be around for quite some time. Even with a massive improvement in the AI, like you're going to really be needed to step in regularly for quite some time, as far as I can tell.
But I also think even on top of that, just even acquiring the hard skills or uh, whether that means programming from scratch, for example, in the context of programming, uh, that's going to make you better at steering the AI.
Mhm. Not just correcting the AI but steering the AI. I think there is some kind of, if you know how a computer works, you can program Python better. It's maybe counterintuitive, but you can, if you know the low-level abstractions, like some intuition around that, uh, you can steer the high-level abstractions better. Yeah, that just seems to be the case. Unless, of course, AI becomes like truly super intelligent, like many levels above, but it's very unlikely in the short term, and in the long term, it's still good as it gets better and better and better to be able to steer, to ride the wave of the improvement. Yeah, I'm on that team very much.
So, a lot of people have written to me. I think a lot of developers, programmers are really concerned about the future of their profession in in the context of uh, quickly improving AI systems. So, do you think AI will eventually replace programmers?
The hard part about that phrase is to use the term eventually. Yeah. Meaning, do I think in 5 years, 10 years, a 100red years? Like what is that? What does that term actually mean? uh, I think at some point, if we were able to scale, if all things continue at the current rate of improvement, there does come a point where programming as a hard skill does become unnecessary, right, there at some eventual point, way, way down the road. Yes, I don't know what that point looks like; I don't know when it's going to happen; I don't even attempt to make predictions about that, but there are still some like leaps and bounds we need to make, just, I mean, even just like society, like there's plenty of companies that don't even allow you to use AI, right? Like that. I mean, there's just practical problems that exist. So, that's like a question I just try not to answer in the direct sense. There will come a day, if humanity continues and all things continue in a good positive direction, where a lot of skills will go out the window due to immense computing systems. So, yeah, I'll give you that one. But it's just like, if I don't think it has anything in the near term. There's been no computer improvement up to this date that did not result in more jobs.
Yeah, absolutely. I, we should say that I think it depends how you define programming also because um, you know, when uh, the community uh, moves from assembly to C, from C to I don't know, uh, Python and JavaScript, like that's evolution, that's really painful for a lot of people who are used to programming that lower-level language. Uh, so there's going to be a continuous evolution, and maybe that means with with AI, there's going to be more and more evolution towards natural language as part of the tool chain, like being able to learn how to write proper prompts. Uh, yeah, that might, you know, cuz natural language is still a language, and in the long term, it's possible that a large percentage of programming is natural language. There probably still going to be some percent, it's just not that's going to be extremely structured language. Right now, I don't think we are anywhere near natural language being possible because it's ambiguous. And I think what we'll end up seeing as people push really hard into this, you're going to see some sort of like pseudo-lang, which is going to be a language for AIs in which you prompt, which is going to be less ambiguous, right? People keep striving towards the less ambiguous state. And that at that point, you're just programming. You're just programming yet another evolution into a higher-order language. And perhaps that is a future in which people will have a more tur language. I'm just not sure how much more tur it can get.
Um, yeah. I mean, I all I see is that if you say natural language can be used in the pipeline, you've just made that many more people can become programmers, which means that much more software will eventually be created, which means there's that much more software that will need to be maintained and just becomes a a real big snowballing effect. But, you know, there's just just people who are programmers who are worried about their jobs.
Yeah. Not a complete replacement but maybe a rapid evolution of what it means to be a programmer. Like you mentioned, if natural language becomes uh a way that you can communicate or you can program, that means uh the pool of people who can uh get programming jobs changes rapidly. So they're really concerned to some extent, right? Um, because no matter how much, no matter how much we want to say how good AI is, there comes a point where there exists a bug. There exists a large piece of software in which to describe the change requires just like pages and pages of description to the point where it is significantly just faster or easier for someone to just whip something out. Like there, there's definitely a balance there. It's not like a perfect tradeoff. And so I, I still don't, I think people need to quit worrying and think about how they can integrate it and try like prove it to themselves. Do they actually make themselves irrelevant? And if you truly make yourself irrelevant, I would challenge you that you're already like you're just doing something that was just slightly too complicated to automate. Like if you're only writing just straight up CRUD apps from backend to front end and like simple table displays, like yeah, maybe we just couldn't quite automate that away. And now we just have something that can just do that a little bit better. So now that's automated away. But that's not really programming. That's almost like building Legos at that point where the design's already set. You just simply have to move piece from bag into correct position.
Yeah. Uh, is there something you recommend how u uh a developer programmer could avoid a situation where AI can automate them away?
I think that the bigger the project you can manage, the bigger the thing you can build, the more understanding both down and up the stack you can go, the more valuable you become. Because if you understand how to build something in the front end, okay, well now you kick off some LLM task of some sort that's going to go off and make a change to the front end. Okay, while it's doing that, you can go and kick off something in the CLI tool. You can go and you can go kick off something somewhere else. And as these things come back with results, you can review the results, make sure it's the way you want it, change it, commit it, go to the next. Like, you only become more, you know, as you said, in the end, more productive if we reach this state where it's truly able to do that. And I think there is like a skill to working together with AI, which is why I'm kind of excited to watch you keep trying to do it. Yeah. It's like we don't know how it fits exactly, but it feels like AI should be a boost to productivity. And I, I definitely think it's a boost to just the joy of programming. I think there's a lot of people, yeah, it's a job, but it's also a source of meaning, a source of joy. Like programming is fun. You're creating something cool and also potentially that a lot of people use.
There's this one thing that just really frustrates me, kind of going into the Devon category, which is that I want an intern that cares. Yeah, you, you don't get that out of an LLM. It does not care. Meaning that I don't want it just to make a UI for me that displays these icons like I asked. I wanted to care. I want to think about it. I want it to present to me and me be like, "Oh, yeah, yeah, that's great." And then me to make changes and then later on it's like, "Actually, you know what? I really rethought about this and actually it'd be way better if we change." You know, like it doesn't actually care about the craft, you know? But when you work with an intern or you work with somebody else, they, they care. When they factor something, they actually go over and go, "Ah, yeah, this is actually kind of bad. I'm going to come back to that." They finish this, they go back over here, and they make this even better, right? They like actually care about the thing itself. It's a completely different experience. I just want something that also cares, that wants to make the thing better, not just simply accomplish the task. And I know I'm asking way too much. That's not, you know, now we're getting into like Blade Runner level AI. I just want something that's it just feels like I'm missing that where it's just like it will complete the task to whatever level it understood what I was prompting, but it just doesn't, it doesn't actually care about it.
I mean, there's so many aspects to caring, but sort of the trivial version of that is a kind of restlessness where you want to keep improving, and I think that is very much AI could do. Yeah. where constantly just ask itself, can I make this better? And if it keeps doing that, it probably is going to take it to some ridiculous place. So, actually, it's, it's also knowing when to stop.
Yeah. Uh, I think developing um something you can call taste, which is like trying, working extremely hard, constantly improving until it just feels right. This is it. And I think that is a thing that AI is not good at. It was just like, yes, this is it. Yeah. I've iterated three times, and three was the that's it. We're now there. And that I think ultimately that is what humans are amazing at, which is like knowing when something is right, like this is it. This is especially as as you understand as you develop taste in the particular industry, in the particular context application, knowing like this is it. Yeah. this the rounded corners on this button, that's exactly that, that's beautiful. So it's just a sense of beauty, uh, a sense of function and and efficiency and so on. Yeah. That but that you know humans could do almost like supervision of AI systems in that context.
Yeah. Yeah. You've uh ranted about Devon um just full of rage. Uh, I mean, first off, the people that run Devon are extremely nice. I want that to be understood. I don't have some sort of upsetness against them or anything like that. Um, second, Devon is just, it's, it's kind of like the full, it's like the full package when it comes to programming. So it's going to have, you're going to give it a task and a repo, and it's going to go through, it's going to try to understand the repo and the task, make the change to the repo by exploring it, then actually make a commit to GitHub and explain what it did so that you can have like, you know, so hopefully you have this whole offline thing, which is the other part of um this AI part that I actually really like, where it's just like, go fix this thing, then I can just go and unbroken fix this one thing and come back and go, okay, good enough, merge, boom, you know, like I want that kind of running, being able to complete things. I think the ideal solution is that you can start giving it small bugs, and it goes and fixes these bugs, and you can just come back to these backlog tickets that no one ever does, and it actually starts going through these backlog tickets, and it's actually a really amazing experience. So, I love the idea, right? I think we can all agree that that sounds great, but every time I've done it and and I've, I've asked it for many, and I, I try to keep narrowing down the problems. The more narrow the problem, the better it does. So if I'm like just add one singular icon, and when it gets clicked, I want you to do this, just just console click me, like just at least create me an SVG and place it so it's nicely placed. The more narrow the task, the more likely it's to be successful. Um, there's like a certain level of specifying where you specify too much, it just like can't do it. If you specify too little, it just does weird things. So it's kind of like this very kind of fun unique way you have to play the balance game. So far, every time I do these things, I always end up going, gosh, you know what? I should just get better at Tailwind and write it myself because I always go back and I just rewrite it. And then it's just like, dang it, what, what am I saving at the end? I feel like I'm not saving anything yet. You know, it's just like this. I want it so bad. Like, I actually want AI to be great because then I can really go fast. I mean, I can go amazing fast, but then I always just go, gosh, I should just learn Tailwind myself to like the nth degree and just go fast.
Yeah, we should also mention that debugging this might be intuitive or counterintuitive is AI is really bad at. Yeah, like that is one of the hardest. It actually makes you realize how special humans are and how difficult the task of debugging is. Obviously, for trivial debugging, maybe you can find yeah, bugs, but like that is the real art of programming is debug is finding bugs, logical bugs like um extremely complicated rare bugs, edge cases.
Mhm. AI can assist, but mans the hard ones are really require so much context, so much experience, so much intuition from uh, again, operating in a fog full of uncertainty, it's hard, uh, of course, AI could maybe create like logs and do traces and do some kind of load in a huge amount of data that humans can't, but ultimately that just means it could be a better assistant in debugging versus the actual lead debugger.
Yeah. I mean, it'd be great if they could. I mean, the more it can do that, the better, right? Cuz as far as I can tell, I mean, correct me where I'm wrong on this current state debugging. It's really it looks at the code. It looks at the bug problem. It just kind of tries to text predict where it's most likely accurate and then just tries to fix that spot. It's just like, it's likely this spot. You said admin panel, it's slightly off. this this this, it's probably this location, which could actually be a really great way to do search, right? Let me do semantic searching. Point to me where this is because maybe that is a really great way to navigate large code bases is like smart intelligent search as opposed to try to make it do the thing. Ask it to just help you do the thing and like pinpointing problems. I don't know. I' I'd love to see more of that cuz that's for me is like the exciting part.
And there's this really great article by creator or maintainer of curl. It's the I in the LLM stands for intelligence. And he writes Curl and maintains Curl. Curl has been inundated with security problems and all this. And it's all from LLM's being like, "Oh, I found a security flaw. Uh, here's the security flaw. Details it out in the code." And he's just like, "Okay, how did you reproduce that? Show me." Because if you look at the code right here, that's actually an impossible situation you're speaking of. And it's just like going in these circles and security right now is being inundated. These bug bounty programs are being inundated by LLM submitted responses because they can't actually, you know, analyze the code beyond just like basic text prediction. Oh, this is a stir copy. Stir copy is commonly referred, you know, blah blah blah blah blah. Boom, there you go. Here's the bug. And it's just like, no, that's actually impossible because the if statement right beforehand leaves the function if the string is too long. So, it's like we don't even run into this case. It's impossible what you're saying. So, debugging is very interesting.
Yeah. I mean, that for me would be the big, if it can solve that, not solve that, but improve that, that would be huge, whether it's agents or just LLMs integrated into um into IDs. I think there's this whole idea I call a a denial of attention. I think there's an entire attack vector that's going to be happening where using LLM to generate fake bug reports, fake all these things to just actually uh, effectively to demotivate and um hurt open source maintainers. Uh, Polykill was the first bug that kind of had this experience is this denial of attention where an active malicious maintainer just hounded the owner, and then a white knight came out and offered to buy this, you know, buy some stuff from under them, and when they bought it, they actually replaced it with a malicious piece of code and then used it. So, there's like this whole security world that's developing around using these in a very aggressive format. I mean, it's a fascinating world we're entering into, but I do agree with you that humans, human developers will be a huge part of that world, that this is not the job might evolve, but it's going to be there.
If I can, I didn't really look at this page, I thought it would be cool to go over with you, this is again the Stack Overflow, my favorite Stack Overflow developer survey, talking about their sentiment and usage of AI systems, the general sentiment of yes, uh, 61% say yes, they use it, and 25% say no, don't plan to. So majority use it, majority have a favorable sentiment over it, favorable or very favorable or indifferent. That's like looks like over 90%. That's really surprising that that many people just have no plan in looking into AI. Like as much as I don't like using it for coding, I hope one day I can use it more.
Right. And so it's like, I, to me, I'm always looking for the next thing. I'm just surprised that people are that I guess, obstinant for it. Obviously, the second one, the uh, AI tool sentiment, it must be only the users who responded uh, yes to the top two of that first one, just given the amount of respondents. I wonder if no and don't plan to are people who have tried it and quickly built up the intuition like this really sucks. Yeah. So we, you know, we could be like experienced programmers. They're like, "No, this is not making me more productive." 81% agree that increasing productivity is the biggest benefit that the developers identify for AI tools. Okay, so this is what are the benefits? Increase productivity, speed up learning, greater efficiency, improve accuracy in coding, make workload more manageable, improve collaborate. Where's the fun, increased fun? I would say that's that's like number one for me. Maybe speed up learning is like a a subcategory of of fun, right? If you're able to learn more and be able to become better, to me, that, that sounds, that sounds good. I don't know. It's different cuz like productivity is part of fun too. I, there is just a lightness. Um, I mean, maybe improve collaboration, all of these elements for sure. There's I, my time using Copilot, there was certainly a level of wonder that would happen for quite some time where it's just like, it's just amazing what it can do. Yeah. I'm just super impressed by what it can do, even though I don't use it. Like it's amazing to me that we have something that can even get that close.
Uh, in terms of accuracy of AI tools, only 2.7% highly trust. I would say that you have to be very green to think that you should highly trust an AI output. You should be very skeptical. Yeah. I don't know where I stand. Probably somewhat distrust. Highly distrust seems aggressive. It does seem a little like you should definitely be in the somewhat like you should always assume that there's something wrong and then from there you can go and and challenge it and then uh estimation of whether AI can handle complex tasks. Most people don't think it can handle complex tasks. I mean, it seems like people have a good sense of what it's able to handle or not. I would argue that people don't have a good grasp of what complex is in programming.
Sure. Yeah. If you say write to me, you know, write me quicksort, some people think quicksort's super complex.
Mhm. But I would argue that that's actually probably the simplest thing you could ask an AI to do, right? Things that are so well documented. It's going to do a great job at that. Yeah, probably high-level design decisions, which people don't even use AI for right now. I guess agents are supposed to be doing that kind of stuff. That's probably the most difficult thing or uh the most impactful thing. Well, the most difficult thing is finding bugs.
Yeah. AI tools next year, writing code and so on. Now, this one, the ethics part, I'm actually super curious your take. Yeah. On the ethics, will we see Europe laying down some new regulations? Oh, boy. What about artists, right? What about people that are really? Because the difference between coding and artists is very, very simple. If you gave me a sheet of paper, I could draw you a crab.
Mhm. You go, that's a crab. Yeah. But you can't do that with coding. It's like it's right or it's wrong; there's not a variation of interpretation for what a crab is. It's like no, that statement is just you cannot make that statement. You know, it's, it's very bounded in what it can express. And I could see why artist, like that's a very frustrating point. And then who gets rewarded for all that? You know, obviously, and then there's like the whole thing with coding and licenses. How much of it is GPL licenses do you think they've scraped and used as training data? GPL forces open source. Yeah. What are you going to do with that one? Like that means your model might need to be open source. Like OpenAI may have to get forced open. Yeah. All their previous stuff if there's any hint of GPL.
Yeah, that's a weird one. That's a really weird one because most of these models I think are training on data they don't technically have rights to be training on. Yeah, there's a lot of questions. There's an unspoken, it's a, it's a, it's a real wild west cuz like you could imagine that what if, you know, I always use
Europe because they tend to have, like, maybe the most consumer protection, uh, laws out there. You could imagine what happened if a law came down that said that if you used a model that produced GPL potential code, you have to open source. Like, how many companies are going to be like, "Oh my gosh." Right? Like, you have one year to get rid of all code that was generated that's potentially GPL sourced from a model. Like that could—you could imagine just the sheer panic that's going to happen. It'd be a fire sale of code.