Coding was hard until I learned this

00:14:04
https://www.youtube.com/watch?v=ubyshdQmCC4

الملخص

TLDRCatherine, a software developer with nearly nine years of experience, reflects on her coding journey and shares insights to help others learn coding more effectively. She emphasizes the importance of mastering fundamental programming concepts like data structures and algorithms, which are valuable regardless of changing technologies. Catherine highlights the pitfalls of focusing solely on trendy frameworks and the dangers of "tutorial hell," encouraging more hands-on and project-based learning. She addresses imposter syndrome and the importance of adopting a growth mindset to overcome challenges encountered in coding. Additionally, she advocates for balancing coding with rest and recommends strategies to maintain productivity, such as focusing on deep work complemented by breaks for physical exercise.

الوجبات الجاهزة

  • 💡 Master fundamental concepts like data structures and algorithms.
  • 🚀 Embrace change and focus on transferable skills.
  • 🧠 Understand your learning style to optimize education.
  • 📚 Avoid relying solely on tutorials; practice hands-on coding.
  • 🤔 Combat imposter syndrome with a growth mindset.
  • 😌 Manage frustration by accepting the learning process.
  • 👨‍💻 Focus on deep work rather than long hours.
  • 🏃‍♂️ Incorporate exercise to boost cognitive function and learning.
  • 🔄 Learn from real-world applications and practice.
  • 📈 View challenges as opportunities for growth.
  • 😴 Balance work with breaks for sustained productivity.
  • 🎯 Set realistic goals and measure progress through practice.

الجدول الزمني

  • 00:00:00 - 00:05:00

    Catherine discusses her journey of learning how to code, acknowledging the overwhelming nature of keeping up with constantly evolving technologies. She reflects on mistakes she made in her early days trying to focus too much on picking the right technology stack. Instead, she advocates for mastering fundamental computer science concepts like data structures and algorithms as they are transferable skills that remain relevant irrespective of technology trends. She shares her personal experience of learning PHP, which, although often regarded as outdated, served as a foundational language for understanding other languages and concepts.

  • 00:05:00 - 00:14:04

    Catherine explains the concept of 'tutorial hell,' where learners become overly reliant on tutorials, leading to a superficial understanding of coding skills. She emphasizes the importance of hands-on practice and real-world application to truly grasp programming concepts. She shares her personal struggle with imposter syndrome, stressing that it's often due to a lack of experience rather than intelligence. The key, she suggests, is developing a 'growth mindset' and building resilience in facing challenges. Finally, she highlights the importance of deep work and maintaining a work-life balance, suggesting that focused, short periods of deep work are more effective than long, uninterrupted coding sessions.

الخريطة الذهنية

فيديو أسئلة وأجوبة

  • What are some common mistakes when learning to code?

    Common mistakes include focusing too much on trending frameworks, not mastering fundamental concepts, and relying too heavily on tutorials without hands-on practice.

  • Why is it important to learn fundamental programming concepts?

    Fundamental concepts like data structures, algorithms, and system design are transferable across different technologies and remain useful even as specific frameworks change.

  • How does the method of learning affect coding education?

    Different people learn best through different methods, such as videos, reading, or hands-on projects. It's important to find an approach that works best for you.

  • Why is hands-on practice important in coding?

    Hands-on practice allows learners to apply concepts in real-world scenarios, deepening understanding and retention beyond passive learning methods.

  • How does imposter syndrome affect software developers?

    Imposter syndrome makes developers doubt their abilities, especially when comparing themselves to more experienced peers. Realizing that experience, not intelligence, often makes the difference can help mitigate these feelings.

  • What mindset is beneficial for learning to code?

    A growth mindset that sees coding as a skill that can be improved with time and effort, and views challenges as part of the learning process, is beneficial.

  • How can developers manage frustration during coding?

    By accepting that difficulties and unexpected problems are part of the process and developing emotional resilience to deal with frustration.

  • What is "tutorial hell" and how can it be avoided?

    "Tutorial hell" is becoming stuck in passive learning without applying knowledge. It can be avoided by actively using skills in projects.

عرض المزيد من ملخصات الفيديو

احصل على وصول فوري إلى ملخصات فيديو YouTube المجانية المدعومة بالذكاء الاصطناعي!
الترجمات
en
التمرير التلقائي:
  • 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]
الوسوم
  • coding
  • learning
  • programming
  • software development
  • tutorial hell
  • growth mindset
  • productivity
  • exercise