My honest thoughts on using AI to code

00:25:13
https://www.youtube.com/watch?v=yCUru4vcGdY

Résumé

TLDRIn this video, the author shares their perspective on using AI in coding, reflecting on their experience with various AI tools. They discuss the appropriateness of AI usage in different scenarios, especially for beginners. Key takeaways include the balance between using AI and understanding core coding principles. The author provides examples of their own projects where AI was beneficial, as well as insights on how to effectively communicate needs to AI tools to generate quality code. While AI can speed up development, it’s essential for programmers to maintain foundational coding skills to ensure code quality and problem-solving capability.

A retenir

  • 🖥️ Using AI can speed up the coding process significantly.
  • 🤖 It's essential to understand your codebase even when using AI tools.
  • 📚 Beginners should learn coding fundamentals despite using AI.
  • ⚙️ Specific and clear prompts improve AI's response accuracy.
  • 🚀 AI can quickly generate code that would take longer to write manually.
  • 🧩 Balance AI usage with traditional coding practices for better results.
  • 💡 Understanding code helps you maintain quality and address potential bugs.
  • 🕒 Time saved by AI can allow developers to focus on more critical tasks.
  • 💬 Communication skills are key when working with AI tools.
  • ⚠️ Over-reliance on AI may lead to issues with maintaining and understanding code.

Chronologie

  • 00:00:00 - 00:05:00

    In the video, the speaker reflects on their previous criticism of 'vibe coding' while sharing their honest perspective on AI in coding. They recount their experience using voice-to-text technology to create applications and their reliance on AI tools like Cursor and Copilot over the past six months. With over a decade in coding, the speaker shares how they decide when to use AI, focusing on the importance of understanding the necessity and significance of the task they are attempting to accomplish.

  • 00:05:00 - 00:10:00

    The speaker illustrates their AI usage with a recent project where they refactored the homepage for their course platform using the AI tool, Cursor, to create a 3D environment. Despite facing several bugs along the way, they conclude that employing AI made the process faster and more efficient. They explain that since the 3D implementation was not core to their career focus as a web developer, using AI for features deemed as less critical can save time.

  • 00:10:00 - 00:15:00

    They delve into the confusion faced by beginners regarding AI usage in their learning journey. The speaker suggests that if a task isn't vital to one's learning goals, using AI is acceptable. They emphasize the necessity for junior developers to retain a strong understanding of critical foundational elements while opting for AI assistance when tackling less significant tasks that don't demand deep understanding.

  • 00:15:00 - 00:20:00

    Discussing the quality of AI outputs, the speaker acknowledges that AI can generate messy code ('slop'), requiring users to have a firm grasp of coding standards to request corrections effectively. They recommend reviewing AI-generated code to avoid issues in team settings, where the ability to explain learned components to colleagues is crucial to one's professional credibility.

  • 00:20:00 - 00:25:13

    The video concludes with the speaker's view that AI is a powerful tool that can expedite development workflows. Rather than seeing AI as a job threat, they argue that it enhances efficiency for developers who learn to utilize it effectively. They encourage viewers to engage with AI meaningfully to improve their coding efficiency while preserving the critical understanding necessary for sustainable growth in their careers.

Afficher plus

Carte mentale

Vidéo Q&R

  • What is vibe coding?

    Vibe coding refers to relying on AI assistance to generate code quickly and intuitively without deep understanding.

  • Why does the author think vibe coding has downsides?

    The author believes vibe coding can lead to sloppiness in code and a lack of understanding, which is risky for long-term development.

  • When should I use AI as a beginner coder?

    AI can be useful for tasks that you find non-essential to your learning, but foundational knowledge is important for understanding and debugging.

  • How can AI tools improve coding efficiency?

    AI tools can help generate code faster and identify bugs that might take longer to resolve manually.

  • What are some recommended strategies for prompting AI?

    Provide specific context and guidance on desired outcomes to improve AI's code generation quality.

  • Should I still learn coding fundamentals if using AI?

    Yes, understanding the fundamentals is crucial to ensure you can debug and maintain code effectively.

  • How long has the author been coding?

    The author has over 11 years of experience in the coding industry.

  • Should I fully trust AI to write my code?

    No, while AI can help, you should review and understand the code it generates.

  • What is the role of context in AI code generation?

    The more context you provide to AI, the better the results typically will be.

  • Can using AI impact job security for developers?

    Using AI effectively can enhance productivity, but may lead to competition among developers.

Voir plus de résumés vidéo

Accédez instantanément à des résumés vidéo gratuits sur YouTube grâce à l'IA !
Sous-titres
en
Défilement automatique:
  • 00:00:00
    so in my last video I talked about why I
  • 00:00:02
    think vibe coding actually sucks but I
  • 00:00:04
    do want to kind of give you another
  • 00:00:06
    honest perspective i think sometimes the
  • 00:00:08
    content I post is a little bit more
  • 00:00:10
    clickbaity i know it's going to get
  • 00:00:11
    views this one I just want to give you
  • 00:00:13
    my honest opinion on AI because honestly
  • 00:00:15
    I feel like I'm the original vibe coder
  • 00:00:17
    if you go back 6 months ago um I coded
  • 00:00:19
    an application only using voice to text
  • 00:00:22
    okay here's the video right here and I
  • 00:00:24
    also did a live stream on it so using AI
  • 00:00:27
    exclusively without like diving through
  • 00:00:29
    the code and having to actually touch
  • 00:00:30
    code uh itself I've been doing for a
  • 00:00:33
    while and I've been using Copilot like
  • 00:00:35
    since it came out off and on i've been
  • 00:00:36
    using cursor to help build out various
  • 00:00:38
    other projects i'm not sure where I
  • 00:00:40
    actually officially switched to cursor
  • 00:00:42
    on my uh my my videos it was probably
  • 00:00:44
    like 6 months ago but I do believe I was
  • 00:00:47
    using different AI tools along the way
  • 00:00:48
    like Claude and ChatgBT and stuff with
  • 00:00:51
    that being said I've been using AI for a
  • 00:00:52
    while and I've been in the industry
  • 00:00:54
    coding for 11 plus years now so I want
  • 00:00:56
    to give you my perspective on when I
  • 00:00:58
    like to use AI when I just ignore AI and
  • 00:01:01
    I go straight to coding and also should
  • 00:01:03
    you be learning AI as a junior when
  • 00:01:05
    should you like leverage it more when
  • 00:01:07
    should you not and honestly I'll
  • 00:01:09
    probably just ramble about things so I
  • 00:01:10
    think the best way to exemplify AI is
  • 00:01:12
    let's talk about real things that I've
  • 00:01:13
    tried building using AI so recently this
  • 00:01:16
    morning I wanted to refactor my homepage
  • 00:01:18
    for my course platform that I'm trying
  • 00:01:19
    to build out and I wanted to make the
  • 00:01:21
    homepage a little bit more interesting
  • 00:01:22
    so I added a library called 3.js which
  • 00:01:25
    builds out 3D nodes and it puts them
  • 00:01:27
    around a 3D space around this this sun
  • 00:01:31
    basically now I use AI exclusively for
  • 00:01:34
    this right i went to cursor and I
  • 00:01:36
    basically kept asking it to you know
  • 00:01:39
    build out this 3D system i probably went
  • 00:01:41
    through like 10 or 15 iterations of
  • 00:01:43
    prompting but finally I got to something
  • 00:01:44
    that I want overall I think it took me
  • 00:01:47
    maybe like 30 minutes to an hour to get
  • 00:01:48
    it working with AI it did run into a
  • 00:01:51
    bunch of bugs along the way i have to
  • 00:01:53
    basically help tweak it a little bit so
  • 00:01:55
    the real question is is why did I use AI
  • 00:01:57
    to build this out versus just doing it
  • 00:02:00
    myself and there's a variety of reasons
  • 00:02:02
    right the first one is this is just
  • 00:02:04
    throwaway code this isn't a core thing
  • 00:02:06
    in my codebase that I truly need to
  • 00:02:08
    understand this is like a marketing
  • 00:02:10
    thing where I'm like let's just get a 3D
  • 00:02:12
    thing going so it just looks cool when
  • 00:02:14
    someone lands on this page and from a
  • 00:02:15
    marketing standpoint maybe that'll drive
  • 00:02:17
    up um engagement or drive up sales
  • 00:02:21
    secondly this is not important to my
  • 00:02:23
    overall career path i would consider
  • 00:02:25
    myself more of a web developer full
  • 00:02:26
    stack developer or DevOps engineer
  • 00:02:28
    building out 3D scenes is not something
  • 00:02:31
    that's going to really elevate my
  • 00:02:33
    current niche in my professional career
  • 00:02:36
    with that being said this is like a
  • 00:02:37
    prototype i could throw it away and not
  • 00:02:39
    care and it's also not core knowledge to
  • 00:02:41
    my career now the third thing I want to
  • 00:02:43
    mention is that this is something I
  • 00:02:45
    could build myself right i just want to
  • 00:02:48
    give you some context back in college I
  • 00:02:49
    took a 3D course for a semester we had
  • 00:02:51
    to learn about 3D scenes we had to learn
  • 00:02:53
    about 3D objects we learned about vertex
  • 00:02:55
    shaders fragment shaders we learned
  • 00:02:57
    about camera perspective transforms the
  • 00:03:00
    linear algebra like they went in detail
  • 00:03:02
    of using 3D and I think we also did it
  • 00:03:05
    in a browser as well so we kind of like
  • 00:03:06
    learned about
  • 00:03:07
    WebGL that knowledge that I learned
  • 00:03:10
    although it was 10 or 11 years ago it's
  • 00:03:12
    still somewhere up there right and that
  • 00:03:14
    was just one course in college i do
  • 00:03:15
    believe that I had to take like physics
  • 00:03:17
    3 in college or physics 2 where they
  • 00:03:20
    teach you how to take like magnetic
  • 00:03:22
    fluxes over 3D objects so you do have to
  • 00:03:24
    understand like mathematical formulas
  • 00:03:26
    that use like cosine and s and tangent
  • 00:03:29
    and how you can use them in equations to
  • 00:03:31
    calculate magnetic fields or flux around
  • 00:03:34
    objects and then on top of that I've
  • 00:03:36
    always been into gaming and 3D stuff so
  • 00:03:38
    like I've always played around with
  • 00:03:39
    Unity a little bit on the side i've
  • 00:03:40
    played around with these you know 3JS
  • 00:03:42
    libraries on the side i played around
  • 00:03:44
    with other 3D libraries and so 3D is not
  • 00:03:47
    something that's completely foreign to
  • 00:03:48
    me and so looking at this could I build
  • 00:03:50
    this myself i think I could the real
  • 00:03:53
    question is is how long would it take me
  • 00:03:56
    and how important is it for me to learn
  • 00:03:58
    it again like I said me knowing how to
  • 00:04:01
    build this by hand I don't think it's
  • 00:04:03
    valuable now if I were to switch careers
  • 00:04:05
    and become a game engineer designer then
  • 00:04:08
    yes I would probably should be able to
  • 00:04:09
    build this by hand and I should be able
  • 00:04:10
    to do it pretty fast it's probably not
  • 00:04:12
    too hard you probably just have to spawn
  • 00:04:15
    some random things around a 3D uh space
  • 00:04:18
    and then you just have to kind of draw
  • 00:04:20
    lines between these different nodes
  • 00:04:22
    randomly and if you look at the code I
  • 00:04:23
    mean it's not too long it's like 500
  • 00:04:25
    lines of code and I'm sure someone who
  • 00:04:27
    works in 3D space could easily build
  • 00:04:29
    this out themselves but using AI allowed
  • 00:04:33
    me to build this out much faster than I
  • 00:04:34
    could have done myself at some point in
  • 00:04:36
    your career you have to admit that using
  • 00:04:39
    a thirdparty library or using AI to just
  • 00:04:42
    get the job done is probably a much
  • 00:04:44
    better investment in your time honestly
  • 00:04:47
    I don't know what my original talking
  • 00:04:48
    point is but let's just keep on winging
  • 00:04:50
    it and see if we can talk about some
  • 00:04:51
    more stuff so if you're a beginner I
  • 00:04:53
    think there's a lot of confusion around
  • 00:04:54
    like should I be using AI when I'm
  • 00:04:56
    learning and when should I not use it
  • 00:04:58
    and going back to the story I just gave
  • 00:05:01
    I think if you understand how to build
  • 00:05:03
    something yourself or you feel confident
  • 00:05:05
    that you could build it yourself and you
  • 00:05:06
    know it's just going to take you a lot
  • 00:05:08
    of time to go back and refresh those
  • 00:05:10
    things could I have gone back and
  • 00:05:12
    refreshed my memory about all the things
  • 00:05:13
    I learned 10 years ago about 3D spaces
  • 00:05:15
    and you know try to really dive into 3JS
  • 00:05:18
    and learn it
  • 00:05:19
    absolutely do I want to spend 8 16 hours
  • 00:05:22
    doing that not really right i don't have
  • 00:05:25
    much time i want to focus on my YouTube
  • 00:05:27
    channel i want to focus on just shipping
  • 00:05:28
    this little feature and I don't want to
  • 00:05:30
    actually like improve my knowledge in 3D
  • 00:05:33
    space just yet maybe in the future I
  • 00:05:35
    will but right now I don't care that is
  • 00:05:37
    the mentality I would recommend you as a
  • 00:05:39
    junior if there's something that you're
  • 00:05:41
    doing and you don't think it's very
  • 00:05:43
    important to the overall goal of
  • 00:05:45
    learning then maybe you could just use
  • 00:05:48
    AI to do it for example let's say you
  • 00:05:49
    want to build out a website but you just
  • 00:05:51
    you you're like a backend engineer you
  • 00:05:53
    don't care about the UI then yeah use AI
  • 00:05:56
    to generate your landing page and people
  • 00:05:58
    argue that that's a bad take but I mean
  • 00:05:59
    honestly like if you're trying to build
  • 00:06:01
    out a landing page typically you go and
  • 00:06:02
    you find pre-existing components right
  • 00:06:04
    and you just copy and paste them into
  • 00:06:05
    your application anyway and you don't go
  • 00:06:08
    and you ever learn about like okay how
  • 00:06:09
    does this drop down actually work under
  • 00:06:11
    the hood how does this type ahead
  • 00:06:13
    actually work under the hood because you
  • 00:06:15
    don't care you just want to build a
  • 00:06:17
    working application and you care more
  • 00:06:19
    about the backend engineering type of
  • 00:06:21
    thing so like you want to focus on using
  • 00:06:23
    AI less on the things that you're truly
  • 00:06:26
    passionate about or the things you truly
  • 00:06:28
    care about because you need to have a
  • 00:06:29
    core fundamental understanding of how
  • 00:06:31
    they all work now in a perfect world if
  • 00:06:34
    you have infinite time then you should
  • 00:06:35
    probably be learning everything and just
  • 00:06:36
    understand how all this stuff works and
  • 00:06:38
    how it all fits together and how you can
  • 00:06:40
    do it yourself but realistically there's
  • 00:06:42
    only so many hours in a day and once you
  • 00:06:45
    get a job you're asked to ship features
  • 00:06:47
    and deliver value right okay and so
  • 00:06:49
    there's like a trade-off of how much
  • 00:06:51
    time do I spend actually learning it and
  • 00:06:53
    understanding it versus how much time do
  • 00:06:55
    I just get it done now on that point if
  • 00:06:58
    you're on a team and you have a bunch of
  • 00:07:00
    engineers that are working with you it's
  • 00:07:03
    probably a good idea to understand how
  • 00:07:05
    it all works because what's going to
  • 00:07:06
    happen is you're going to ship a feature
  • 00:07:09
    and then someone's going to come back
  • 00:07:10
    and ask you okay there's a little bug
  • 00:07:12
    with it how did you implement this how
  • 00:07:14
    does this work and I don't think sitting
  • 00:07:17
    in a meeting in front of eight other
  • 00:07:18
    people saying "I don't know i use AI to
  • 00:07:21
    generate it." I don't think that's going
  • 00:07:22
    to really reflect good on your character
  • 00:07:25
    and who you are i think managers are
  • 00:07:27
    going to be kind of like scratching
  • 00:07:28
    their head of like "Okay does this guy
  • 00:07:29
    actually know how to code?" So in a
  • 00:07:31
    professional setting I think there's
  • 00:07:33
    more weight into understanding the code
  • 00:07:35
    that's being shipped because a lot of
  • 00:07:37
    the times like if you look at this code
  • 00:07:39
    here it just fills the code with magic
  • 00:07:41
    numbers it's not very configurable like
  • 00:07:43
    if you look at the calculations here of
  • 00:07:45
    the tilt angle and all this orbit speed
  • 00:07:47
    it just hard-coded random numbers
  • 00:07:49
    everywhere which is very unmaintainable
  • 00:07:52
    this is a very bad way to code like you
  • 00:07:54
    should not have magic numbers sprinkled
  • 00:07:55
    out throughout your codebase you should
  • 00:07:57
    at least have a centralized place for
  • 00:07:59
    configuration now granted I could ask AI
  • 00:08:02
    to refactor or remove all magic numbers
  • 00:08:04
    and just make it a little bit cleaner um
  • 00:08:07
    but you probably won't know to ask AI
  • 00:08:09
    that until you gain more experience so
  • 00:08:12
    some more things I would recommend with
  • 00:08:13
    AI is get good at asking it things such
  • 00:08:15
    as like can you refactor this code to
  • 00:08:17
    make it cleaner can you make it more
  • 00:08:18
    modular can you make it more abstract
  • 00:08:20
    can you make it more decoupled can you
  • 00:08:22
    make it more secure i think just asking
  • 00:08:24
    it to do things over your codebase along
  • 00:08:26
    the way is a very good approach um and
  • 00:08:29
    if you're a beginner I think you should
  • 00:08:30
    ask those questions and then review the
  • 00:08:32
    diffs right if you're using AI and if
  • 00:08:34
    you're a junior or trying to learn
  • 00:08:36
    review the diffs because again you don't
  • 00:08:38
    want to get caught up in a meeting and
  • 00:08:39
    they're asking you you know what is what
  • 00:08:41
    is this line doing how does this
  • 00:08:42
    actually work and you're like dude I
  • 00:08:44
    don't know i just I I don't actually
  • 00:08:46
    work i just you know let AI do my job i
  • 00:08:48
    just think it's going to look pretty bad
  • 00:08:50
    now let's talk about the quality of AI
  • 00:08:52
    because a lot of people say AI is
  • 00:08:53
    garbage it generates slop and from my
  • 00:08:56
    perspective it's that's true it can
  • 00:08:58
    generate a lot of slop and you have to
  • 00:09:00
    have a proactive approach to accepting
  • 00:09:03
    the things that it generates which is
  • 00:09:04
    why I'm kind of against vibe coding
  • 00:09:06
    although vi coding is great if you just
  • 00:09:08
    want to build out something standard
  • 00:09:09
    like one thing I think AI is really
  • 00:09:11
    great for if you're doing web
  • 00:09:12
    development it's almost like these
  • 00:09:14
    models have been specifically trained on
  • 00:09:15
    JavaScript and TypeScript and web
  • 00:09:17
    development maybe that's because there's
  • 00:09:19
    just a bunch more code out there it can
  • 00:09:20
    train with but when you try to ask it to
  • 00:09:22
    do 3D stuff and like 3D games it seems
  • 00:09:25
    like it struggles a little bit
  • 00:09:27
    and I just think that there's just less
  • 00:09:29
    demo repos out there i think there's
  • 00:09:31
    less examples that it can be trained to
  • 00:09:33
    kind of give you code examples from but
  • 00:09:36
    in terms of what I've seen it done like
  • 00:09:37
    I have done vibe coding on web
  • 00:09:39
    applications and if you can learn how to
  • 00:09:42
    give it the right amount of context it's
  • 00:09:45
    going to generate a decent amount of
  • 00:09:47
    code that works right i would say 90 to
  • 00:09:49
    80% of the time it works pretty well if
  • 00:09:51
    you provide it the context if you just
  • 00:09:53
    go in blind and like make a new chat
  • 00:09:54
    window and tell it to achieve something
  • 00:09:57
    usually it's not going to work that
  • 00:09:59
    great so some ways that you can make it
  • 00:10:01
    better is there's a cursor file if
  • 00:10:03
    you're using cursor you typically want
  • 00:10:05
    to give it rules so like you should have
  • 00:10:07
    a MD file that explains the architecture
  • 00:10:10
    of your system how do you have your API
  • 00:10:12
    set up like what layer of your codebase
  • 00:10:14
    is responsible for talking to your
  • 00:10:16
    database what layer is responsible for
  • 00:10:18
    your components like where does stuff
  • 00:10:20
    live in your codebase the less you give
  • 00:10:22
    AI the more bad code it's going to
  • 00:10:25
    generate so I would think you should
  • 00:10:27
    leverage the rules in cursor or whatever
  • 00:10:29
    AI system that you're using leverage
  • 00:10:31
    giving as much context as possible i
  • 00:10:33
    think rules are automatically injected
  • 00:10:35
    when you ask prompts but I mean you can
  • 00:10:37
    do the at symbol and you can actually
  • 00:10:38
    click and drag like folders into here
  • 00:10:40
    you can click and drag files you can
  • 00:10:42
    reference various other things and the
  • 00:10:45
    more you give it the better it typically
  • 00:10:47
    performs and also the more guardrails
  • 00:10:49
    you put up like let's say you only
  • 00:10:51
    wanted to modify this page then I would
  • 00:10:54
    probably make sure that your chat prompt
  • 00:10:56
    only has this as context and nothing
  • 00:10:58
    else otherwise AI might start touching
  • 00:11:00
    other files so in order to give AI the
  • 00:11:04
    context that makes it work the best you
  • 00:11:05
    have to understand your codebase for
  • 00:11:07
    example if you opened up this really
  • 00:11:09
    small you know project and then you
  • 00:11:12
    started asking AI to start implementing
  • 00:11:13
    features it's probably not going to
  • 00:11:15
    perform as well for you than it would
  • 00:11:17
    for me because I know the different
  • 00:11:20
    files I need to modify to achieve the
  • 00:11:23
    best results for example if I wanted to
  • 00:11:24
    modify my course content page that has
  • 00:11:26
    like this video player well then I'd
  • 00:11:29
    probably reference the layout that does
  • 00:11:32
    that okay I already know off the bat
  • 00:11:34
    what file is responsible for this and I
  • 00:11:37
    can just ask it to modify this file and
  • 00:11:40
    that helps guide AI and give you a lot
  • 00:11:43
    better results let me hide my face real
  • 00:11:45
    quick so here's an example prompt I
  • 00:11:46
    would do if I wanted to add a new
  • 00:11:49
    feature to this codebase that basically
  • 00:11:50
    added a button here and it did something
  • 00:11:53
    maybe it inserted some data in the back
  • 00:11:54
    end so I'd say modify this page to show
  • 00:11:57
    a YOLO
  • 00:11:59
    button so that when a user clicks it
  • 00:12:03
    it'll create a new record in my YOLO
  • 00:12:07
    table please create a YOLO table in
  • 00:12:11
    schema so I'm going to pass it the
  • 00:12:13
    schema file i'm also passing the
  • 00:12:15
    relevant file that should add the button
  • 00:12:17
    remember to use server functions
  • 00:12:21
    in data access layer and use case to
  • 00:12:26
    achieve it let's just try this out i'm
  • 00:12:28
    going to let it generate the code real
  • 00:12:29
    quick and we're going to kind of analyze
  • 00:12:31
    the code and what it's doing and see if
  • 00:12:33
    it's on the right path one thing I would
  • 00:12:34
    recommend doing is read through it as
  • 00:12:38
    it's coming through like just scan
  • 00:12:39
    through it there's been so many times
  • 00:12:42
    where like the first code example that
  • 00:12:43
    pops up is in a file that it should
  • 00:12:45
    never have touched and it's modifying
  • 00:12:47
    code in a way I would never have done
  • 00:12:49
    and when it starts doing that honestly
  • 00:12:50
    I'll just click stop here and I'll just
  • 00:12:52
    say you are doing the wrong thing and
  • 00:12:55
    I'll kind of correct it along the way
  • 00:12:57
    now if you have to do all this extra
  • 00:12:58
    handholding to get AI to be useful like
  • 00:13:01
    why would I still use it because
  • 00:13:04
    honestly having to type all this by hand
  • 00:13:06
    or tab completing it is still going to
  • 00:13:09
    be slower than just letting AI generate
  • 00:13:11
    hundreds if not thousands of lines of
  • 00:13:13
    code in a single prompt and that's the
  • 00:13:17
    main selling point is that now we don't
  • 00:13:18
    have to worry about being very efficient
  • 00:13:20
    at our idees and editing code and typing
  • 00:13:24
    you could be a terrible typist but you
  • 00:13:26
    could still build some amazing
  • 00:13:28
    applications so we're not limited by our
  • 00:13:30
    physical capabilities of typing on a
  • 00:13:32
    keyboard anymore we are limited by our
  • 00:13:35
    abilities to describe and communicate
  • 00:13:38
    what our needs are to the software AI
  • 00:13:41
    which again this is a skill that's going
  • 00:13:43
    to translate to your job right if you
  • 00:13:44
    can become good at communicating your
  • 00:13:46
    needs to not only your co-workers and
  • 00:13:48
    your managers or maybe even your you
  • 00:13:50
    your wife or your spouse like being good
  • 00:13:53
    at communicating and really describing
  • 00:13:55
    what you want is something that you're
  • 00:13:57
    going to learn the more you use AI and I
  • 00:14:00
    think you're going to shoot yourself in
  • 00:14:01
    the foot if you're not trying now to
  • 00:14:03
    understand how you need to talk to the
  • 00:14:06
    LLM because I found that there's a very
  • 00:14:08
    particular way that you need to talk to
  • 00:14:10
    the LLMs to make it more efficient and I
  • 00:14:12
    just don't think people actually
  • 00:14:13
    understand how to prompt very well with
  • 00:14:15
    so we got a new schema that was
  • 00:14:17
    generated we got a YOLO table okay and
  • 00:14:19
    it set up relations so again I'll kind
  • 00:14:20
    of skim through the code like it made a
  • 00:14:22
    new table um you should know how your OM
  • 00:14:24
    works you should know how your table
  • 00:14:26
    should be generated what columns should
  • 00:14:28
    be like what what are these serial
  • 00:14:30
    values versus like strings and
  • 00:14:31
    timestamps these are things that you as
  • 00:14:33
    an engineer need to understand okay
  • 00:14:35
    right here this actually put the DB YOLO
  • 00:14:37
    file in the wrong place so at this point
  • 00:14:40
    you might want to ask yourself is my
  • 00:14:42
    cursor rules are they set up wrong am I
  • 00:14:45
    not explaining enough in these rules of
  • 00:14:48
    where my data access layer needs to be
  • 00:14:51
    because right now it just put this in a
  • 00:14:53
    complete wrong directory this DB
  • 00:14:55
    directory is not for my actual like um
  • 00:14:58
    methods so at this point I'd probably
  • 00:15:00
    switch this to data access and there we
  • 00:15:02
    go i fixed that issue but what I'm
  • 00:15:04
    trying to show you is that the AI is
  • 00:15:05
    going to get stuff wrong but it's your
  • 00:15:06
    responsibility to go and remember okay I
  • 00:15:09
    need to tweak my rules and tweak my
  • 00:15:11
    context so this will not happen again in
  • 00:15:14
    the codebase that I'm looking at we look
  • 00:15:16
    at this file i would say that this put
  • 00:15:18
    this in the wrong location and then also
  • 00:15:20
    the layout this this is not the file I
  • 00:15:23
    wanted it to change so at this point you
  • 00:15:25
    didn't prompt correctly i'm going to
  • 00:15:26
    reject everything because I just don't
  • 00:15:28
    think I prompted it very well and I'm
  • 00:15:29
    going to try to start fresh okay we
  • 00:15:33
    instead are going to give
  • 00:15:36
    it the specific file that I want and
  • 00:15:40
    then I'm going to give it my data access
  • 00:15:43
    layer and my use cases so that it knows
  • 00:15:46
    what folders I'm talking
  • 00:15:48
    about okay so let's try prompting this
  • 00:15:51
    one more time i want you to add a YOLO
  • 00:15:54
    button to this index page at the top
  • 00:15:58
    near the other edit admin buttons okay
  • 00:16:01
    again I'm being specific i wanted to add
  • 00:16:03
    it here i want it to be to the left of
  • 00:16:04
    the edit segment so I should probably be
  • 00:16:06
    very specific so I'm going to say at the
  • 00:16:09
    top to the left of the edit
  • 00:16:12
    segment button i know my head's hiding
  • 00:16:15
    this let me change
  • 00:16:18
    this when a user clicks the
  • 00:16:21
    button invoke a server
  • 00:16:24
    function define it in
  • 00:16:27
    the the same layout file so I'll just do
  • 00:16:31
    this which should call a use case to
  • 00:16:36
    create a YOLO entry inside the
  • 00:16:41
    database that use case
  • 00:16:43
    should invoke a data access
  • 00:16:48
    method also update
  • 00:16:52
    schema to provide a new yellow table now
  • 00:16:57
    honestly I'd probably use voice to text
  • 00:16:58
    to get this working but let's just try
  • 00:17:00
    this one more time so let's see how much
  • 00:17:02
    better it gets when I gave it a little
  • 00:17:05
    bit more context about where I wanted my
  • 00:17:07
    stuff to live how I wanted it to create
  • 00:17:09
    it right i'm getting a little technical
  • 00:17:10
    here i'm telling it where to put the
  • 00:17:12
    server function i wanted to put it
  • 00:17:14
    inside this file okay so now let's look
  • 00:17:16
    through this so we have a YOLO table
  • 00:17:18
    that I got created it looks like it's
  • 00:17:20
    pretty good we have a YOLO data access
  • 00:17:23
    method that creates it this looks fine
  • 00:17:26
    uh it does have a little database error
  • 00:17:27
    so I'm not sure what's going on there
  • 00:17:28
    but like fixed typescript there we have
  • 00:17:30
    a use case okay so it created a use case
  • 00:17:33
    function in the correct location it used
  • 00:17:35
    the proper suffix on my files if we look
  • 00:17:38
    at this we now have a button here
  • 00:17:42
    um that looks like it's creating a YOLO
  • 00:17:44
    function which is calling my use case so
  • 00:17:46
    all this code looks perfectly fine this
  • 00:17:48
    code looks like it did a good job and if
  • 00:17:50
    I click it um it might crash because I
  • 00:17:52
    don't actually have like a my schema set
  • 00:17:54
    up um but at least the alert is popping
  • 00:17:57
    up for us okay okay so this worked a lot
  • 00:17:59
    better and I think the reason is because
  • 00:18:01
    I prompted it a lot better with a lot
  • 00:18:04
    more context again this all boils down
  • 00:18:06
    to the question of could I have done
  • 00:18:07
    this faster myself and honestly I would
  • 00:18:09
    probably still say no i still think that
  • 00:18:12
    modifying these four files putting all
  • 00:18:15
    the imports and making sure that the
  • 00:18:17
    code is in the right place and trying to
  • 00:18:18
    scroll through the code and figure out
  • 00:18:20
    the right place to put these things and
  • 00:18:22
    then double-checking that I didn't maybe
  • 00:18:24
    forget something or I did something
  • 00:18:25
    wrong and if I were to mistype something
  • 00:18:28
    that could add another step of me having
  • 00:18:30
    to debug my codebase because I typed in
  • 00:18:33
    the wrong character somewhere and now I
  • 00:18:34
    broke my codebase i would say that AI
  • 00:18:37
    for the most part if it does it correct
  • 00:18:40
    then you will save a lot more time and
  • 00:18:43
    the goal is to make it generate correct
  • 00:18:45
    output at a higher percentage most of
  • 00:18:48
    the time now I will say leave a comment
  • 00:18:50
    if there's certain strategies that you
  • 00:18:52
    have found when doing prompting to make
  • 00:18:54
    it be more accurate um like what what do
  • 00:18:58
    you do do you just use cursor rule files
  • 00:19:00
    do you just provide it a bunch of
  • 00:19:02
    context or do you just think that the
  • 00:19:04
    benefits that we're getting from this
  • 00:19:05
    just truly isn't as good as people think
  • 00:19:07
    it is so again like let's look at this
  • 00:19:09
    application and let's try to break down
  • 00:19:11
    like where I used AI to generate stuff
  • 00:19:14
    the layout of this I used AI to generate
  • 00:19:17
    most of the stuff you're seeing here I
  • 00:19:19
    used AI to generate again could I have
  • 00:19:20
    done it myself absolutely could I have
  • 00:19:22
    gone and found a third party React
  • 00:19:25
    component library that does this type of
  • 00:19:27
    layout for me sure could I have done
  • 00:19:30
    something where when I go to mobile like
  • 00:19:32
    it still creates a mobile navigation
  • 00:19:34
    menu that's the exact same probably but
  • 00:19:38
    would doing it myself have saved me
  • 00:19:41
    time probably not i think AI has made
  • 00:19:44
    this a lot faster like even all these
  • 00:19:45
    components that I added in here's
  • 00:19:47
    another thing i asked AI to add this
  • 00:19:49
    little hover effect this is something
  • 00:19:50
    I've seen done on other websites is this
  • 00:19:52
    something I could have done
  • 00:19:54
    myself probably but I would probably
  • 00:19:56
    still go to Stack Overflow and I go and
  • 00:19:58
    look up examples or I go on GitHub and
  • 00:20:00
    find examples and then I copy and paste
  • 00:20:02
    those examples into my codebase and then
  • 00:20:03
    I tweak them myself so at the end of the
  • 00:20:05
    day am I truly doing it myself without
  • 00:20:07
    assistance from you know the internet no
  • 00:20:11
    i'd probably still be looking for
  • 00:20:13
    example things now some people are good
  • 00:20:15
    enough where they understand all the
  • 00:20:16
    nuances of CSS and animations and
  • 00:20:19
    opacity and radials and stuff like that
  • 00:20:21
    that they could have easily done this
  • 00:20:23
    themselves but when it takes me 10
  • 00:20:25
    seconds to prompt AI and 5 seconds to
  • 00:20:28
    wait for it to add this hover style on
  • 00:20:30
    cards you really have to acknowledge the
  • 00:20:33
    fact that you're going to move faster
  • 00:20:35
    just using AI in certain situations now
  • 00:20:38
    I've been rambling for a while and I'm
  • 00:20:39
    going to give my opinions on it from an
  • 00:20:40
    engineer who's been doing this for a
  • 00:20:42
    while my
  • 00:20:43
    ultimate strategy right now is I
  • 00:20:46
    typically prompt AI first then I review
  • 00:20:49
    the code the prompts I give I will make
  • 00:20:51
    them as specific as possible to the
  • 00:20:54
    knowledge that I have of my codebase so
  • 00:20:56
    that I get good results and then I
  • 00:20:58
    review the code and accept it and then
  • 00:20:59
    I'll reprompt it to a certain amount of
  • 00:21:02
    times if I'm prompting this thing five
  • 00:21:03
    or six times and it keeps giving me bad
  • 00:21:07
    results to me that's a signal that
  • 00:21:09
    you're just not prompting it correctly
  • 00:21:11
    or you've encountered something that the
  • 00:21:12
    AI just cannot figure out the LLM just
  • 00:21:15
    cannot solve it and it might be more
  • 00:21:17
    beneficial for you to jump into the
  • 00:21:19
    files yourself and start doing tab
  • 00:21:21
    completions or start understanding so
  • 00:21:23
    you can get more context but even like I
  • 00:21:25
    said like I prompted AI maybe you know
  • 00:21:28
    10 or 15 times maybe even 20 times to
  • 00:21:30
    get this little 3D thing working and it
  • 00:21:33
    still is probably a significantly less
  • 00:21:36
    amount of time than if I were to try to
  • 00:21:38
    do this myself and learn the 3D spaces
  • 00:21:40
    again and learn the correct animations
  • 00:21:43
    to rotate the camera and stuff a lot of
  • 00:21:45
    work probably could go into this not
  • 00:21:47
    necessarily hard work it's just stuff
  • 00:21:48
    that I have to go back and relearn and
  • 00:21:51
    those are the strategies that I've been
  • 00:21:53
    taking but I do want to reiterate that
  • 00:21:54
    when people say AI generates slop I mean
  • 00:21:56
    this code it's pretty sloppy right so
  • 00:21:59
    you still have to come back with like a
  • 00:22:00
    fine tooth comb and tell it to refactor
  • 00:22:02
    and put things and get rid of magic
  • 00:22:04
    numbers and make it better i think you
  • 00:22:06
    can just keep on adding a lot of bad
  • 00:22:07
    code to your codebase if you don't have
  • 00:22:10
    someone with experience of maintaining
  • 00:22:13
    large code bases and making them
  • 00:22:14
    maintainable coming back and asking AI
  • 00:22:17
    to fix things in a certain way so my
  • 00:22:19
    ultimate opinion is yes you should be
  • 00:22:20
    using AI you should be learning how to
  • 00:22:23
    work with it you should be leveraging it
  • 00:22:25
    when you think it's going to make you
  • 00:22:26
    move faster but at the same time take
  • 00:22:29
    some time to understand what it's doing
  • 00:22:31
    in the code that it's generating it's
  • 00:22:33
    just going to make you a better engineer
  • 00:22:34
    in the long run and I don't think we're
  • 00:22:37
    at the point yet that AI is going to
  • 00:22:39
    take our jobs i think right now it's a
  • 00:22:41
    tool that can expedite your progress and
  • 00:22:44
    the people who know how to correctly
  • 00:22:45
    prompt and use AI to get results done I
  • 00:22:48
    think are just going to be put above
  • 00:22:51
    others who don't um and maybe that's
  • 00:22:53
    ultimately going to take jobs right
  • 00:22:54
    maybe that's ultimately going to cut
  • 00:22:56
    jobs away because now you have one
  • 00:22:57
    person who's able to ship multiple apps
  • 00:23:00
    and functionality at the same time
  • 00:23:01
    compared to other people trying to do it
  • 00:23:03
    manually they're going to fall behind if
  • 00:23:05
    you're watching my content and you trust
  • 00:23:07
    my advice again I would say especially
  • 00:23:11
    if you're in the web development space
  • 00:23:12
    you should probably use AI uh to help
  • 00:23:15
    you generate some of this stuff again
  • 00:23:17
    that's why I use cursor in all my videos
  • 00:23:18
    if I didn't think AI was this useful I
  • 00:23:21
    would not have two different cursor
  • 00:23:23
    subscriptions i have a subscription for
  • 00:23:25
    my personal laptop i have a subscription
  • 00:23:26
    for work that's how useful I feel cursor
  • 00:23:29
    has made me and maybe that's a
  • 00:23:31
    subjective feeling it's hard to
  • 00:23:33
    quantitatively measure how much faster
  • 00:23:35
    AI is making us like some people say
  • 00:23:37
    that it makes you a thousand times
  • 00:23:38
    faster or 100 times faster which in some
  • 00:23:41
    scenarios yes I have spent days i
  • 00:23:44
    remember being on a project we had eight
  • 00:23:46
    developers all trying to solve the same
  • 00:23:47
    bug and we spent two weeks together
  • 00:23:51
    looking through the codebase trying to
  • 00:23:52
    figure out what was causing this bug and
  • 00:23:55
    it boiled down to a single boolean that
  • 00:23:56
    we had this flip from false to true
  • 00:23:59
    somewhere in our codebase okay now could
  • 00:24:02
    AI have helped us find that bug faster
  • 00:24:05
    potentially and so there's scenarios
  • 00:24:07
    like that that I don't think we measure
  • 00:24:09
    where it takes a developer like a couple
  • 00:24:11
    of days or hours to debug something and
  • 00:24:14
    if AI can just throw you that bone and
  • 00:24:16
    help you like solve it faster these are
  • 00:24:18
    the things we're not measuring and I'll
  • 00:24:20
    say I have seen this multiple times you
  • 00:24:21
    using AI where I'm trying to do
  • 00:24:23
    something myself the you know the
  • 00:24:25
    classical way of programming i run into
  • 00:24:27
    a bug I cannot figure it out and I'll
  • 00:24:29
    sit there for 10 or 20 minutes just
  • 00:24:31
    trying to figure it out and then I
  • 00:24:33
    remember oh I have cursor let me just go
  • 00:24:34
    ahead and have cursor try to figure out
  • 00:24:36
    for me it does it in like 10 seconds and
  • 00:24:38
    I'm like "Okay I should have actually
  • 00:24:40
    leveraged cursor first to help me get
  • 00:24:42
    through this instead of wasting 20
  • 00:24:43
    minutes because those are 20 minutes
  • 00:24:44
    I'll never get back." Okay and I know
  • 00:24:47
    for a fact the bug I just solved is
  • 00:24:49
    something dumb it's some stupid typing
  • 00:24:51
    error a misspelling of something me
  • 00:24:53
    using some type of API incorrectly and
  • 00:24:56
    whether or not I solve the bug myself or
  • 00:24:58
    I let AI do it for me like I'm going to
  • 00:25:00
    read through the code and understand so
  • 00:25:02
    I don't do it again in the future
  • 00:25:03
    hopefully anyway I know I've been
  • 00:25:04
    rambling a while around this video um
  • 00:25:06
    and leave a comment if you feel like I
  • 00:25:08
    just ramble for too long but uh that's
  • 00:25:10
    about it have a good day
Tags
  • AI in coding
  • vibe coding
  • programming tools
  • Cursor
  • Copilot
  • code generation
  • developer efficiency
  • coding fundamentals
  • junior developers
  • AI ethics