Going to the gym and learning to code are
very similar? Most people quit them for the exact same reasons. I know this because I have quit both of them
multiple times in my life. Before picking my courses in college, I would
ask myself one question every single time. And that was, does this course require Coding? And if it did, I would just stay away from
the course. That’s because after doing my first mandatory
course in programming, I realized that Coding is not my cup of tea and I quit programming. But as they say, when you try really hard
to run away from something, it comes back to bite
you in the ass. Fast forward five years. I was unemployed after graduation and I had
to learn programming to get a job. Now, I work as a Software Engineer in Google. How did I go from someone who is scared of
programming to someone who knows enough coding to work as a Software Engineer? The answer is very simple. As the famous investor Charlie Munger constantly
says. Though I didn’t know how to learn coding
at the time, I just found a way to not fail at programming. By the end of this video, you will also know
all the mistakes you need to avoid to not fail at learning programming. Imagine it’s your first day at the gym,
I make you lift more than what you can handle. You’ll be out of the gym before you even
begin.The same is true about coding. If you start learning Javascript, React,
C, C++ all at once, you will surely quit programming before even you start your career. In my video on “How Youtube ruined my career”,
I briefly touched upon this topic already. In my early days of learning coding, I used
to refer to many people on Youtube and they would suggest different things to learn. As a result, I was learning Web development,
Machine Learning and Android Development all at once. By doing that, I could not master any one
of them. So, when I applied for jobs and the employers
tested me on my skills, I could not even get past the phone screen round. It’s only when I started focusing on one
skill, which was Java in my case, that I started getting offers. Overlearning along with the Law of Correspondence
, which we will discuss later in the video, are one of the biggest reasons why most self taught
programmers fail. So, understand your limitations and don’t
bite more than you can chew . Now imagine you go for a workout regularly
but you use the machines all wrong? This usually happens when people don’t do
their due research before picking their workout. One of the 2 things will happen if you do
this. Either you injure yourself or you will see
no progress. In the programming world, this is similar to learning
a new technology without doing your research. I see so many comments on my videos where
people want to learn Python for front-end development. Yes, there are some frameworks that can help
you use Python for front end development. But are there any well known companies that actually use
Python for the front end? None that I know of. Research and strategizing are important
not only to learn coding, but anything in life for that matter. Let me give you a recent example from my own
life where strategizing really helped me. If you check our Youtube channel, you’ll see that we posted our first video on January 1st of this year. Before posting our very first video, we spent
4 months trying to figure out what works and what doesn’t work on Youtube. That involved listening to people who have
actually made it big on Youtube and watching a lot of their videos to figure out why they
are so successful. And as a result, we hit 100,000 subscribers
on Youtube within 6 months. And that's all because of you. We are overwhelmed with all the love you have given us and we will continue to provide value for your time. Moving on, when it comes to strategizing for
learning coding, you need to answer 2 main questions. What should you learn and how would you learn
it efficiently? So, before you aimlessly start watching that
tutorial, write down What technology you want to learn and Why? Whys you write should be practical and should come from your own research. After that, write down all the resources you would use to learn this technology. Spend some time here because if you do this
step right, you can save months when you actually start learning. If you’re learning Python or Java, you can
use some of my videos that will provide you with all the free resources you need. Another reason people fail to learn programming
is because they click too many pictures. Let me explain what I mean by that. Imagine that you are a newbie in the gym and
every single day, you click a picture to see your progress. What do you think will happen? You’ll see no progress and you will get demotivated. After a while, you will start blaming your metabolism or genes or whatever and stop going to the gym. The same is true about Coding. If you click too many mental pictures of yourself
to track your progress as a programmer, you will quickly get demotivated and quit. That’s because to master any new skill,
you need to give it time. Humans have this tendency of overestimating
what they can achieve in the short term and underestimating what they can achieve in the
long term. If you're a beginner and I ask you how good
of a programmer you would be in 6 months from now, most of you will not reach the level
that you think you can in 6 months. But if I ask you where you would be in 3-4
years from now, many of you would be working at top tech companies or maybe have their own
companies. So, stop questioning your abilities by taking
these daily snapshots of yourself. Pick a well researched path, stick to it and
I guarantee you will reach somewhere great in the end. Another reason why many self taught programmers
fail is because they focus on Gaps instead of Gains. I have taken this idea from this amazing book
and let me explain what it means. Imagine you go to the gym regularly but you
constantly compare yourself regularly to the Gym bros. You’ll surely feel demotivated and
soon you will quit. That’s because you are focusing on the Gap
which is the difference between where you want to be and where are. Instead, if you focused on your Gains, which
is the difference between where you were and where you have reached, you would be in a
much better state of mind to succeed. If I had to share my personal experience,
I went to a very well known college back in India. And many of my classmates have done much better than me in life. One of them is even a cofounder at a company that is valued more than half a billion dollars. If I start comparing myself to them, I would
not be able to make these Youtube videos for you. But, I choose to focus on my own path and keep
adding value in whatever small way I can. So, stop comparing yourself to that friend
who has cracked some big name company and focus on your daily practice, your own progress
and your own journey. If you ask people how they are able to go
to gym regularly, many people would tell you that it’s because they have a gym buddy. Gym buddies do two things for you. One, They spot you in exercises if the
weight becomes too heavy for you. Two, on days it’s raining outside and you're
feeling lazy to go to gym, gym buddies hold you accountable and make sure you don’t
miss your workout. Another reason why many people fail to learn
coding is because they try to do it all alone. Programmers also need “Coding buddies''
for their Coding workouts. When understanding tough concepts becomes
hard for you, coding buddies step in to spot you and help clear your doubts. And on the days you have to choose between
going to a party or leaving your coding exercise unfinished, Coding buddies make sure you don’t
falter and stay on track. So, find some friends who can support you
in your coding journey and learn from each other. One more reason why people fail at Coding
is because they don’t understand the “Law of Correspondence”. According to this law, your circumstances
are a mirror of your inner being. In other words, what happens around us is
a direct reflection of what is happening within us. But how does it apply to programming? It’s very simple. If you want to learn programming, you have
to behave like a programmer. Programming at its core is nothing but problem
solving. And How do programmers solve problems? Mostly by reading code, its documentation
and then applying their learnings to the problem. During the last 15 months that I have spent
at Google, I have read at least 10 times more code than I have written. But most beginners never take time to read
code and documentation. I understand that at the beginning, you need some
hand holding. So, watching tutorials and copying what others
are doing is fine. But at some point, you have to break free
and start building your own projects. Once you start doing that, you will never
look back. The most common reason why self taught programmers
fail is because they don’t know how good they are. You see, it’s very easy to look at others who
are doing great in their programming careers and think that you are not as good as them. That’s what I felt when I was getting rejected
by pretty much every company that I interviewed for. In reality, all these other people were in
the exact same situation as you when they started out. Trust me when I say this, that person that
you look up to and aspire to be like is just you in the future. So, don’t give up just yet. Last reason why people fail to learn programming is because they watch a lot of bad content on Youtube. If you want to know how Youtube ruined my career, you can watch this video at the top. My name is Sahil and I will see you in the next one.