How I taught myself to code
Summary
TLDRIn this video, the speaker shares his journey of self-teaching coding from scratch while working at a warehouse. He emphasizes the importance of adopting a growth mindset, as opposed to a fixed one, to overcome self-imposed limitations. The speaker outlines a method for learning any meaningful skill, which includes setting a clear goal, choosing resources wisely, and committing to consistent practice with a focus on iteration and improvement. He also stresses the value of active learning, understanding fundamentals, and learning effective study techniques to build a strong foundation for mastering new skills.
Takeaways
- 🧠 Mindset is crucial for learning new skills, especially a growth mindset which embraces the belief that you can learn anything with dedication and effort.
- 📚 The speaker overcame a fixed mindset by listening to 'Mindset' by Carol Dweck, which emphasizes the importance of viewing challenges as opportunities for growth rather than barriers.
- 🔄 Having a growth mindset means embracing struggle and viewing it as a positive part of the learning process, rather than a sign of inadequacy.
- 🎯 Setting clear goals with a realistic timeline is essential for making meaningful progress in learning a new skill, such as coding or a new language.
- 🛠 Execution involves breaking down the learning objective into manageable parts, choosing a few resources, and diving into the material without overthinking.
- 🔍 Avoiding 'analysis paralysis' is key; do some research to find good resources but then start learning and practicing rather than endlessly seeking the perfect resource.
- 📈 The 'iterate and improve' philosophy is central to the learning process, which involves consistent repetition with continuous improvement at each step.
- 🛑 Recognize when a learning resource or method is not working and be willing to switch to something more effective, adapting your approach as you learn more about what works for you.
- 📝 Learn how to study effectively by understanding scientifically-backed learning techniques and avoiding common study pitfalls.
- 🏗️ Prioritize active learning, such as building projects or problem-solving, over passive learning to truly master a skill.
- 💎 Mastering the fundamentals is vital for a strong foundation in any skill; avoid skipping over basics in favor of more advanced topics.
Q & A
What is the main topic of the video?
-The main topic of the video is about the speaker's journey of self-teaching coding from scratch and the method they used to acquire this meaningful skill.
What book influenced the speaker's mindset while learning to code?
-The book 'Mindset' by Carol Dweck influenced the speaker's mindset, emphasizing the importance of a growth mindset over a fixed mindset.
What is the difference between a fixed mindset and a growth mindset as described in the video?
-A fixed mindset is characterized by self-imposed limitations and the belief that one's abilities are static. A growth mindset, on the other hand, acknowledges that one can learn anything with commitment and effort, and views struggle as a positive part of learning.
Why did the speaker initially start learning web development?
-The speaker initially started learning web development because it was their first interest in coding, focusing on HTML, CSS, and JavaScript.
What made the speaker switch from web development to data analysis?
-The speaker switched to data analysis after realizing that web development was not to their liking, and they found a more suitable interest in working with data and Python.
What are the key components the speaker identified for becoming a data analyst?
-The key components identified for becoming a data analyst were SQL, a visualization tool, Excel, and some knowledge of Python.
What is the term used by the speaker to describe their philosophy for continuous self-improvement?
-The speaker uses the term 'iterate and improve' to describe their philosophy for continuous self-improvement.
What is the speaker's advice on setting a goal when learning a new skill?
-The speaker advises setting a meaningful goal with a realistic timeline to work towards, which should push the learner but not be so impossible that it leads to demotivation.
What are some of the general tips provided by the speaker for effective learning?
-Some general tips provided by the speaker include learning how to study effectively, preferring active learning over passive learning, and mastering the fundamentals of the skill being learned.
How does the speaker suggest dealing with the feeling of being stuck while learning a new skill?
-The speaker suggests embracing the feeling of being stuck and viewing it as an opportunity for growth and improvement, rather than a reason to give up.
What resources did the speaker find most helpful during their learning journey?
-The speaker found resources like Codecademy and Udemy to be the most helpful during their learning journey, as they provided interactive learning experiences.
Outlines
🧠 Embracing a Growth Mindset for Learning to Code
The speaker shares their personal journey of self-teaching coding from scratch, emphasizing the importance of mindset as the first step. They introduce Carol Dweck's 'Mindset' book, which differentiates between a fixed mindset and a growth mindset. The fixed mindset is characterized by self-imposed limitations, while the growth mindset is about embracing challenges and learning from struggle. The speaker encourages viewers to adopt a growth mindset to overcome the belief that they are not capable of learning new skills like coding. They also highlight the importance of persistence and self-belief in the learning process.
📘 Execution: Planning and Choosing the Right Resources
After addressing the mindset, the speaker moves on to the execution phase, which involves making a plan and choosing the right resources for learning. They share their own experience of starting with web development and then shifting to data analysis, underscoring the importance of narrowing down one's learning focus. The speaker advises against analysis paralysis and encourages finding a few reputable resources, such as online courses, and diving into them. They also stress the importance of setting a realistic deadline to maintain motivation and provide a clear goal.
🔄 Iterate and Improve: The Key to Learning Any Skill
The speaker introduces their philosophy of 'iterate and improve,' which involves continuous learning with the aim of making incremental improvements. They discuss the importance of consistency and commitment to learning resources, while also being open to change and adaptation. The speaker shares their own experience with different learning platforms and emphasizes the need to find what works best for the individual. They also talk about the value of active learning over passive learning and the importance of building projects to solidify understanding.
🎓 Mastering Fundamentals and Effective Study Techniques
In the final paragraph, the speaker discusses general tips for effective learning. They stress the importance of mastering the fundamentals as the foundation for any skill, using coding as an example where understanding theory and algorithms is crucial. The speaker also encourages viewers to learn effective study techniques, recommending resources like 'Make It Stick' to improve study habits. They advocate for active learning methods over passive consumption of information and the importance of applying learned skills in practical scenarios to truly master them.
Mindmap
Keywords
💡Mindset
💡Growth Mindset
💡Fixed Mindset
💡Struggle
💡Execution
💡Analysis Paralysis
💡Iterate and Improve
💡Active Learning
💡Passive Learning
💡Fundamentals
💡Problem Solving
Highlights
The video discusses self-teaching coding from scratch and applying the same method to learn any meaningful skill.
The importance of having a growth mindset, as opposed to a fixed mindset, for learning new skills.
The concept of embracing struggle as a positive aspect of learning, which is key to developing a growth mindset.
The speaker's personal journey of learning to code while working at a warehouse, illustrating commitment and mindset.
The recommendation of the book 'Mindset' by Carol Dweck for understanding and adopting a growth mindset.
The idea that anyone can learn to code given time and perseverance, debunking the myth of innate ability.
The speaker's transition from web development to data analysis, demonstrating adaptability in learning paths.
Breaking down the learning goal into parts and choosing specific resources to focus on, avoiding analysis paralysis.
The effectiveness of Udemy and Codecademy in the speaker's coding education journey.
Setting a realistic deadline to achieve a learning goal and the importance of having a clear objective.
The 'iterate and improve' philosophy as a core strategy for continuous learning and self-improvement.
The necessity of making micro-adjustments in learning methods to find what works best for the individual.
The value of active learning over passive learning for mastering a skill, with coding as an example.
The importance of mastering the fundamentals in any skill to build a strong foundation.
Learning how to study effectively using resources like 'Make It Stick' and understanding study techniques.
The speaker's commitment to answering comments as a small channel, showing engagement with the audience.
The speaker's new office setup and the personal touch added to the video content.
Transcripts
what's up guys in this video I want to
talk about how I taught myself how to
code from zero and how you can use the
same ideas and the same method to teach
yourself any meaningful skill so if you
guys remember I taught myself how to
code when I was working at a warehouse
so I didn't exactly have the most
glamorous job I wasn't coming from a
knowledge work background and really I
had no reason to believe I could even
learn how to code except that I got the
idea in my mind but what really made me
stick with it and commit to it was
actually what is going to be step one of
this method and that is mindset and
ironically I listened to a book called
mindset while I was working in the
warehouse it's a it's a book called
mindset by Carol DW and she basically
talks about in the book how there's
fixed mindsets and growth mindset and
now fixed mindset is what I struggled
with for a long time it's when you say
things like I'm just not smart or I'm
just not a math person I hear people say
this even when I've told people recently
in recent years about me teaching myself
how to code they'll say things like oh I
could never do that I'm just not smart
or oh I could never learn how to code
that's too complicated that is a fixed
mindset we say things like that and we
tend to think in this extreme of you
either have it or you don't the good
thing about code and pretty much all
knowledge work skills is that they come
with time you're it's not just something
you have sure there's people who might
be more technically inclined or more
mathematically inclined but the truth of
the matter is that anyone can learn how
to code anyone can learn advanced math
anyone can learn how to read better
these things we put limits on ourselves
we say oh I'm just not good at that and
that is a fixed mindset so what we want
to get to is a growth mindset and now
with a growth mindset you basically
acknowledge that you can learn anything
as long as you commit yourself to it you
can learn it and a couple of the key
features of a growth mindset are one
realizing that you can learn anything if
you apply yourself two you also want to
realize that struggle is a good thing a
lot of people people when we're in a
fixed mindset we think that if something
is hard it's because we're not good
enough because we're not smart enough
and we tend to just shut down our brain
we just stop trying because we don't
like feeling stuck we don't like feeling
stupid but when you have a growth
mindset you Embrace that stuck feeling
and you actually get excited for it you
get excited for a challenge and that is
a huge characteristic of what will allow
someone to learn how to code or learn
any hard skill is how do you react to
the adversity if when you get stuck your
brain shuts down you say well this is
just too hard I can't do this you're not
going to get very far but if when you
get stuck you get excited and you say
okay like this is the good stuff this is
when I have to push through you'll get a
lot further and you can learn basically
any skill okay so once you've addressed
mindset like I said Carol D's book
called mindset is a great resource for
that once you've addressed that once
you've acknowledged yes I can learn this
thing I can learn a new language I can
learn how to code once you have
acknowledged that and you've accepted
that and obviously it's going to take
time trial and error the fixed mindset
doesn't just go away and there was many
times while I was studying that I would
still feel like maybe I just can't do
this I would get so stuck I would feel
like I can't do it but you know what I
would still go to bed that night wake up
the next morning and code again and a
lot of times that thing I was so stuck
on the night before when I'd wake up the
next morning and look at the code again
it was actually the solution was right
in front of me so it really is about
pushing through persevering and slowly
that fixed mindset goes away and you
start to believe in yourself you start
to see the results that yes if I push
through that initial feeling of I can't
do this I will be able to so once you
get through that part two is execution
now you want to make a plan you want to
dissect what you want to do in two parts
when I started learning how to code
there's a million different ways you can
go there's different programs there's
different courses there's different
programming languages if I just tried to
do a little bit of all of them I never
would have got anywhere so I had to ask
myself what did I want to do so at first
I started I wanted to do web development
which is basically HTML CSS and
JavaScript that was what I started with
I did that for about nine months before
I realized I don't like this this isn't
what I want to do this sucks and so I
switched to wanting to do data analysis
and since I already had a firm
foundation in programming and I had
messed around with python a little bit
it was pretty easy for me to transition
so then I said okay what do I need to be
a data analyst well you need SQL you
need a visualization tool and you need
Excel and maybe some python which I knew
so I boiled it down to those four things
now there's a bunch of different ways
you could go with those but the point is
whatever your goal is you want to break
it down into Parts you want to choose a
few resources and then you just want to
dive in you don't want to spend too long
planning forever you're not going to
find the perfect um resource that's just
going to cover every single thing you
just want to look on Reddit look on
Google find some very well-rated
learning resources and pick one and just
dive in that is the key thing you do not
want to get stuck in they call it uh
they call it analysis paralysis where
basically you just get stuck in
overthinking and you're just thinking
thinking thinking until you get nothing
done you just spend all your time
analyzing and that's not how you make
meaningful progress you have to do a
certain level of research sure but then
you just have to get down into the weeds
and start doing it so find a couple
courses that you like I use udemy for
all my coding basically there were some
other resources I tried early on like
team Treehouse code academy data Camp I
basically tried them all and the ones
that stuck the most for me at the time
were code academy and udemy which I
swear by even to this day udemy is if
you want to learn how to code it doesn't
get much better than that so choose a
couple resources whether again this
doesn't just mean coding if you want to
learn a language if you want to get fit
find a couple reputable people to follow
who will teach you the language the
fitness the code and then dive into
those resources and just learn as you go
and the last part of that is to set a
deadline make a goal for yourself that
you want to hit by a certain day for me
when I first started learning how to
code I wanted to learn how to code by
the time I was 30 I want to land a job
and initially I said I wanted it to be
like a front-end web developer but then
once I switched my focus I wanted to be
a data analyst and I still had the same
goal that I want to get a job by the
time I'm 30 and I ended up doing it just
under the year mark total and getting a
job right before my 30th birthday so I
did hit the goal but even if I didn't
that's not really what's important
what's important is that you're working
towards something if I say I want to
learn how to code what does that mean
how long am I going to learn how to code
in 2 years 5 years 10 years and I mean
and even what does learning to code mean
to me I wanted to learn how to do enough
code to get a job that was my goal and I
didn't know exactly what that was but it
at least gave me something to work
toward if you just say you want to learn
how to code or you want to learn Spanish
or you want to learn whatever you have
to have a meaningful goal that you're
working toward learning a language could
mean a ton of things does that mean you
can order a coffee or does that mean you
can watch news in a native language
that's the difference so find your goal
and set a timeline that is not
unrealistic I mean I see these videos
you can learn how to code in 3 months 6
months I mean some of them are good
videos but it's just not going to be
realistic for the vast majority of
people if you're a busy parent like I am
uh you know you're not going to learn
how to code in three months unless you
were just psychotically dedicated it
might be better to say 6 months 12
months like you know take your time and
learn these Concepts over time
so that your goal still pushes you I
mean learning how to code and making a
career switch in a year that's a big
deal learning a new language in a year
that's huge I mean most people will
never do that so even if it's a year two
years be patient and set that goal for
the long term it should still push you
but it shouldn't be so impossible to
attain that you kind of just stop caring
and then the absolute key the bread and
butter of this method is something I
coined called iterate and improve that
is basically My Philosophy for life
and I will make another video on this
literally just on this this iterate and
improve concept and so when I was
learning how to code you learn about
something called iteration which just
means basically you can iterate through
by looping you know you iterate over
something many times basically just
means you do it again and again but the
key here is the philosophy is iterate
and improve so with each iteration you
want to improve something so if you are
learning how to Cod code and let's say
you study one day and whatever resource
you used that you set out from the
beginning say you've been using it for 3
months and you're just realizing this
resource is not working you switch to a
different resource or maybe you sample a
couple different resources maybe you
realize that you learn better from video
than from reading or maybe you learn
better from Reading than from podcast
you have to find whatever works for you
but the point is you want to be
consistent and you want to commit to
something but you want to always be
looking for ways to improve so if you
see that a certain resource is giving
you a lot of results focus on that
resource there are certain things that
are going to give you a bigger bang for
your buck you can watch videos for me
that didn't really work I like to use
more interactive things like code
academy where it actually had me writing
a lot of code while I was learning to me
that worked better another thing that
worked better was building projects for
a while I just kept consuming consuming
which they call tutorial hell and and
then I got to a point where I just had
to build projects so this could look
really different depending on what
you're doing if you're learning a
language it could mean actually speaking
the language it could mean reading the
language instead of just uh watching
videos for other people it could be
watching videos is the main way that you
learn a language whatever it is you want
to find ways to improve whatever you're
doing every time let's say every week
every month you want to be looking at
what you're doing and seeing if there's
any ways you could improve it iterate
and improve means you keep going you
keep doing things over and over you keep
having iterations another day of study
another day of study another day of
study and you always look for a way to
improve it you realize that hey studying
in my living room isn't working for me
because there's too much distraction um
my roommate is playing the TV too loud
whatever it might be so then you decide
okay I'm only going to study early in
the morning and you make an improvement
you iterate then you have another study
session and you realize that you do
better with pomodoros or you do better
when there's no music playing or you do
better when there's classical music
playing you get the point I don't want
to beat this point into the ground here
but you want to always be looking for
little ways to improve so you want to do
as many iterations as you can you want
to study every day and try to improve
something a little bit every day and you
want to be looking for all kinds of
areas to make these micro adjustments
the key here is that you don't know what
you don't know when you set out for a
goal I've had many goals in the past
where if I made a goal too fast I didn't
really think it through sometimes things
sound good on paper to me being a
front-end developer even sounded really
good it sounded great but then the more
and more I got into it it wasn't that it
was too hard it wasn't that anything
like that it was just it wasn't for me
it didn't fit my personality I'm not a
designm minded kind of person which not
to go back on my earlier point of you
know fixed mindset could I become a
design-minded person absolutely but my
point is it's it's not something that I
enjoy doing whereas when I got into
Python Programming and more like coding
and doing data analysis I really liked
it I don't necessarily like the flashy
designing web apps designing websites
aspect of code but I really liked the
ability to build practical things like
Financial trackers or do uh analysis of
data and see how different things
correlate that to me was very
interesting so again you don't know what
you don't know set out with your goals
think about them as best you can without
overanalyzing and start moving in that
direction and if you realize while
you're going that you know what this
isn't really the best thing for me this
isn't what I enjoy make micro
adjustments but again don't trick
yourself don't lie to yourself and say
well this isn't for me because it's hard
that's not what you want to do if it's
hard push through don't just say oh it's
not for me but you know there are
certain jobs and I say this if you are
an outgoing person you might love Sal
else but you might hate coding I am a
very introverted person so I love to
code I love to be alone in my office and
write code whereas for someone
extroverted this could be a terrible job
choice so you want to consider those
things when you set out you want to
consider your personality you want to
consider what kind of work life balance
you want to have whether you want to do
this for the rest of your life but
you're not going to know everything you
have to accept that you're not going to
know what you don't know adjust as you
go and you know change as necessary and
for part four here I just have a couple
General tips the first one is learn how
to study if you never at any point took
a class on studying I can almost
guarantee you are studying wrong and I
say that light-heartedly from personal
experience when I was going through my
bachelor's I started to read books on
studying because I wanted to understand
what makes good learning and what
doesn't we aren't taught to study and a
lot of the things that we do like
rereading the same book over and over to
try and make it stick we do a lot of
these things they're actually not good
study practices so pick up a good book
on studying a good book could be a make
it stick that's a great book on learning
I learned so much from that book so many
things that I was doing that were wrong
so try the book make it stick or just
watch a couple videos my point is
whatever you want to learn there are
better ways to learn and there are worse
ways to learn everyone learns different
ways and I talked about that earlier
find the resources that work for you but
when it comes down to the tactics they
have figured out psychologically and
scientifically things that just work
better when it comes to studying so look
those up read a little bit about them
watch YouTube videos whatever it might
be learn how to study better the second
General tip is whenever possible always
go with active learning over passive
learning Active Learning when it comes
to code is building a project it's
writing actual code it is getting stuck
and problems solving passive learning is
just reading a book watching a video
watching a YouTube video or coding along
to something that really teaches you
basically it shows you how to code
you're not actually thinking about or
coming up with anything you're just
copying line from line all of those
things have a place there's no problem
with reading there's no problem with
watching videos there's no problem with
code alongs all those things are great
but you don't want to only do those you
want to mix your passive learning with
active learning if you're listening to a
language listen to it and then go speak
it for a while if you're watching a
video on how to play an instrument you
wouldn't just sit there and watch videos
all day and think you're getting better
at the piano right you have to actually
get on the keys and start playing it's
the same with coding is the same with
basically any meaningful skill you have
to mix up your passive learning the
videos the books with active learning
building doing the problem is that a lot
of people get stuck in the passive
learning because it's easier it gives
you the illusion of getting better even
if you're not but again like I gave the
example with the piano or another
example is the gym as much as it might
suck getting in the gym if you're a
newbie you're going to be sore it's
going to hurt it's going to suck you're
going to feel uncomfortable we all know
obviously that you can't just sit at
home reading books and watching videos
about Fitness and get fit that's not how
it works we know that you have to get in
the gym at the end of the day it's the
same with any skill do your passive
learning learn some things learn some
things that you want to apply or build
and then go do them and the last thing
I'll say here is Master the fundamentals
a lot of people they look at the
fundamentals as boring stuff they they
want to skip through it the easier stuff
the more just theoretical stuff do not
skip over your Basics when it comes to
the foundation the fundamentals that is
what makes you a good coder a good
programmer a good data analyst if you
don't understand the basics of your
craft you can't really build on them you
have a weak Foundation everything you
build on top is going to be shaky it's
going to be weak and it's going to fall
apart when hits the fan and when it
gets really hard in your job so Master
the fundamentals whatever they are for
your craft whatever they are for your
hobby it could be chords and finger
dexterity for guitar excuse me I don't
really know that much about guitar but
you know for languages it could be
grammar and conjugations for code it is
Theory and algorithms and there's so
many things you want to know the basics
you want to know problem solving it's
great to memorize a bunch of code a
bunch of syntax but that's really not
what makes someone a good programmer you
have to know how to solve problems some
great programmers even if they've never
even coded in a language before can
figure it out within a couple days
enough to piece something together or
fix something even if they've never
looked at that coding language before
it's not about memorizing a bunch of
stuff it's about understanding the
basics understanding why you would use a
piece of code in one scenario and not in
another um it's about understanding how
to solve problems and once you get those
basics down everything you build on top
of it will be so much more steady and so
that's it for this video guys I hope
that these steps that these methods help
you guys I might have been a little all
over the place with this video but I'm
very passionate about the idea of
learning and I'll make more videos about
how to better learn how to better study
how to better self- te because this is
all stuff that I had to learn by making
mistakes but if you just do the things
that I laid out in this video it is a
very solid foundation to build any habit
on to learn any new skill on so I hope
these things help if you have any
questions leave them in the comments I
will answer every single comment for as
long as I can that's the best thing
about a small Channel I can answer every
comment so if you guys have any
questions I will answer every single one
of them until the channel gets too big
that I can't so I appreciate you guys
being here and watching as always yes
I'm in a new office it is still very
bare in here I have a bookshelf and my
desk that's about it but it will get
better and better I appreciate you guys
being here and I'll see you in the next
one peace
5.0 / 5 (0 votes)