[00:00] (0.16s)
So AI is here. Whether you like it or
[00:03] (3.52s)
not, it exists and it's surprisingly not
[00:05] (5.76s)
bad for programming. It's already
[00:07] (7.28s)
changing the way developers work. Some
[00:08] (8.88s)
are using AI as a productivity boost so
[00:10] (10.96s)
they can work on more complex tasks. And
[00:12] (12.80s)
others, like me, are uh yeah, and it's
[00:15] (15.36s)
only going to become more and more
[00:16] (16.64s)
common. Every week, it's something new.
[00:18] (18.48s)
Another AI startup, another language
[00:20] (20.32s)
model, another CEO announcing that
[00:22] (22.24s)
programming is dead. Or our favorite
[00:24] (24.96s)
influencers and indie hackers saying,
[00:26] (26.48s)
"Vibe coding is the future, bruh. I
[00:28] (28.64s)
can't even go to the bathroom to join my
[00:30] (30.24s)
snake without hearing about AI. Are you
[00:32] (32.24s)
done in there? What? Get out. I'll give
[00:34] (34.00s)
it some credit though. It does have a
[00:35] (35.60s)
lot of potential. Even with the current
[00:37] (37.12s)
limitations of AI, it does have the
[00:39] (39.12s)
potential to speed up work and companies
[00:40] (40.88s)
are starting to notice that because more
[00:42] (42.40s)
and more companies are embracing it.
[00:44] (44.16s)
Some a little too much if we're being
[00:45] (45.92s)
honest. Shopify CEO. And if you're a
[00:48] (48.48s)
developer, ignoring it really isn't an
[00:50] (50.64s)
option anymore. Unless you're working
[00:52] (52.08s)
for the government or you're working on
[00:53] (53.52s)
medical software, then um you're good
[00:55] (55.12s)
for a while. Because even if you don't
[00:57] (57.12s)
want to use it, the people around you
[00:59] (59.04s)
probably will or they're going to force
[01:00] (60.96s)
you to use it. So instead of ignoring it
[01:02] (62.96s)
or pretending it's not a big deal, I
[01:04] (64.88s)
want to show you how I'm using it to
[01:06] (66.40s)
code faster, learn quicker, and build
[01:08] (68.40s)
cooler stuff. And hopefully by the end
[01:10] (70.00s)
of this video, you'll become a smart
[01:11] (71.52s)
programmer who knows how to use AI. And
[01:13] (73.44s)
I'm also excited to say that Windinsurf
[01:15] (75.04s)
is sponsoring this video so I can
[01:16] (76.48s)
properly show you all the techniques.
[01:18] (78.00s)
This video is going to be a bit more
[01:19] (79.36s)
practical. So, if you get bored, why'd
[01:21] (81.12s)
you even click on this? Are AI tools
[01:23] (83.28s)
bad? Now, I get it. AI coding tools can
[01:26] (86.16s)
feel controversial. Are we cheating? Are
[01:28] (88.16s)
we making ourselves worse developers? Is
[01:30] (90.00s)
this actually going to replace it? No.
[01:31] (91.44s)
Just no. Well, not yet. You're not alone
[01:33] (93.52s)
if you've had these thoughts. But here's
[01:35] (95.04s)
where a lot of people get it wrong. For
[01:36] (96.56s)
some reason, they treat AI like an all
[01:38] (98.40s)
or nothing solution. Either they use it
[01:40] (100.16s)
for everything or they refuse to touch
[01:42] (102.00s)
it at all. But the truth is, you don't
[01:44] (104.00s)
have to fully rely on it. That's not the
[01:46] (106.32s)
goal for now, at least. Right now, the
[01:48] (108.16s)
goal is to understand how to work with
[01:49] (109.92s)
AI. Understand when it helps and when it
[01:52] (112.08s)
might be holding you back. Because let's
[01:53] (113.52s)
be honest, if you go allin on AI right
[01:55] (115.68s)
now, you're going to start running into
[01:57] (117.12s)
problems. Bad code, security
[01:58] (118.80s)
vulnerabilities, building entire apps
[02:00] (120.80s)
without having a clue how it works. Now,
[02:02] (122.64s)
the smartest developers are not using AI
[02:04] (124.96s)
to replace themselves. And they're also
[02:06] (126.96s)
not rejecting AI completely. They're
[02:08] (128.88s)
treating AI like an unpaid intern that
[02:10] (130.88s)
you can scream at with no consequences.
[02:12] (132.72s)
And they're also laying them off when
[02:14] (134.08s)
they aren't performing well. Nice. Now,
[02:15] (135.92s)
the best way I found to collaborate with
[02:17] (137.76s)
AI for programming is an AI code editor.
[02:20] (140.24s)
Now, even though I gave away part of my
[02:22] (142.00s)
soul for this video, the advice I'm
[02:23] (143.84s)
giving you is completely honest and
[02:25] (145.68s)
practical. Dude, stop lying. I'm not
[02:27] (147.76s)
lying. The three levels of AI. Okay.
[02:30] (150.00s)
Okay. So, when I use AI for programming,
[02:32] (152.24s)
I'm not handing over my entire
[02:33] (153.84s)
programming brain to the AI gods. I
[02:35] (155.92s)
actually use this stuff in a way that
[02:37] (157.60s)
doesn't make me feel like I'm becoming a
[02:39] (159.20s)
worse developer. I'm already bad as is.
[02:41] (161.04s)
I can't lose any more skill. Now, this
[02:42] (162.72s)
is the tricky part, right? AI is
[02:44] (164.56s)
convenient, but this convenience can
[02:46] (166.64s)
make you lazy if you're not careful.
[02:48] (168.48s)
Because look at it this way, if you keep
[02:50] (170.08s)
relying on AI, eventually you're going
[02:52] (172.16s)
to lose your most important skill as a
[02:53] (173.68s)
developer, the ability to think or solve
[02:55] (175.52s)
problems. Now, I personally don't mind
[02:57] (177.60s)
sacrificing some syntax knowledge. But
[02:59] (179.60s)
there's absolutely no way I'm
[03:01] (181.28s)
sacrificing my problem solving skills.
[03:03] (183.12s)
And because of that, I've started
[03:04] (184.32s)
thinking about using AI tools like a
[03:06] (186.24s)
tiered system. Depending on how familiar
[03:08] (188.08s)
I am with what I'm building, I've moved
[03:10] (190.00s)
between three levels of AI support. Let
[03:11] (191.92s)
me break it down for you. Level one is
[03:13] (193.52s)
the tutor. When I'm learning a new
[03:15] (195.44s)
framework, a new programming language,
[03:17] (197.12s)
or debugging something unfamiliar, or
[03:18] (198.96s)
I'm just having skill issues, I use AI
[03:21] (201.04s)
like a tutor. And when I'm on this
[03:22] (202.48s)
level, I like to do two things. Number
[03:24] (204.32s)
one, turn off autocomplete because I
[03:26] (206.08s)
won't remember the concepts if I'm
[03:27] (207.68s)
letting AI complete it for me. And since
[03:29] (209.28s)
I'm learning something new, by the time
[03:30] (210.80s)
I figure out what to type, AI would have
[03:32] (212.80s)
already solved it for me, and I'd lose
[03:34] (214.32s)
out on an important learning
[03:35] (215.60s)
opportunity. And the second thing we're
[03:37] (217.04s)
going to do is switch this to chat mode
[03:38] (218.72s)
because I don't want AI writing code for
[03:40] (220.32s)
me just yet. But we'll talk about how I
[03:42] (222.00s)
use these features soon. But this right
[03:43] (223.52s)
here is level one. I really love the
[03:45] (225.20s)
built-in chat features in AIDS like
[03:47] (227.12s)
Windsor because I don't have to switch
[03:48] (228.56s)
between my IDE and chatbt. It's just
[03:50] (230.80s)
right there. And it's better than just
[03:52] (232.24s)
talking to AIs like Chat GBT because
[03:54] (234.16s)
these code editors are trained with code
[03:56] (236.00s)
specific tasks and they let you
[03:57] (237.44s)
reference relevant information like your
[03:59] (239.04s)
functions or files. These features allow
[04:00] (240.72s)
the AI to give you more accurate and
[04:02] (242.40s)
helpful responses compared to if you
[04:04] (244.00s)
just ask normally. When I'm using AI as
[04:05] (245.92s)
a tutor, I usually ask it to do these
[04:07] (247.92s)
types of things. explain code and leave
[04:09] (249.68s)
comments, reference documentations, pull
[04:11] (251.92s)
any examples from the web, or just help
[04:13] (253.76s)
me understand something I haven't
[04:14] (254.96s)
touched in a while. For example, who
[04:16] (256.40s)
wrote this disgusting code? All right, I
[04:18] (258.64s)
did. Now, some other cool features I
[04:20] (260.32s)
really appreciate about Windsurf is
[04:22] (262.00s)
whenever you type in at right here, it
[04:23] (263.76s)
gives you all the options of what the
[04:25] (265.04s)
chat can reference. The cool thing is
[04:26] (266.48s)
that Windinsurf already has some
[04:27] (267.76s)
documentations here. So, you can just
[04:29] (269.28s)
select one of these and it'll just
[04:30] (270.64s)
search the docs themselves. But if they
[04:32] (272.40s)
don't have what you're looking for, you
[04:33] (273.68s)
can just copy and paste the link in the
[04:35] (275.12s)
chat and Windsurf will automatically
[04:36] (276.72s)
analyze the link and read through the
[04:38] (278.24s)
content. It's really convenient. And one
[04:39] (279.76s)
of my favorite things about the chat
[04:41] (281.04s)
that you'll definitely appreciate is
[04:42] (282.80s)
that this chat feature in Windsurf is
[04:44] (284.80s)
free. See, it's free. I told you you'd
[04:46] (286.88s)
love it. They're really generous
[04:48] (288.08s)
compared to other tools, which means if
[04:49] (289.68s)
you really think about it, you get an
[04:51] (291.20s)
unpaid intern. Isn't that great? Now,
[04:53] (293.12s)
one of the problems I have with the chat
[04:54] (294.64s)
is that sometimes it'll still give me
[04:56] (296.48s)
the answer. And this kind of ruins
[04:57] (297.84s)
problem solving because, you know, AI is
[05:00] (300.00s)
solving my problem. So, a cool thing I'm
[05:02] (302.00s)
doing, this combines a bit of prompt
[05:03] (303.44s)
engineering, is I create a folder called
[05:05] (305.84s)
docs, and you can honestly name it
[05:07] (307.52s)
whatever you want. And inside this
[05:08] (308.88s)
folder, I put a markdown file called
[05:10] (310.56s)
tutor. And inside the file, I paste in
[05:12] (312.72s)
this prompt. And this actually comes
[05:14] (314.08s)
from Windsurf themselves. They have a
[05:15] (315.92s)
collection of prompts and rules that you
[05:17] (317.36s)
can select. All you have to do is just
[05:18] (318.72s)
copy and paste them, and it'll start
[05:20] (320.32s)
working, which is really nice. I'll
[05:21] (321.84s)
leave that in the description, too. It
[05:23] (323.28s)
basically tells AI to act like a tutor
[05:25] (325.20s)
and research assistant, where the goal
[05:26] (326.72s)
is to help me improve in whatever I'm
[05:28] (328.40s)
learning. It should not give me any
[05:30] (330.16s)
answers unless I explicitly ask for it.
[05:32] (332.48s)
Otherwise, it'll respond with questions
[05:34] (334.24s)
to strengthen my understanding. So, when
[05:35] (335.92s)
I want to go into tutor mode, I just
[05:37] (337.44s)
tell the chat, "Hey, AI, use this tutor
[05:39] (339.52s)
file so you can teach me how to do this
[05:41] (341.28s)
project properly because I'm a little
[05:42] (342.80s)
slow in the head and I don't know what
[05:44] (344.08s)
I'm doing." And after that, AI is going
[05:45] (345.60s)
to ask me some questions to better
[05:47] (347.12s)
understand how stupid I am and what
[05:48] (348.72s)
exactly I'm building. And from then,
[05:50] (350.24s)
it's in tutor mode. Now, the reason why
[05:51] (351.84s)
I put this prompt inside a file instead
[05:53] (353.92s)
of making it the default behavior is
[05:55] (355.76s)
because I can toggle on and off tutor
[05:57] (357.60s)
mode this way. So, if I want tutor mode,
[05:59] (359.68s)
all I have to do is reference the file.
[06:01] (361.36s)
And if I don't want it, then I don't
[06:02] (362.64s)
reference it. And I get the default
[06:03] (363.92s)
behavior. I get the best of both worlds.
[06:05] (365.60s)
I like this because this prevents AI
[06:07] (367.44s)
from spoon feeding me all the
[06:08] (368.96s)
information and becomes a teacher that
[06:10] (370.56s)
only guides me to the right answer. It
[06:12] (372.32s)
doesn't give me the answer directly. I
[06:13] (373.68s)
still have to figure it out. Now, if you
[06:15] (375.04s)
want to learn more cool tricks and get
[06:16] (376.32s)
better at programming, then you're going
[06:17] (377.92s)
to have to subscribe to my free
[06:19] (379.28s)
newsletter, Sloth Bites. Sloth Bites has
[06:21] (381.60s)
the news. Soft bites as the tech with
[06:25] (385.84s)
every new bit. I'm
[06:31] (391.64s)
closer fight. I love
[06:40] (400.84s)
bites. God, I love that song. But
[06:43] (403.20s)
seriously, go subscribe to Sloth Bites.
[06:44] (404.80s)
It's free. Anyways, at this level, I'm
[06:46] (406.80s)
not sacrificing too much knowledge since
[06:48] (408.72s)
AI is teaching me everything without
[06:50] (410.80s)
doing any of the work. I'm still typing
[06:52] (412.48s)
out the code and problem solving. It's
[06:54] (414.16s)
really just saving me time for having to
[06:55] (415.84s)
look up things. Now, once I'm more
[06:57] (417.28s)
comfortable, I move on to the next
[06:58] (418.72s)
level, level two, the assistant. Now, if
[07:01] (421.36s)
I'm building something I'm more
[07:02] (422.72s)
comfortable with, or I've gotten a grasp
[07:04] (424.40s)
on what I was learning, I shift AI into
[07:06] (426.64s)
assistant mode. Now, this is primarily
[07:08] (428.32s)
autocomplete. So, let's turn these
[07:10] (430.08s)
things back on. I'll basically use it to
[07:12] (432.32s)
generate schemas, rename variables,
[07:14] (434.40s)
generate tests, fix dumb typos, leave
[07:16] (436.72s)
comments. Basically, all the tedious
[07:18] (438.56s)
boilerplate stuff that doesn't really
[07:20] (440.16s)
require brain power. Now, these aren't
[07:21] (441.68s)
things I can't do myself. I can. I
[07:23] (443.60s)
swear. I think. Duh. They're just things
[07:25] (445.60s)
I don't want to spend 30 minutes doing.
[07:27] (447.28s)
Look, I'll be honest with you.
[07:28] (448.32s)
Autocomplete can make you pretty lazy.
[07:30] (450.32s)
I'm not going to lie. You might develop
[07:31] (451.84s)
a habit when you're typing a line of
[07:33] (453.28s)
code and then you just pause because
[07:34] (454.80s)
you're too lazy to type it out. But for
[07:36] (456.64s)
situations like that, you already know
[07:38] (458.64s)
in your head what you were going to
[07:40] (460.16s)
type. So, I don't really see an issue
[07:41] (461.52s)
with it. Now, this could be a problem in
[07:43] (463.44s)
maybe an interview setting or for
[07:45] (465.28s)
school, depending on if they allow you
[07:46] (466.88s)
to use AI, then yeah, this might be a
[07:48] (468.72s)
little bit of an issue. So, if you know
[07:50] (470.00s)
you have a situation where you can't use
[07:51] (471.68s)
AI, I definitely recommend turning it
[07:54] (474.08s)
off. But if you can use autocomplete,
[07:55] (475.68s)
then please keep it on. It's great
[07:57] (477.84s)
because whenever you do use autocomplete
[07:59] (479.52s)
and you do that pause, you already know
[08:01] (481.44s)
what you were going to type. And if AI
[08:03] (483.12s)
gets it wrong once again, you already
[08:05] (485.36s)
know what you're going to type. So, just
[08:07] (487.60s)
change it. Now, if you're using
[08:08] (488.64s)
autocomplete and you don't understand
[08:10] (490.00s)
the code that it's generating, take a
[08:11] (491.60s)
step back and go back to level one. You
[08:13] (493.36s)
still need some tutoring, buddy. But
[08:14] (494.72s)
that's my opinion. It's up to you to
[08:16] (496.32s)
decide how much assistance you want from
[08:18] (498.08s)
AI. But I really like autocomplete. If I
[08:20] (500.72s)
had to pick my favorite feature, it
[08:22] (502.40s)
would be autocomplete because to me,
[08:24] (504.16s)
it's one of the greatest examples of AI
[08:26] (506.16s)
assistance, at least for programming.
[08:27] (507.76s)
When autocomplete works properly, it's
[08:29] (509.76s)
just beautiful. It makes you so much
[08:31] (511.52s)
more productive because it lets you
[08:33] (513.04s)
enter a flow state and you get to just
[08:34] (514.80s)
build the thing you always wanted to
[08:36] (516.40s)
build so much faster. It's
[08:39] (519.16s)
great. But besides that, my favorite
[08:41] (521.68s)
thing about autocomplete, and you're
[08:43] (523.12s)
going to love this, too, is once again,
[08:44] (524.88s)
it's free. Yeah, this is free, too. So,
[08:47] (527.36s)
not only can you chat with your unpaid
[08:49] (529.20s)
intern, but they can also autocomplete
[08:50] (530.88s)
code that you're too lazy to write. H
[08:52] (532.64s)
unpaid labor is great. As for the chat
[08:54] (534.64s)
mode, it's going to stay in chat mode,
[08:56] (536.32s)
but this time I'm not going to activate
[08:58] (538.00s)
tutor mode. This time, it'll just be a
[08:59] (539.92s)
regular assistant where I ask it
[09:01] (541.36s)
questions like, "Is there any ways to
[09:02] (542.80s)
improve the code? Is there any better
[09:04] (544.32s)
ways to organize it? Is there a
[09:05] (545.84s)
different way I can implement
[09:06] (546.80s)
something?" But it's still not going to
[09:08] (548.24s)
write code just yet. That's reserved for
[09:10] (550.80s)
level three, the agent. Now, Windserve
[09:13] (553.04s)
calls their agent Cascade. Pretty cool
[09:14] (554.72s)
name. Now, at this level, this happens
[09:16] (556.56s)
when I'm either stuck on something, I'm
[09:18] (558.56s)
tired, I'm lazy, I don't care about
[09:20] (560.32s)
this, I don't plan on learning it, I
[09:22] (562.00s)
just really need someone smarter than me
[09:23] (563.44s)
to do this. I'll throw in a screenshot
[09:25] (565.04s)
or some design notes, and I'll let the
[09:26] (566.72s)
agent do everything. And sometimes
[09:28] (568.24s)
Cascade hits me with something that's
[09:30] (570.00s)
genuinely helpful, moments where I
[09:31] (571.60s)
think, "Wow, I actually didn't think of
[09:33] (573.20s)
that." And other times, it can get a
[09:35] (575.76s)
little off track. It starts to become a
[09:37] (577.84s)
really overconfident intern. But that's
[09:40] (580.00s)
fine. You can just tell the AI that they
[09:41] (581.68s)
got it wrong and that they're the
[09:42] (582.96s)
stupidest thing on earth and it'll try
[09:44] (584.56s)
again and hopefully get it right. They
[09:46] (586.00s)
won't complain. They won't say anything.
[09:47] (587.68s)
They won't take you to HR. It's great.
[09:49] (589.36s)
Maybe AI is the future. Now, at this
[09:51] (591.28s)
level, I'm more of a manager. I'm not
[09:53] (593.04s)
really coding a lot, but it's still up
[09:55] (595.04s)
to me to review the code, tweak it, and
[09:57] (597.04s)
test everything. Now, of course, Cascade
[09:59] (599.12s)
isn't going to build your dream app by
[10:00] (600.72s)
itself. It still needs you to manage it,
[10:02] (602.56s)
and keep it on the right track. And it's
[10:04] (604.16s)
also up to you to notice if AI made any
[10:06] (606.56s)
mistakes. So, it's still very important
[10:08] (608.56s)
to understand programming concepts, but
[10:10] (610.56s)
I do think it's a great second brain
[10:12] (612.24s)
when you're trying to figure something
[10:13] (613.52s)
out or unblock yourself. Now, you can
[10:15] (615.28s)
also improve it even further using
[10:17] (617.28s)
memories, custom rules, or something
[10:19] (619.52s)
called MCPS, which are becoming very
[10:21] (621.44s)
popular. I might cover that in a future
[10:23] (623.20s)
video if you're interested. But the key
[10:24] (624.80s)
takeaway that I want you all to
[10:26] (626.24s)
understand, I don't use every feature
[10:28] (628.72s)
every time, but when I do need it, it's
[10:30] (630.96s)
there. If I don't need it, I can turn it
[10:32] (632.96s)
off. If I don't want autocomplete, turn
[10:34] (634.56s)
it off. The agent is optional. AI
[10:36] (636.72s)
doesn't have to replace your skills. At
[10:38] (638.56s)
the end of the day, AI tools aren't
[10:40] (640.32s)
going to magically turn you into a 10x
[10:42] (642.32s)
developer. Unless you have zero skills,
[10:43] (643.76s)
then great. But if AI can speed up your
[10:45] (645.76s)
work by something as small as 5% without
[10:48] (648.24s)
it making you a worse developer, I don't
[10:50] (650.00s)
see a reason not to use it. And they're
[10:51] (651.68s)
also not going to replace you. Well, not
[10:53] (653.68s)
yet. Right now, AI is just a tool. And
[10:56] (656.32s)
tools are only as smart as the person
[10:58] (658.24s)
using them. Experienced developers see
[11:00] (660.16s)
new tools all the time. And what do they
[11:01] (661.84s)
do? They just adapt to them. You still
[11:03] (663.52s)
have to know what you're building, why
[11:05] (665.20s)
it matters, and how to fix it when
[11:07] (667.12s)
things break. And that's why I like to
[11:08] (668.96s)
use AI for programming. Some days I need
[11:11] (671.12s)
a tutor. Other days, I just want someone
[11:13] (673.04s)
to type boilerplate for me. And
[11:14] (674.40s)
occasionally, I want my intern to write
[11:16] (676.24s)
all the code for me. The key thing is I
[11:18] (678.56s)
don't depend on it. But I'm not afraid
[11:20] (680.40s)
to use it when it helps me move faster
[11:22] (682.48s)
or think more clearly. Now, if you want
[11:24] (684.40s)
to try AI in a more thoughtful, less
[11:26] (686.88s)
hypy way, I genuinely think WinSurf is a
[11:29] (689.60s)
great place to start. The UI is
[11:31] (691.28s)
straightforward. Everything is laid out
[11:32] (692.88s)
nicely. You can toggle things on and
[11:34] (694.48s)
off. You don't have to use the features.
[11:36] (696.24s)
A lot of the features are um free, like
[11:38] (698.00s)
the chat feature and the autocomplete
[11:39] (699.52s)
feature. It's amazing. I can't believe
[11:40] (700.96s)
how generous they are. And if there's
[11:42] (702.40s)
one thing you need to remember from this
[11:43] (703.76s)
video is check out my newsletter, Sloth
[11:45] (705.84s)
Bites. Okay, bye.