00:00:00
learning to code is a difficult and at
00:00:02
times overwhelming Journey it feels like
00:00:04
there are a billion things you need to
00:00:06
learn and the minute you feel like
00:00:07
you've actually mastered something it
00:00:09
becomes outdated there were times when I
00:00:11
even questioned if coding really was for
00:00:13
me because there were Concepts that took
00:00:16
so long to grasp it's as if everyone
00:00:18
else had this intuition for programming
00:00:20
that I didn't have but as it turns out I
00:00:22
was making the process a lot harder than
00:00:25
it really needed to be my name is
00:00:27
Catherine and I have nearly 9 years of
00:00:28
working as a software developer and in
00:00:30
this video I want to share with you some
00:00:32
of the mistakes that I made when I was
00:00:33
learning to code so that maybe you can
00:00:35
avoid these pitfalls and learn a lot
00:00:37
more efficiently with web development in
00:00:39
particular there's always a hot new text
00:00:42
stack or framework and the options are
00:00:44
endless everyone's always asking what
00:00:46
they should be learning and which skills
00:00:48
are going to have the highest Roi
00:00:51
personally if I were to start to learn
00:00:52
to code again I wouldn't be spending all
00:00:55
that time stressing about what the best
00:00:57
framework to learn is I was reading this
00:00:59
book by by Morgan howel called same as
00:01:02
ever and the basic premise is that the
00:01:04
only constant in life is change and
00:01:07
change is virtually impossible to
00:01:09
predict despite what people on YouTube
00:01:11
will say this is essentially the case
00:01:14
when it comes to web development we have
00:01:16
no idea which Frameworks are going to be
00:01:19
popular in the future no one truly knows
00:01:22
what kind of impact AI is going to have
00:01:24
in the next decade there's people that
00:01:26
say AI is going to take all software
00:01:28
developer jobs within the next 5 years
00:01:30
and people saying that there's no way
00:01:32
it's going to happen in our lifetime and
00:01:34
both sides sound equally confident that
00:01:37
being said there are computer science
00:01:39
and programming Concepts that will
00:01:42
almost always be useful regardless if
00:01:45
you're going for interviews or you
00:01:47
you're using them for a job or both
00:01:50
these fundamental transferable skills
00:01:52
will give you the most bang for your
00:01:54
buck if you master these Concepts it
00:01:57
doesn't matter as much which framework
00:01:59
is trending and which one is going out
00:02:01
of style because you're going to be able
00:02:02
to pick them up a lot faster not to
00:02:05
mention the work becomes a lot more
00:02:08
rewarding when you actually understand
00:02:10
what the heck you're doing Concepts like
00:02:13
data structures and algorithms systems
00:02:15
design writing good tests design
00:02:18
patterns they're always going to be
00:02:20
useful regardless of what's trending
00:02:23
because those skills are transferable
00:02:25
this is a hot take but even if you learn
00:02:28
a dying language or framework if you
00:02:31
master the underlying Concepts it's not
00:02:33
necessarily a waste of time for example
00:02:36
one of the first languages that I
00:02:38
learned was PHP and you can laugh all
00:02:40
you want but one it was very beginner
00:02:43
friendly so it helped me stay motivated
00:02:45
and two it helped me learn other
00:02:48
objectoriented programming languages
00:02:50
down the line like Java and Ruby the
00:02:53
next point I want to make is that
00:02:55
everyone learns differently imagine
00:02:57
you're learning JavaScript and you see
00:02:59
this the promised object represents the
00:03:02
eventual completion or failure of an
00:03:04
asynchronous operation and its resulting
00:03:08
value phew this can look intimidatingly
00:03:12
complex and discouraging to someone new
00:03:15
to JavaScript to this day I'm still
00:03:17
intimidated when I read API
00:03:20
documentation and there's so much
00:03:22
technical jargon that I don't understand
00:03:24
some people learn really well by
00:03:26
skimming online or reading and I now
00:03:30
know that I learn best through watching
00:03:32
videos and going through examples so if
00:03:35
you're like me and you don't understand
00:03:36
things you read right away don't
00:03:39
immediately jump to the conclusion that
00:03:41
programming is too hard or you're not
00:03:42
smart enough to understand it as soon as
00:03:45
I watched a few YouTube videos on
00:03:47
JavaScript promises I couldn't believe
00:03:50
how simple the concept really was so
00:03:52
before you start telling yourself these
00:03:54
stories about how you can't understand
00:03:57
programming Concepts keep in mind that
00:04:00
both the medium and the quality of the
00:04:03
instruction plays a massive role in
00:04:06
whether or not you learn something
00:04:08
there's nothing wrong with watching a
00:04:10
series or two if you're just starting to
00:04:12
learn a new framework or a new language
00:04:15
but passively watching or reading
00:04:18
information is actually one of the most
00:04:20
inefficient ways to learn and retain
00:04:22
information tutorials will teach you the
00:04:25
information and the syntax but if you
00:04:28
really want the information to solidify
00:04:31
and you want to understand and think
00:04:33
like an engineer you need to find ways
00:04:36
to apply these Concepts to your own
00:04:38
projects or real world applications I
00:04:41
came to this realization when I was
00:04:43
watching a series on react hooks I
00:04:46
remember finishing the entire series and
00:04:48
I feel like I understood everything that
00:04:50
was said in the videos but as soon as I
00:04:52
started trying to work on an actual
00:04:56
react project I was like a deer in
00:04:59
headlights
00:05:00
while I understood the syntax on a
00:05:03
surface level I didn't always recognize
00:05:06
when were the best times to use them and
00:05:09
what were the downsides of using a
00:05:11
certain react hook I only knew how to
00:05:15
apply them in the very narrow context of
00:05:17
that particular tutorial that I watched
00:05:20
It's only after I got a lot of practice
00:05:22
implementing them in different scenarios
00:05:24
with different types of real world data
00:05:27
did I start to recognize patterns and
00:05:28
see when I should be using a certain
00:05:31
hook like use effect or use context
00:05:33
these are obviously just examples but
00:05:35
you get what I mean here's why so many
00:05:38
of us fall into this tutorial hell it's
00:05:41
because it's easy it's comfortable
00:05:43
you're watching someone else code and
00:05:45
you follow along by typing exactly what
00:05:47
they're typing on screen you barely even
00:05:49
need to think and there isn't really
00:05:51
much of a risk of failure failure
00:05:54
threatens our ego and it feels bad and
00:05:56
so we do everything in our power to
00:05:58
avoid it in the short term this feels
00:06:02
really good we get a dopamine hit
00:06:04
because we feel like we learned a bunch
00:06:05
of new syntax and we are deluded into
00:06:08
thinking that we learned a lot more than
00:06:10
we actually did what worked for me is
00:06:13
watching One tutorial series on a
00:06:15
language or a framework that I'm trying
00:06:17
to learn and as I'm watching it I test
00:06:20
myself on what I've learned the day
00:06:22
before and I actively try to apply it to
00:06:25
a project that I'm working on so stop
00:06:28
preparing to code and just start instead
00:06:31
of just watching tutorials try something
00:06:33
that's a little bit more Hands-On and
00:06:35
that's why today's sponsor brilliant is
00:06:38
the perfect way to start learning new
00:06:39
courses and skills in only 15 minutes a
00:06:42
day I've been using brilliant on my own
00:06:44
to learn new skills and to freshen up my
00:06:46
knowledge on topics that I was taught in
00:06:48
the past and I find their learning
00:06:50
approach much more useful because of
00:06:52
their guides and the ability to see my
00:06:54
code in action just recently I finished
00:06:57
their updated course on how large
00:06:58
language model work which helped me
00:07:00
answer some questions that I had on llms
00:07:03
and also to satisfy my own curiosity of
00:07:06
wanting to know more about llms that are
00:07:08
everywhere these days the way that I can
00:07:10
easily change a slider or two and see
00:07:12
different results in real time really
00:07:15
helped me grasp the fundamental concepts
00:07:17
and I definitely feel like I have a
00:07:19
better understanding of llms if you
00:07:21
enjoy learning new skills have 15
00:07:23
minutes a day to spend learning anywhere
00:07:25
and on the go I would recommend signing
00:07:28
up for brilliant for free for a full 30
00:07:31
days using brilliant.org cine Lee or by
00:07:35
scanning the QR code on screen or you
00:07:38
can click on the link in the description
00:07:40
you'll also get 20% off an annual
00:07:42
premium subscription one of the worst
00:07:44
feelings in the world is when you're
00:07:47
sitting in class and the instructor asks
00:07:49
a really challenging question that you
00:07:51
have no clue as to what the answer is to
00:07:53
make matters worse there's a bunch of
00:07:55
students that appear to grasp the
00:07:57
concept right away and seem to possess
00:08:00
this intuition that you lack it's even
00:08:02
worse when this happens at work there's
00:08:05
been countless times where I'd be
00:08:07
banging my head against a wall for hours
00:08:10
and i' finally have the courage to ask
00:08:11
another engineer to take a look at it
00:08:13
and they figure it out within minutes
00:08:15
you start thinking to yourself and
00:08:17
questioning yourself am I not cut out
00:08:19
for this why are they so much smarter
00:08:20
than me I am too dumb for this career
00:08:22
let me just assure you right away that
00:08:24
everyone feels this way at one point or
00:08:27
another I feel like this on a weekly
00:08:29
basis
00:08:30
and there's a reason why impostor
00:08:32
syndrome is so rampant among software
00:08:35
Engineers I've actually been on the
00:08:37
other side of this scenario as well when
00:08:39
I was helping a junior engineer after I
00:08:42
helped them solve their problem they
00:08:44
asked me how I fixed an issue fairly
00:08:46
quickly that they've been dealing with
00:08:48
for nearly an hour and the reason is
00:08:50
simple I've seen that bug happen before
00:08:52
several times it was simply the case
00:08:54
that I've experienced this before not
00:08:57
that I was more talented or in
00:08:59
intelligent people mistake lack of
00:09:02
experience with a lack of intelligence
00:09:04
all the time but the two could not be
00:09:07
more different if you really struggle
00:09:10
with impostor syndrome like I do I
00:09:13
highly recommend you check out the book
00:09:15
growth mindset by Carol dck it's only
00:09:18
after I internalized the belief that
00:09:20
programming is simply a group of skills
00:09:23
that I and anybody can get better at
00:09:26
with enough time and effort and there's
00:09:29
nothing magical about it that I became
00:09:32
much more empowered to tackle the
00:09:34
challenges and try new things I noticed
00:09:36
a common denominator among the best
00:09:39
software developers I've worked with and
00:09:41
that is their High frustration tolerance
00:09:44
from the outset they accept that things
00:09:47
might go wrong it won't work right away
00:09:49
and that is okay in fact it might even
00:09:51
be good because it means that they're
00:09:53
learning something new the best
00:09:55
Engineers that I worked with have all
00:09:57
had so much grit and they're willing to
00:10:00
tolerate uncertainty and dive into an
00:10:03
area that they are not familiar with and
00:10:06
they're willing to struggle with
00:10:08
problems without getting too frustrated
00:10:11
or giving up everyone goes through this
00:10:14
and the ability to regulate your
00:10:16
emotions when these frustrations come up
00:10:19
is a critical skill rather than seeing
00:10:22
unexpected problems as obstacles the
00:10:25
best Engineers understand that it's
00:10:27
simply a part of the job they factor in
00:10:30
time for dealing with unexpected issues
00:10:33
when estimating scope for a particular
00:10:35
feature when I started coding I remember
00:10:38
I would get so frustrated when I was
00:10:40
working on a project and all of a sudden
00:10:43
git doesn't work as expected the API
00:10:45
suddenly change the server won't start
00:10:48
or some other nonsense one of the best
00:10:51
mindset hacks that I've adopted that's
00:10:53
made learning programming a little less
00:10:55
stressful is accepting that it is going
00:10:59
to be difficult the fact that learning
00:11:01
to code is difficult and not a lot of
00:11:05
people are willing to tolerate this kind
00:11:07
of difficulty is one of the reasons why
00:11:10
Tech salaries are so high it's what
00:11:13
makes learning to code so valuable in
00:11:15
fact these days if I'm working on a
00:11:17
project or doing a job where there is
00:11:21
absolutely no discomfort or failure I
00:11:24
might actually see that as a sign that
00:11:26
I'm not challenging myself enough a lot
00:11:28
of you are going to sleep on this one
00:11:29
but in my opinion this is one of the
00:11:31
most underrated hacks Ali abdal has said
00:11:34
that an hour in the morning is worth two
00:11:36
after 3: p.m. I would even go as far as
00:11:39
saying that an hour of uninterrupted
00:11:42
deep work after a full night AR rest and
00:11:44
some extracise is worth 2 3 four times
00:11:48
an hour after 3:00 p.m. just think about
00:11:50
how productive you are the first hour of
00:11:53
coding versus the fourth fifth 6th after
00:11:57
all programming is very much a cognitive
00:11:59
ly demanding task and it's not like
00:12:01
folding laundry where your level of
00:12:04
output remains pretty steady over time
00:12:07
rather than trying to brute force your
00:12:09
way to productivity by coding for 12
00:12:11
hours a day a more effective strategy
00:12:14
could just simply to focus uninterrupted
00:12:17
for 4 to 6 hours and spend the rest of
00:12:19
the time recharging getting some sleep
00:12:21
and exercise so that you can increase
00:12:24
the quality and leverage of those hours
00:12:27
Cal Newport who's written some of my
00:12:28
favorite books has said that people can
00:12:31
only deep work for up to 4 hours a day
00:12:35
now I don't know where he got that exact
00:12:37
figure from but personally I find that 4
00:12:40
to 5 hours of deep focus on a really
00:12:43
mentally intensive task seems to be the
00:12:46
upper limit for me as well by using the
00:12:48
rest of the time to recharge and sleep
00:12:51
or even just do less mentally
00:12:54
challenging work like answering emails
00:12:56
or going to meetings you can
00:12:58
dramatically improve how productive you
00:13:01
are during those critical 4 to 6 hours
00:13:04
not to mention being in the flow for 4
00:13:07
to 6 hours and having time to actually
00:13:09
live your life outside of work is so
00:13:12
much more sustainable and enjoyable than
00:13:14
trying to grind for 12 hours a day
00:13:17
there's a ton of evidence out there that
00:13:18
says even a little bit of exercise
00:13:20
increases your ability to learn speaking
00:13:23
from personal experience if I'm stressed
00:13:25
out over a bug just going outside
00:13:27
briefly for a walk or a run immediately
00:13:30
makes me more relaxed and ready to
00:13:32
tackle the problem once I get back to it
00:13:34
if you can't do that sometimes just even
00:13:36
leaving the problem alone for a period
00:13:38
of time and coming back to it will give
00:13:40
you a fresh perspective and new ideas on
00:13:42
how to solve it if you found this video
00:13:44
helpful I recently did another video
00:13:46
that's pretty similar on my biggest
00:13:48
regrets in my career so go check that
00:13:50
one out and I will see you over there
00:13:53
bye
00:13:55
[Music]
00:13:59
oh
00:14:02
[Music]