← Back
IAmTimCorey June 25, 2026 18m

315. Using AI Will Not Make You A Better Developer

Read full transcript 17 segments
  1. Using AI will not make you a better Using AI will not make you a better developer. In fact, it will almost developer. In fact, it will almost developer. In fact, it will almost certainly make you a worse developer. certainly make you a worse developer. certainly make you a worse developer. Whenever I bring this up, I usually get Whenever I bring this up, I usually get Whenever I bring this up, I usually get people in the comments that say people in the comments that say people in the comments that say something like, "Well, that may be true something like, "Well, that may be true something like, "Well, that may be true for others, but I do it the right way." for others, but I do it the right way." for others, but I do it the right way." And that may be, but statistically, you And that may be, but statistically, you And that may be, but statistically, you almost certainly are not. Let's talk almost certainly are not. Let's talk almost certainly are not. Let's talk about why and what you can do to prevent about why and what you can do to prevent about why and what you can do to prevent it in today's episode of Dev Questions. >> Software development is more than just >> Software development is more than just writing code. So, let's talk about the writing code. So, let's talk about the writing code. So, let's talk about the rest of it. Specifically, let's talk rest of it. Specifically, let's talk rest of it. Specifically, let's talk about why AI will not make you a better about why AI will not make you a better about why AI will not make you a better developer. developer. developer. And let's start off with some of the And let's start off with some of the And let's start off with some of the ways that I hear that AI can make you a ways that I hear that AI can make you a ways that I hear that AI can make you a better developer and why I disagree better developer and why I disagree better developer and why I disagree [clears throat] with each. Number one, [clears throat] with each. Number one, [clears throat] with each. Number one, AI teaches me things I didn't know. That AI teaches me things I didn't know. That AI teaches me things I didn't know. That absolutely may be true. It may teach you absolutely may be true. It may teach you absolutely may be true. It may teach you things you didn't know.

  2. things you didn't know. things you didn't know. There's a couple problems, though. First There's a couple problems, though. First There's a couple problems, though. First off, and we need to address this off, and we need to address this off, and we need to address this probably at every point here, but AIs probably at every point here, but AIs probably at every point here, but AIs hallucinate. hallucinate. hallucinate. And in fact, OpenAI came out not that And in fact, OpenAI came out not that And in fact, OpenAI came out not that long ago and said, "We know they long ago and said, "We know they long ago and said, "We know they hallucinate and we cannot fix it." So, hallucinate and we cannot fix it." So, hallucinate and we cannot fix it." So, it's not like, "Well, the next version it's not like, "Well, the next version it's not like, "Well, the next version will be better. The next version won't will be better. The next version won't will be better. The next version won't hallucinate as much." hallucinate as much." hallucinate as much." The The company that's making the LLM The The company that's making the LLM The The company that's making the LLM says, "It's It's not going to go away. says, "It's It's not going to go away. says, "It's It's not going to go away. It's It's part of how AIs work." It's It's part of how AIs work." It's It's part of how AIs work." It [snorts] It [snorts] It [snorts] Even if you say, "Well, you know, Even if you say, "Well, you know, Even if you say, "Well, you know, hallucinations aren't that bad," which hallucinations aren't that bad," which hallucinations aren't that bad," which they are, but if you ask an AI a they are, but if you ask an AI a they are, but if you ask an AI a question and then come back the next day question and then come back the next day question and then come back the next day and ask the exact same question, it will and ask the exact same question, it will and ask the exact same question, it will not give you the same answer. not give you the same answer. not give you the same answer. It may give you an answer that's close, It may give you an answer that's close, It may give you an answer that's close, but it won't be the same one. And why? but it won't be the same one. And why? but it won't be the same one. And why? Because AIs are not deterministic. They Because AIs are not deterministic. They Because AIs are not deterministic. They don't give a set answer to a set don't give a set answer to a set don't give a set answer to a set question. Even if you ask the same question. Even if you ask the same question. Even if you ask the same question the same way every time. question the same way every time. question the same way every time. So, when it comes to So, when it comes to So, when it comes to learning new things from the AI, how do learning new things from the AI, how do learning new things from the AI, how do you know it's the right thing? How do you know it's the right thing? How do you know it's the right thing? How do you know it's the correct thing? AIs are you know it's the correct thing? AIs are you know it's the correct thing? AIs are not trained on the latest version of not trained on the latest version of not trained on the latest version of everything because that's just it comes everything because that's just it comes everything because that's just it comes out, you know, after the LLM was out, you know, after the LLM was out, you know, after the LLM was trained, which means that when you're trained, which means that when you're trained, which means that when you're talking about, you know, the latest talking about, you know, the latest talking about, you know, the latest information, like, "Hey, how should I do information, like, "Hey, how should I do information, like, "Hey, how should I do this in .NET 10?" Well, it has to go out this in .NET 10?" Well, it has to go out this in .NET 10?" Well, it has to go out and use retrieval augmented generation and use retrieval augmented generation and use retrieval augmented generation or rag to bring in additional sources,

  3. or rag to bring in additional sources, or rag to bring in additional sources, learn from that, and figure it out. It learn from that, and figure it out. It learn from that, and figure it out. It might not bring the right sources in, or might not bring the right sources in, or might not bring the right sources in, or it might not even know to bring certain it might not even know to bring certain it might not even know to bring certain sources in. For a very long time, until sources in. For a very long time, until sources in. For a very long time, until just about a month ago, the AIs were just about a month ago, the AIs were just about a month ago, the AIs were saying that .NET 10 was still in saying that .NET 10 was still in saying that .NET 10 was still in preview. And that was in people's preview. And that was in people's preview. And that was in people's documentation, that was in their, you documentation, that was in their, you documentation, that was in their, you know, in the code that was written, in know, in the code that was written, in know, in the code that was written, in the answers that were given, not just the answers that were given, not just the answers that were given, not just the AI itself, but also the things the the AI itself, but also the things the the AI itself, but also the things the AI generated. Which then reinforced that AI generated. Which then reinforced that AI generated. Which then reinforced that the AI was, quote unquote, correct when the AI was, quote unquote, correct when the AI was, quote unquote, correct when it was not. it was not. it was not. Because once it starts getting out Because once it starts getting out Because once it starts getting out there, then it kind of self-reinforces there, then it kind of self-reinforces there, then it kind of self-reinforces if you're not careful. if you're not careful. if you're not careful. So, hallucinations are a problem. So, it So, hallucinations are a problem. So, it So, hallucinations are a problem. So, it might teach you things you didn't know, might teach you things you didn't know, might teach you things you didn't know, but it might not be the correct things but it might not be the correct things but it might not be the correct things that you didn't know that it's teaching that you didn't know that it's teaching that you didn't know that it's teaching you. you. you. Also, Also, Also, and this is one that people sometimes and this is one that people sometimes and this is one that people sometimes miss, is if you know the question to miss, is if you know the question to miss, is if you know the question to ask, you can usually get a decent ask, you can usually get a decent ask, you can usually get a decent answer.

  4. answer. answer. But, too often, you don't know what you But, too often, you don't know what you But, too often, you don't know what you don't know. don't know. don't know. This is the, This is the, This is the, um, you know, when people come into a um, you know, when people come into a um, you know, when people come into a field, they start to think they know a field, they start to think they know a field, they start to think they know a lot about the field because they they lot about the field because they they lot about the field because they they they've learned a lot. When I was they've learned a lot. When I was they've learned a lot. When I was teaching C sharp in classrooms, I was, teaching C sharp in classrooms, I was, teaching C sharp in classrooms, I was, you know, teaching you know, teaching you know, teaching basically almost all the syntax for C basically almost all the syntax for C basically almost all the syntax for C sharp in the first 5 weeks of the of the sharp in the first 5 weeks of the of the sharp in the first 5 weeks of the of the semester. semester. semester. The problem is the semester is 16 weeks The problem is the semester is 16 weeks The problem is the semester is 16 weeks long. And so, students would start to long. And so, students would start to long. And so, students would start to say, well, you know, I know all of this. say, well, you know, I know all of this. say, well, you know, I know all of this. And yeah, you know all the syntax. And yeah, you know all the syntax. And yeah, you know all the syntax. But you don't know the questions to ask. But you don't know the questions to ask. But you don't know the questions to ask. You don't know the the depth of how to You don't know the the depth of how to You don't know the the depth of how to use those things well. You don't know use those things well. You don't know use those things well. You don't know what you don't know. And by the time what you don't know. And by the time what you don't know. And by the time they got through weeks 10, 11, 12, they they got through weeks 10, 11, 12, they they got through weeks 10, 11, 12, they started going, wow, there's a lot I started going, wow, there's a lot I started going, wow, there's a lot I don't know. Because they learned enough don't know. Because they learned enough don't know. Because they learned enough to know what they didn't know, or at to know what they didn't know, or at to know what they didn't know, or at least know there's so much more that is least know there's so much more that is least know there's so much more that is out there. out there. out there. When you don't know what you don't know, When you don't know what you don't know, When you don't know what you don't know, you don't know to ask for it. And so, you don't know to ask for it. And so, you don't know to ask for it. And so, you can't prompt your way into figuring you can't prompt your way into figuring you can't prompt your way into figuring out what you don't know. Sometimes the out what you don't know. Sometimes the out what you don't know. Sometimes the AI will expose you to things you didn't AI will expose you to things you didn't AI will expose you to things you didn't think about or didn't know about. But think about or didn't know about. But think about or didn't know about. But that doesn't mean that you've that doesn't mean that you've that doesn't mean that you've answered all those questions.

  5. answered all those questions. answered all those questions. So, So, So, that's a problem, because you don't that's a problem, because you don't that's a problem, because you don't you're leaving gaps in your knowledge, you're leaving gaps in your knowledge, you're leaving gaps in your knowledge, you're putting the wrong things in your you're putting the wrong things in your you're putting the wrong things in your knowledge, and so what you're building knowledge, and so what you're building knowledge, and so what you're building on is a really shaky foundation. on is a really shaky foundation. on is a really shaky foundation. Number two, Number two, Number two, this I you know, I just use AI to answer this I you know, I just use AI to answer this I you know, I just use AI to answer questions. So, I don't use AI for questions. So, I don't use AI for questions. So, I don't use AI for anything else. I just use AI to answer anything else. I just use AI to answer anything else. I just use AI to answer questions. questions. questions. So, okay. So, okay. So, okay. And AIs can do a pretty good job of And AIs can do a pretty good job of And AIs can do a pretty good job of answering questions. I use an AI, just answering questions. I use an AI, just answering questions. I use an AI, just to be clear, this is not anti-AI. to be clear, this is not anti-AI. to be clear, this is not anti-AI. But you have to be careful how you use But you have to be careful how you use But you have to be careful how you use the AI. So, I use an AI to answer the AI. So, I use an AI to answer the AI. So, I use an AI to answer questions a lot. questions a lot. questions a lot. But here's the thing, you need to But here's the thing, you need to But here's the thing, you need to verify, because I also, when I I go to verify, because I also, when I I go to verify, because I also, when I I go to the links where it says, hey, this is the links where it says, hey, this is the links where it says, hey, this is the, you know, this backs up my claim, I the, you know, this backs up my claim, I the, you know, this backs up my claim, I go to those links and often find out go to those links and often find out go to those links and often find out that those links are either incorrect, that those links are either incorrect, that those links are either incorrect, or they say the opposite of what the AI or they say the opposite of what the AI or they say the opposite of what the AI just told me. just told me. just told me. So, So, So, you need to verify those claims by you need to verify those claims by you need to verify those claims by actually going to the source, not just actually going to the source, not just actually going to the source, not just stopping at what the AI told you because stopping at what the AI told you because stopping at what the AI told you because the AI will sound intelligent. It will the AI will sound intelligent. It will the AI will sound intelligent. It will sound coherent. It will be reasonable.

  6. sound coherent. It will be reasonable. sound coherent. It will be reasonable. It will make sense. It will make sense. It will make sense. It just won't always be right. It just won't always be right. It just won't always be right. The other thing is that how you ask a The other thing is that how you ask a The other thing is that how you ask a question will determine what type of question will determine what type of question will determine what type of answer you get. answer you get. answer you get. So, if you ask a question in a positive So, if you ask a question in a positive So, if you ask a question in a positive manner, you're more likely to get a manner, you're more likely to get a manner, you're more likely to get a positive result. positive result. positive result. If you ask a question in a skeptical If you ask a question in a skeptical If you ask a question in a skeptical manner, you are more likely to get a manner, you are more likely to get a manner, you are more likely to get a skeptical result. skeptical result. skeptical result. And this is not always true and yes, And this is not always true and yes, And this is not always true and yes, you can you ask a really negative you can you ask a really negative you can you ask a really negative question and get back a positive answer question and get back a positive answer question and get back a positive answer sometimes. sometimes. sometimes. It this is not a always thing. That's It this is not a always thing. That's It this is not a always thing. That's the problem is that AI will give good the problem is that AI will give good the problem is that AI will give good answers a lot. But too often what answers a lot. But too often what answers a lot. But too often what happens is the AI will fall into the happens is the AI will fall into the happens is the AI will fall into the yes-man category. yes-man category. yes-man category. The idea that, you know, you're looking The idea that, you know, you're looking The idea that, you know, you're looking for validation and it will give you for validation and it will give you for validation and it will give you validation. validation. validation. But that's not a good way to get But that's not a good way to get But that's not a good way to get questions answered. questions answered. questions answered. Because then what happens is it will Because then what happens is it will Because then what happens is it will start to enable you to do things that start to enable you to do things that start to enable you to do things that are incorrect or they're just not wise.

  7. are incorrect or they're just not wise. are incorrect or they're just not wise. Uh I did example of this recently where Uh I did example of this recently where Uh I did example of this recently where I asked the AI, "How do I use SQLite I asked the AI, "How do I use SQLite I asked the AI, "How do I use SQLite with Blazor WebAssembly?" with Blazor WebAssembly?" with Blazor WebAssembly?" Now, the answer should be, Now, the answer should be, Now, the answer should be, "Don't do that." "Don't do that." "Don't do that." Because it's almost certainly the wrong Because it's almost certainly the wrong Because it's almost certainly the wrong solution for the job. solution for the job. solution for the job. Because the fact that Blazor WebAssembly Because the fact that Blazor WebAssembly Because the fact that Blazor WebAssembly puts all the code in the client, which puts all the code in the client, which puts all the code in the client, which means the client can read all the user means the client can read all the user means the client can read all the user secrets, they can read the database secrets, they can read the database secrets, they can read the database directly, which means that nothing in directly, which means that nothing in directly, which means that nothing in that database should be or can be that database should be or can be that database should be or can be sensitive. Otherwise, you're exposing sensitive. Otherwise, you're exposing sensitive. Otherwise, you're exposing secrets, you're exposing data that you secrets, you're exposing data that you secrets, you're exposing data that you didn't expect to because a user has didn't expect to because a user has didn't expect to because a user has access to more than just what the Blazor access to more than just what the Blazor access to more than just what the Blazor WebAssembly allows them to get into. WebAssembly allows them to get into. WebAssembly allows them to get into. So, So, So, there are there are there are use cases where you might want to think use cases where you might want to think use cases where you might want to think about maybe kind of SQLite, but there's about maybe kind of SQLite, but there's about maybe kind of SQLite, but there's much better much better much better solutions than SQLite for Blazor solutions than SQLite for Blazor solutions than SQLite for Blazor WebAssembly WebAssembly WebAssembly if you're going to go the client-side if you're going to go the client-side if you're going to go the client-side data route. You know, for example, if data route. You know, for example, if data route. You know, for example, if you're caching data, well, you could put you're caching data, well, you could put you're caching data, well, you could put it into IndexedDB or more likely put it it into IndexedDB or more likely put it it into IndexedDB or more likely put it into something like session storage or into something like session storage or into something like session storage or local storage.

  8. local storage. local storage. So, So, So, kind of a side track, but I want you to kind of a side track, but I want you to kind of a side track, but I want you to understand this is not what the AI told understand this is not what the AI told understand this is not what the AI told me. me. me. The AI did say, "Hey, you should The AI did say, "Hey, you should The AI did say, "Hey, you should probably think about using an API and probably think about using an API and probably think about using an API and and put the SQLite database behind and put the SQLite database behind and put the SQLite database behind that." That is correct. However, in its that." That is correct. However, in its that." That is correct. However, in its conclusion, it said that that solution conclusion, it said that that solution conclusion, it said that that solution was good for testing and for was good for testing and for was good for testing and for if you're teaching in a classroom. if you're teaching in a classroom. if you're teaching in a classroom. Which it knows that I'm a teacher. Which it knows that I'm a teacher. Which it knows that I'm a teacher. So, that may be why it said that, but So, that may be why it said that, but So, that may be why it said that, but that's not true. That's the preferred that's not true. That's the preferred that's not true. That's the preferred method if method if method if you need to have data that is securable. you need to have data that is securable. you need to have data that is securable. Now, if you're doing caching data or Now, if you're doing caching data or Now, if you're doing caching data or offline, what it said was, "Hey, yes, offline, what it said was, "Hey, yes, offline, what it said was, "Hey, yes, you can do SQLite." And showed me how to you can do SQLite." And showed me how to you can do SQLite." And showed me how to do that, but then in one of the little do that, but then in one of the little do that, but then in one of the little notes it said, one of the times, it notes it said, one of the times, it notes it said, one of the times, it said, "Just so you know, this is only in said, "Just so you know, this is only in said, "Just so you know, this is only in memory. It will go away on page refresh memory. It will go away on page refresh memory. It will go away on page refresh and it's not going to be persistent, and it's not going to be persistent, and it's not going to be persistent, etc." etc." etc." That's probably not what you were asking That's probably not what you were asking That's probably not what you were asking for.

  9. for. for. And so then, it will in passing And so then, it will in passing And so then, it will in passing sometimes mention, "Hey, IndexedDB is a sometimes mention, "Hey, IndexedDB is a sometimes mention, "Hey, IndexedDB is a is a way to go." is a way to go." is a way to go." And that could be the case, but there's And that could be the case, but there's And that could be the case, but there's again better solutions probably for for again better solutions probably for for again better solutions probably for for Blazor WebAssembly. What it didn't do Blazor WebAssembly. What it didn't do Blazor WebAssembly. What it didn't do was ask questions that revealed how I was ask questions that revealed how I was ask questions that revealed how I was going to use that data. It didn't go was going to use that data. It didn't go was going to use that data. It didn't go further and say, "Well, what's your further and say, "Well, what's your further and say, "Well, what's your exact situation? And let's talk about go exact situation? And let's talk about go exact situation? And let's talk about go back and forth and figure out what the back and forth and figure out what the back and forth and figure out what the right solution is for you, for your use right solution is for you, for your use right solution is for you, for your use case, for what you're wanting to do." case, for what you're wanting to do." case, for what you're wanting to do." It didn't do that, and it gave some bad It didn't do that, and it gave some bad It didn't do that, and it gave some bad recommendations recommendations recommendations that are correct for a limited that are correct for a limited that are correct for a limited circumstances, but probably are not circumstances, but probably are not circumstances, but probably are not right for me. right for me. right for me. So, So, So, this is the problem when you ask a this is the problem when you ask a this is the problem when you ask a question is it will give you the answer, question is it will give you the answer, question is it will give you the answer, but it will not necessarily give you the but it will not necessarily give you the but it will not necessarily give you the right answer for your situation. It will right answer for your situation. It will right answer for your situation. It will give you a general answer. give you a general answer. give you a general answer. And that's that's why we say it depends And that's that's why we say it depends And that's that's why we say it depends so much. The AI does not say it depends so much. The AI does not say it depends so much. The AI does not say it depends almost ever. almost ever. almost ever. Instead, what it does is it gives you Instead, what it does is it gives you Instead, what it does is it gives you and even in my case, it gave me a kind and even in my case, it gave me a kind and even in my case, it gave me a kind of it depends answer, but gave me two or of it depends answer, but gave me two or of it depends answer, but gave me two or three solutions, but never tried to three solutions, but never tried to three solutions, but never tried to figure out why one might be better than figure out why one might be better than figure out why one might be better than the other for me.

  10. the other for me. the other for me. So, just asking it questions, you're So, just asking it questions, you're So, just asking it questions, you're going to get some bad answers, and going to get some bad answers, and going to get some bad answers, and again, build up a a a again, build up a a a again, build up a a a level of bad knowledge in your head, um level of bad knowledge in your head, um level of bad knowledge in your head, um and add kind of more potholes to the and add kind of more potholes to the and add kind of more potholes to the road of your of your learning journey. road of your of your learning journey. road of your of your learning journey. Number three, I hear people say, "I let Number three, I hear people say, "I let Number three, I hear people say, "I let AI write the code, but then I review AI write the code, but then I review AI write the code, but then I review it." it." it." Yeah, I I I really doubt this is true. Yeah, I I I really doubt this is true. Yeah, I I I really doubt this is true. Um and the reason why is because even Um and the reason why is because even Um and the reason why is because even before AI came out, there had been before AI came out, there had been before AI came out, there had been studies that found that the larger the studies that found that the larger the studies that found that the larger the pull request, the less it got reviewed. pull request, the less it got reviewed. pull request, the less it got reviewed. So, if you have a pull request of So, if you have a pull request of So, if you have a pull request of 50 lines, 20 lines of code, it got 50 lines, 20 lines of code, it got 50 lines, 20 lines of code, it got thorough review more often. thorough review more often. thorough review more often. But, if you had a pull request of 2,000 But, if you had a pull request of 2,000 But, if you had a pull request of 2,000 lines, lines, lines, more often you got the looks good or more often you got the looks good or more often you got the looks good or here's a couple tweaks, but for the most here's a couple tweaks, but for the most here's a couple tweaks, but for the most part, yeah, go for it. part, yeah, go for it. part, yeah, go for it. Uh that was even before AI. Uh that was even before AI. Uh that was even before AI. And now we're doing it every day. And now we're doing it every day. And now we're doing it every day. It's very easy to get It's very easy to get It's very easy to get um lackadaisical. It's very easy to um um lackadaisical. It's very easy to um um lackadaisical. It's very easy to um just kind of skim over things and see just kind of skim over things and see just kind of skim over things and see that looks right. Does it have the right that looks right. Does it have the right that looks right. Does it have the right naming convention? Does it have the naming convention? Does it have the naming convention? Does it have the right file convention? Does it Does it right file convention? Does it Does it right file convention? Does it Does it have the right, you know, physical have the right, you know, physical have the right, you know, physical structure? Well, those are all great, structure? Well, those are all great, structure? Well, those are all great, but that's really not what a code review but that's really not what a code review but that's really not what a code review should be thinking about primarily.

  11. should be thinking about primarily. should be thinking about primarily. A code review primarily should be A code review primarily should be A code review primarily should be thinking about is this the right code? thinking about is this the right code? thinking about is this the right code? Is it the right way of solving it? Um Is Is it the right way of solving it? Um Is Is it the right way of solving it? Um Is this the the the way we should go about this the the the way we should go about this the the the way we should go about it compared to the rest of our code? Et it compared to the rest of our code? Et it compared to the rest of our code? Et cetera. So, cetera. So, cetera. So, yeah, it's it's hard to And the other yeah, it's it's hard to And the other yeah, it's it's hard to And the other thing is hard to catch on review. So, thing is hard to catch on review. So, thing is hard to catch on review. So, when you're looking at your code and when you're looking at your code and when you're looking at your code and you're skimming through code, and that's you're skimming through code, and that's you're skimming through code, and that's what you're doing, skimming and not what you're doing, skimming and not what you're doing, skimming and not actually reading, um it's harder to actually reading, um it's harder to actually reading, um it's harder to really understand what it's doing and really understand what it's doing and really understand what it's doing and then understand is this the right thing then understand is this the right thing then understand is this the right thing to do. Um it's hard to catch on review to do. Um it's hard to catch on review to do. Um it's hard to catch on review versus if you wrote it. When you're versus if you wrote it. When you're versus if you wrote it. When you're writing it, you're thinking about it writing it, you're thinking about it writing it, you're thinking about it more. You're thinking about it more more. You're thinking about it more more. You're thinking about it more deeply. deeply. deeply. So, one of the things I ask people is So, one of the things I ask people is So, one of the things I ask people is how many times do you push back on the how many times do you push back on the how many times do you push back on the AI for any any block of code? AI for any any block of code? AI for any any block of code? Because the reality is you should Because the reality is you should Because the reality is you should probably pushing back in on every pull probably pushing back in on every pull probably pushing back in on every pull request, for sure. Probably every method request, for sure. Probably every method request, for sure. Probably every method that the AI writes you should be that the AI writes you should be that the AI writes you should be tweaking. tweaking. tweaking. And if you're not, And if you're not, And if you're not, maybe you're just not writing good maybe you're just not writing good maybe you're just not writing good enough code or having the AI write good enough code or having the AI write good enough code or having the AI write good enough code.

  12. enough code. enough code. So, So, So, this is, you know, when you're thinking this is, you know, when you're thinking this is, you know, when you're thinking about reviewing code, you're not about reviewing code, you're not about reviewing code, you're not [clears throat] actually learning much [clears throat] actually learning much [clears throat] actually learning much except for the fact that you're except for the fact that you're except for the fact that you're you know, maybe learning how to review you know, maybe learning how to review you know, maybe learning how to review better, but you're practicing it more better, but you're practicing it more better, but you're practicing it more and that's, you know, that is valuable. and that's, you know, that is valuable. and that's, you know, that is valuable. But, it takes a lot of work to be good But, it takes a lot of work to be good But, it takes a lot of work to be good at review and it's even harder because at review and it's even harder because at review and it's even harder because of fact that you really should be of fact that you really should be of fact that you really should be writing a lot of code to help you in writing a lot of code to help you in writing a lot of code to help you in your review of code. But, you're not your review of code. But, you're not your review of code. But, you're not writing. You're just letting the AI writing. You're just letting the AI writing. You're just letting the AI write that. write that. write that. Uh, number four, Uh, number four, Uh, number four, I use AI to write the code I don't I use AI to write the code I don't I use AI to write the code I don't understand. understand. understand. This is for me as a developer, it This is for me as a developer, it This is for me as a developer, it terrifies me. I see this a lot. You terrifies me. I see this a lot. You terrifies me. I see this a lot. You know, I don't know this language, but I know, I don't know this language, but I know, I don't know this language, but I I had AI write it write code for it and I had AI write it write code for it and I had AI write it write code for it and and it worked. Um, and it worked. Um, and it worked. Um, how do you know it's the right code? how do you know it's the right code? how do you know it's the right code? How do you review that code? How do you review that code? How do you review that code? How do you know what to do to support How do you know what to do to support How do you know what to do to support that code? When that code breaks, how do that code? When that code breaks, how do that code? When that code breaks, how do you fix it?

  13. you fix it? you fix it? And the answer can't just be, well, have And the answer can't just be, well, have And the answer can't just be, well, have the AI fix it. Because as we know, AI is the AI fix it. Because as we know, AI is the AI fix it. Because as we know, AI is worse at maintaining code than it is at worse at maintaining code than it is at worse at maintaining code than it is at creating new code. And so often what creating new code. And so often what creating new code. And so often what happens is AI will throw code out and happens is AI will throw code out and happens is AI will throw code out and start over. It happens a lot. Um, start over. It happens a lot. Um, start over. It happens a lot. Um, and that's not the right solution. You and that's not the right solution. You and that's not the right solution. You can't just keep throwing code out and can't just keep throwing code out and can't just keep throwing code out and starting over. So, starting over. So, starting over. So, how do you maintain that code if you how do you maintain that code if you how do you maintain that code if you don't understand how it works? don't understand how it works? don't understand how it works? And if you do write, you know, have the And if you do write, you know, have the And if you do write, you know, have the AI write code you don't understand AI write code you don't understand AI write code you don't understand because, you know, I don't know how to because, you know, I don't know how to because, you know, I don't know how to do authentication, so I'll have AI do do authentication, so I'll have AI do do authentication, so I'll have AI do it. it. it. Terrifying. But, um, if that is the Terrifying. But, um, if that is the Terrifying. But, um, if that is the case, case, case, how do you guard against hallucination? how do you guard against hallucination? how do you guard against hallucination? How do you guard against it doing the How do you guard against it doing the How do you guard against it doing the wrong thing? Because now if you're going wrong thing? Because now if you're going wrong thing? Because now if you're going to try and learn from that, you're to try and learn from that, you're to try and learn from that, you're learning the wrong thing. You're learning the wrong thing. You're learning the wrong thing. You're learning the hallucination. learning the hallucination. learning the hallucination. The worst thing that AI does, in my The worst thing that AI does, in my The worst thing that AI does, in my opinion, is it writes code that opinion, is it writes code that opinion, is it writes code that compiles. compiles. compiles. And if you notice, if you're letting the And if you notice, if you're letting the And if you notice, if you're letting the code in the agent write the code, um, code in the agent write the code, um, code in the agent write the code, um, and again, I do some of this. When you and again, I do some of this. When you and again, I do some of this. When you let the agent write the code and it let the agent write the code and it let the agent write the code and it writes the code and it compiles and it writes the code and it compiles and it writes the code and it compiles and it fails, fails, fails, and it goes, oh, I'll I'll check this, and it goes, oh, I'll I'll check this, and it goes, oh, I'll I'll check this, and it tries something else, and it and it tries something else, and it and it tries something else, and it fails, and I'll check something else, fails, and I'll check something else, fails, and I'll check something else, oh, and then it fixes it. And you're oh, and then it fixes it. And you're oh, and then it fixes it. And you're like, wow, that's great, it it fixed all like, wow, that's great, it it fixed all like, wow, that's great, it it fixed all the problems.

  14. the problems. the problems. No, what it did was it got the code to No, what it did was it got the code to No, what it did was it got the code to compile. compile. compile. That's different than fixing all the That's different than fixing all the That's different than fixing all the problems. problems. problems. If you think about it, it wrote bad If you think about it, it wrote bad If you think about it, it wrote bad code, code that did not compile. code, code that did not compile. code, code that did not compile. And so, it's not understanding the code, And so, it's not understanding the code, And so, it's not understanding the code, it's just writing code. it's just writing code. it's just writing code. And it's, you know, throwing darts And it's, you know, throwing darts And it's, you know, throwing darts against the wall sometimes until it gets against the wall sometimes until it gets against the wall sometimes until it gets it right. it right. it right. That's actually worse than code that That's actually worse than code that That's actually worse than code that doesn't compile. Because if it works, if doesn't compile. Because if it works, if doesn't compile. Because if it works, if it passes your tests, well, then it must it passes your tests, well, then it must it passes your tests, well, then it must be right, correct? No. What it means is be right, correct? No. What it means is be right, correct? No. What it means is maybe the happy path works, but maybe the happy path works, but maybe the happy path works, but there's a probably a lot of hidden there's a probably a lot of hidden there's a probably a lot of hidden things we don't know. things we don't know. things we don't know. So, when you let the AI write code you So, when you let the AI write code you So, when you let the AI write code you don't understand, then again, you're don't understand, then again, you're don't understand, then again, you're putting potholes in your path to putting potholes in your path to putting potholes in your path to learning because learning because learning because what you're going to learn is code that what you're going to learn is code that what you're going to learn is code that oftenly right, but sometimes won't, and oftenly right, but sometimes won't, and oftenly right, but sometimes won't, and you won't know when it's not. you won't know when it's not. you won't know when it's not. Okay? Now, I'm sure there's more ways Okay? Now, I'm sure there's more ways Okay? Now, I'm sure there's more ways that people use AI they think is that people use AI they think is that people use AI they think is actually helping them be a better actually helping them be a better actually helping them be a better developer, developer, developer, but here's the truth about software but here's the truth about software but here's the truth about software development. The way to get better as a development. The way to get better as a development. The way to get better as a developer is to do the work.

  15. developer is to do the work. developer is to do the work. You don't get stronger by watching a You don't get stronger by watching a You don't get stronger by watching a video about lifting weights, or by video about lifting weights, or by video about lifting weights, or by watching a robot lift with the weights. watching a robot lift with the weights. watching a robot lift with the weights. What you What you What you you might learn a better technique you might learn a better technique you might learn a better technique through a video, and the robot might be through a video, and the robot might be through a video, and the robot might be helpful for setting things up or tearing helpful for setting things up or tearing helpful for setting things up or tearing things down, but at the end of the day, things down, but at the end of the day, things down, but at the end of the day, you need to lift the weights. you need to lift the weights. you need to lift the weights. So, this is not about can I use AI as a So, this is not about can I use AI as a So, this is not about can I use AI as a tool? Absolutely. tool? Absolutely. tool? Absolutely. Can AI make your development life Can AI make your development life Can AI make your development life faster? Absolutely. faster? Absolutely. faster? Absolutely. But don't think that it's making you a But don't think that it's making you a But don't think that it's making you a better developer. better developer. better developer. Because that's different. Because that's different. Because that's different. Yes, it can make you faster. We We have Yes, it can make you faster. We We have Yes, it can make you faster. We We have so many tools to make us faster as so many tools to make us faster as so many tools to make us faster as developers. My primary preferred developers. My primary preferred developers. My primary preferred language is C#. language is C#. language is C#. That itself is a tool to make me faster. That itself is a tool to make me faster. That itself is a tool to make me faster. It's a high-level language, not a It's a high-level language, not a It's a high-level language, not a low-level language. It does a lot of the low-level language. It does a lot of the low-level language. It does a lot of the work for me. That makes me faster. work for me. That makes me faster. work for me. That makes me faster. Visual Studio with code completions and Visual Studio with code completions and Visual Studio with code completions and other the makes me faster as a other the makes me faster as a other the makes me faster as a developer. developer. developer. But that doesn't make me a better But that doesn't make me a better But that doesn't make me a better developer. Because I have Visual Studio developer. Because I have Visual Studio developer. Because I have Visual Studio doesn't make me a better developer.

  16. doesn't make me a better developer. doesn't make me a better developer. I can have a piece of notepad I can have a piece of notepad I can have a piece of notepad or note paper and be a better developer, or note paper and be a better developer, or note paper and be a better developer, right? So, it's not the tool that makes right? So, it's not the tool that makes right? So, it's not the tool that makes me a better developer. It makes me be me a better developer. It makes me be me a better developer. It makes me be faster sometimes, but to be a better faster sometimes, but to be a better faster sometimes, but to be a better developer you have to put in the work. developer you have to put in the work. developer you have to put in the work. You have to be the one that actually You have to be the one that actually You have to be the one that actually exercises those skills of development. exercises those skills of development. exercises those skills of development. Not watching somebody else develop. Not Not watching somebody else develop. Not Not watching somebody else develop. Not just having, you know, someone tell you just having, you know, someone tell you just having, you know, someone tell you what to do step by step in development. what to do step by step in development. what to do step by step in development. You need to put the work in. You need to put the work in. You need to put the work in. Prompting AI gives you very little Prompting AI gives you very little Prompting AI gives you very little experience. experience. experience. Outsourcing your thinking gives you very Outsourcing your thinking gives you very Outsourcing your thinking gives you very little experience. little experience. little experience. The only thing that will make you The only thing that will make you The only thing that will make you a better developer in the long term is a better developer in the long term is a better developer in the long term is putting in the effort of actually putting in the effort of actually putting in the effort of actually building things. building things. building things. Again, it doesn't mean that AI can't Again, it doesn't mean that AI can't Again, it doesn't mean that AI can't help you. It is a tool. help you. It is a tool. help you. It is a tool. But But But you the more you let the tool do the you the more you let the tool do the you the more you let the tool do the work for you, the less value you get out work for you, the less value you get out work for you, the less value you get out of it. of it. of it. So, make sure that you're putting in the So, make sure that you're putting in the So, make sure that you're putting in the work. You're doing the heavy lifting work. You're doing the heavy lifting work. You're doing the heavy lifting at least in some places to make sure you at least in some places to make sure you at least in some places to make sure you keep up your strength and improve your keep up your strength and improve your keep up your strength and improve your strength as a developer.

  17. strength as a developer. strength as a developer. Thanks for listening. As always, I am Thanks for listening. As always, I am Thanks for listening. As always, I am Tim Corey. Tim Corey. Tim Corey. >> [music]

Summary

The main theme is that relying on AI will likely make developers worse, not better, due to its inherent hallucinations and non-deterministic nature. Key subjects include AI hallucinations as confirmed by OpenAI, and the challenge of AI not being trained on the absolute latest information. The practical takeaway is that developers must verify AI-generated information for accuracy and critically evaluate its output, rather than blindly trusting it for learning.

View original episode ↗