How I learn new skills & software engineering concepts fast

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
so there are multiple stages to learning something new and this applies to learning just about anything not just technical concepts in software engineering and to get effective at the process of learning we must first look at why we would want to learn something new and then venture out into looking at some structured techniques that can help us acquire new skills faster on a physiological level learning new things is good for your brain there has been enough research showing that practicing a new skill increases the density of the white matter in your brain that helps improve performance on a number of tasks additionally learning new skills stimulates neurons in the brain which forms more neural pathways and allows electrical impulses to travel faster across them part of learning a new skill is connecting that information to information and skills you've already learned before prior knowledge helps people relate to new information and build on that existing knowledge which makes it even easier to acquire new skills with that said how do we even go about learning something new and i think this has two key parts the first is exposing yourself to a variety of different skills and second is picking the right learning model that can help you acquire skills even faster let's look at the first step of exposing yourself to a variety of skills so the idea here is to not be just a one-trick pony as software engineers it is too easy to get drowned in a sea of new programming languages and frameworks and whatnot while that is still learning it tends to be limited to just one domain and one way to force your brain to continually grow is try to acquire a diverse set of skills for example this week i had to read up on embedded databases for high throughput stream processing this week i also learned about diatonic triads on the piano a few simple rudiments on the drums and also some advanced color correction techniques on premiere pro the more you do this the more your brain gets primed for soaking up new information and as a result you simply get better at the very process of acquiring new skills speaking of new skills this video is sponsored by skillshare an online learning community for creative and curious people where millions come together to take the next step in their creative journey skillshare offers thousands of inspiring classes for lifelong learners like you on a variety of topics including web development design freelancing and more there are classes for literally every skill level whether you're a beginner or a pro whether you're a dabbler or a master at your craft a lot of you know that my 2021 goal is to learn the piano and the drums as well as get better at color grading my videos and for all three of those i found excellent classes over at skillshare the class color grading for filmmaking by dan dan liu was incredibly helpful to me as it not only helped me understand the process of color grading but also the science behind it and i think that it already reflects on the quality of my videos i also love the fact that they have no ads and most of their classes are under 60 minutes but best of all it's less than 10 a month with an annual subscription and the first 1 000 of my subscribers to click the link below will get a free trial of the premium membership so that you can explore your creativity and start your own learning journey let's move on to the second important step and that's picking the right learning model for a while now i've followed this three-step process of what i call indexing retaining and referencing thomas frank actually has a very similar video about learning where he uses the terms cognitive stage associative stage and the autonomous stage but because i focus on acquiring a lot of technical skills that involve a lot of learning i prefer using my own terminology of indexing retaining and referencing let me explain what these are in a bit more detail so let's say that you want to learn about designing a scalable system it's a massive topic and can feel quite overwhelming so how do you go about using the indexing retaining and referencing phase to learn about designing scalable systems so in the indexing phase what you do is gather as many resources as you can books articles courses conference talks tutorials literally anything you can get your hands on the goal here isn't to retain anything or go in depth about anything the goal is to index the topics in your brain for example if you're learning about scalable systems for the first time you will have no idea about what topics it actually comprises of and this is where most people either get overwhelmed and just give up or try to cram everything up without a strategic plan and neither of those are very effective so in the indexing phase your goal is to simply learn about the topics that exist in the world of scalable systems things like the cap theorem vertical and horizontal scaling redundancy replications sharding caching failovers load balancers dns cdns so on and so forth and as you're building this index in your mind you're also separating out the good resources from the bad ones while it is very tempting to try to implement things at this stage please refrain from it for example if you're watching a tutorial on how to build rest apis in python watch the tutorial end to end first to not try to implement or follow the tutorial by doing actually what it asks you to do the problem with simply following a tutorial without actually understanding what all it covers is that it has a tendency to give you false competence because at the end of the tutorial you'll feel like you've implemented a rest api but essentially you've just followed the tutorial so please refrain from following the tutorial at this stage just watch the whole thing learn about what topics exist in the tutorial what sort of things are covered maybe and watch it as twice the speed take some basic notes and do just that like i said the goal is to just index in this phase so at the end of this phase you'll have a good understanding of what topics you will need to learn what's the order of importance in which you need to learn them maybe even some basic surface level understanding of some of these topics but most importantly you'll have a good set of resources to rely on this is where the second phase begins and this is the retention phase and as the name suggests this is the phase where you try to retain as much information possible about what you're learning you'll go into much more depth about the topics you're reading about and you will also use a technique called space repetition to solidify your learning what i mean by that is say you learned about the cap theorem on day one then you learned about redundancy on day two then you learned about replication on day three instead of moving on to a different topic on day four you'd go back and review your topic from day one before proceeding to new topics on day four and day five but on the sixth day you'd review the topics from day two before moving on to the seventh and eighth so on and so forth you get the idea the point is to keep repeating things in spaced intervals until you're confident that you thoroughly understand them this helps you permanently retain that information in your brain and if you're following a tutorial for something like the example that we used before about learning a rest api this is where you follow the tutorial as well and remember because you've already gone through the entire thing in the first phase this would be the second time you're actually looking into it that combined with space repetition makes it much easier to retain the information at the end of this phase you should have enough information or have learned enough topic that you should feel somewhat comfortable about implementing or practicing whatever you've learned if it's a scalable system you should feel confident in trying to build a system that scales if it's a rest api you should feel comfortable with that and if it's learning the piano you should feel comfortable with playing at least a few songs and this is where the final phase comes into play this is called the referencing phase so by now you've indexed the information and spent a lot of time learning and retaining them but over the years you will work on a lot of different projects you will learn a lot of different new skills but you won't get to use them or practice them all the time so it's inevitable that you will forget some of them for example if you were working on the scalable systems example that we were talking about you could have built a lot of things around scalable systems but maybe never really had the opportunity to work on asynchronous messaging and one day you suddenly have to implement asynchronous messaging you would have probably forgotten about it but because you've spent so much time curating the resources and going over them you'll know exactly where to reference that material from and also because this will be the third or fourth or fifth time you're reviewing that information you will pick it up extremely quickly and that's it that's the process i use to learn everything new and as you do this process over and over and over again you actually get really quick at learning new things and it almost becomes like a habit like i said before your brain is primed for soaking new information and you find it really easy to pick up new things the only thing is that you have to be deliberate and strategic about how you're approaching these things and repeat the whole process over and over again until it becomes second nature by now you're probably wondering how do you even have so much time in your schedule to learn new skills over and over and over again eventually you'll run out of time and you don't have any more time to learn new skills right and that is true and because of that for some skills when you reach basic competency you have to decide to drop them but for others you have to keep advancing to mastery so how do you go about picking which skills to drop and which skills to continue investing on for that my general rule of thumb is to follow the 80 20 principle by that i mean 80 percent of your investment to learning something new should be around something that directly impacts your life and your well-being for me that's topics around software engineering because my career is software engineer and that impacts my life very directly so in that sense learning new topics around scalable systems is probably much more valuable to me than say learning the piano but for the remaining 20 of the time that i invest in learning i invest on learning things that are purely out of curiosity that could be reading books learning about music production and performance video editing cooking skiing or whatever that may be and that i find works out very well and before i end this video i wanted to give one final piece of advice around learning in general i often find that people are split into two major categories the first one is they simply learn something as a means to an end or to get something done and they have no other interest other than that and the other category is they simply are hesitant to learning something new because they feel that they just don't know how to or they're confused or they can't do it but neither of those help you in the long run and i highly recommend that you make two fundamental mental shifts to help you learn better the first is even though you may have to do things as a means to an end don't you stop there continue learning about it ask deeper questions fuel your curiosity ask the why and how so that you just don't learn things as a means to an end but also because you're curious about them and the second mental shift that i suggest is to stop saying i can't do something because i don't know how to in psychology these are called choice word because when you say you can't do something or you don't know how to do something you are essentially choosing to fail before you even attempted to learn something instead say i wonder how things are done i wonder how that is done hmm i'm curious about that in that way you're subconsciously choosing to be curious instead of failing and just that alone has such a huge psychological effect in your mindset that you'll be surprised how excited or how energetic you'll even feel towards learning something new and that's it that's all i had for today i hope this video is useful and that will help you learn new skills in 2021 not just related to software engineering but also a variety of different things like always if you found it useful like comment share and subscribe that really helps out my channel alright i'll see you in the next video [Music] you
Info
Channel: Engineering with Utsav
Views: 58,972
Rating: undefined out of 5
Keywords: learn fast, study tips, learn faster, how to learn faster, thomas frank, how to learn, learn programming, learning skills, learn fast knowledge, how to learn fast, study skills, how to learn anything faster, spaced repetition learning, programming, software engineering, how to learn programming fast, deliberate practice, learn skills fast, how to study, learn faster techniques, software engineer, engineering with utsav, thomas frank study, learn programming for beginners
Id: jvQKrtMVA4Y
Channel Id: undefined
Length: 11min 48sec (708 seconds)
Published: Thu Mar 11 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.