What's up, guys?
Antonio here.
Let me explain what is happening.
Here's a diagram that shows you how your confidence works as you are learning to program.
The first stage on the left is the handholding honeymoon phase.
You know how this works.
It's when you just start out, you're pumped up and you have all the motivation.
You watch some easy tutorials and they're a piece of cake.
In fact, I'm doing this right now at my job, I'm learning some new stuff.
"Who told you that Python would be so hard?
They were stupid.
That shit's easy, bro."
As you view a few more tutorials, you'll start to feel even more competent, even more motivated.
And, at this stage starts to make you feel like you're making progress.
And that's where it gets tricky.
It's only a feeling.
But then, you take a leap from that stage, and you start working on something that is
not directly solved by the tutorial, meaning a feature that you haven't yet done yet, nothing
exactly like the tutorial and all of a sudden you realize, "Fuck, I know nothing."
Now, this is the stage known as the desert of despair.
This is when you forget why you started, and all that knowledge that seems so easy that
you learned in tutorials just is in one ear and out the other, and you have no idea where
it went.
All of that motivation seems to just like literally go away, like you can't find it
even if you try it.
Now, this is the area where most of you get discouraged and give up, but this is where
you must apply the principles that I'm going to teach you so you don't get caught and give
up.
That next stage is called the upswing of awesome, and all you need to do is hold yourself over
with motivation to get to that stage.
We need to get you from desert of despair to the upswing of awesome.
This way, you can actually become the programmer that you want to become.
This is where we've lost so many people that had the potential to become amazing programmers
simply because they didn't push through.
I was once at this stage, and I have fallen down at this stage multiple times, but I figured
out how to push through.
So, our goal is to get you to the point where you are making visible progress and actually
can see the progress, and that will feed into more motivation to keep learning.
So, here are the two things that you can do to reduce your frustration and help you stay
motivated.
First thing is understand why you started programming to begin with.
Now, this can be done by asking yourself a series of questions.
First, why do I want to learn this programming language?
Two, why does this programming language matter to me?
Three, how does learning this programming language impact my life and my career as a
developer?
Four, how does learning this programming language impact the life of my friends, my family,
and my coworkers?
Five, is learning this programming language, preventing something bad from happening in
my life?
Six, what do I fear if I do not accomplish learning this programming language?
Now, what I want you to do is type up the answers to these questions, or write them
out, whatever's easier for you.
Put them on a piece of paper where you can see them regularly.
When you remember why you started, and it might be to get an entry level job or it might
be to become a senior developer or it might be to learn a brand new programming language
again to a new type of program.
When you start, it's often easy to remember why you started, because you literally decided
to start right after you figured out why you were going to, so it's fresh in your mind.
But after a few days, after a few weeks, and especially with the lack of motivation you
get from learning because you're not making progress, this is where most of you will drop.
This is where most of you will fail.
So, if we can constantly remind ourselves of why we're doing something ... now, I'm
not talking to surface level, I'm talking deep passionate reasons why you are learning
Rust, or why you are learning Go, or why you are learning programming in general, or web
development, or VR, whatever it is.
For me.
I do this with my other goals that keep me focused on.
Now, the second thing I can give you to help you get motivation or stay motivated while
you've lost it when learning to code is to break it down.
When you are learning something new, it is so damn easy to literally just look at the
problem, be overwhelmed, frustrated, and have no idea how you can actually solve it.
Especially when you're learning alone, it's so difficult to see above where you're at,
to see that it's possible to be further than where you are.
Being stuck in this stress and overwhelm then emotional environment is not good.
We need to get ourselves back to a logical state so we can simply solve the problem ahead
of us, right?
That's what programmers are for.
Unfortunately, as programmers, sometimes we aren't good at solving our emotional issues.
So, when I instantly notice that I'm feeling the frustration or anxiety or overwhelm or
lack of motivation, I know that I need to break the problem down and make it clear as
possible.
You need to be clear on what and why you are doing something.
That is always the first step.
Because if you aren't, those emotions will come along of overwhelm and frustration, and
you won't know what to do.
Even if you have been programming for 20 years, breaking it down to the line level, meaning
as low as one line.
What do I need this one line of code to do?
That can literally change everything for you.
Most people will try to look at it at the function level or the app level or the class
level.
Do not look at it that high.
Instead, get lower, get deeper into the weeds, and solve each little bite piece by piece.
Find out which lines are causing the exact problems, and fix them.
With these two things, hopefully, with the lack of progress you're feeling in terms of
learning, you will be able to at least remember why you started and break down the problem,
so you can get to that stage of upswing of awesome where you're actually learning and
making progress on your own.
And I promise you that stage is not that far away.
You just need to keep going.
Make sure that you consistently apply these two principles by remembering your whys every
single morning and night, and making sure that you break down the problems you're facing
so it's so clear what you need to do, and all that's left is code.
All that's left.
Remember, is videos just a waste unless if you do something.
Get off of YouTube and start doing this.
Start solving that problem, becoming the Rust programmer you wanted to become, or the Node
programmer you wanted to become.
Okay?
Don't hold yourself back by getting stuck in all this information.
Instead, go do it.
I will catch you guys in the next one.
Comment below.
I'd love to talk to all of you and help you with any problems you might have.