Best Learning Strategies for Programmers

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi there I'm Andy Serkis I'm a self-taught programmer and in today's video I'm gonna talk about five learning strategies that are very helpful for self-taught programmers these are different learning strategies that I've come across over the years since I've become a software developer but also things that I use when I originally started out on my own path in becoming a self-taught software developer so the reason I think these are so important for people who are just starting out or even if you maybe landed your first job as a software developer is that I see a lot of people out there who are working really hard they are spending a lot of their time they're sacrificing a lot of the time their mental energy on learning rights the by tutorials or maybe they're building applications watching videos they're putting so much time and effort into things into learning but they are not doing much more than that they're just hoping that putting a lot of time in putting their blood sweat and tears into this it's going to be enough to get them their first job and the truth is that hope or hoping is not truly a strategy you need to be systematic not only about your overall approach but even about how you learn so if you're just gonna sit down for eight hours and try to blow through a textbook or you know sit down and watch a YouTube video for five hours no matter how good that tutorial is no matter how good that book is unless you have a strategy for learning a specific strategy understanding psychology how to remember things for example how to get the most out of your learning then you're simply not going to be as efficient as your time as someone else who understands those basic principles so I'm gonna cover those today and by the way if you're new to this channel I'm Andy starkwood's and I help people get their career started in programming so if you're looking to teach yourself how to code and land your first job doing meaningful work and creative work as a software developer then consider subscribing below and making sure to also hit that Bell icon so you get notifications anytime I put out a new video so with that being said let's just dive into the five learning strategies all right so the first learning strategy is really knowing the sweet spot for you between active and passive learning and active and passive learning you could put like this passive learning would be some where you're learning passively right so you're reading a book you're kind of just sitting there laying back reading the book maybe you're watching tutorial where you're not really actively participating some people call this conceptual learning and you can look at that as the opposite of active learning or hands-on learning maybe where you're actually applying the knowledge or you're learning and using it to build an application maybe you're doing some coding problems or some like whiteboarding interview problems right so these two are sort of diametrically opposed in terms of how you interact with them one is like I'm going to do something versus one is sort of I'm just going to lay back and you have to make sure you find that sweet spot because if you are 100 conceptual learning then you are going to run the risk of not being able to actually problem-solve like actually go to a code editor and start applying the knowledge you've learned and the opposite is true is all you're trying to do is just put code in a code editor but you don't know the basic syntax of a programming language or you don't know the basic concepts then there's something that's going to be lacking and your growth is going to slow down so you have to understand that sweet spot now the sweet spot really kind of depends on where you're at I'd say if your earlier on in your career or if you're early on in your soft self-taught journey you're gonna want to focus more on the conceptual like a two to one ratio I think is okay meaning for every two hours of conceptual learning you want to have one hour of your you know active learning where you're actually manipulating code and a code editor later on maybe once you're kind of farther along you have some basic concepts of programming down you probably want to go closer to one to one meaning one hour of passive learning to one hour of active learning so you want to keep it about equal or about about the same and look later on this could really change drastically I think once you're into your career and you're really just in the thick of it I think that ratio excuse more towards it could be you know four hours of active learning versus one hour of passive learning but again it really depends on where you're at as you grow in your career it can swing way back to the two hours of passive versus one hour active maybe you're making a big push to learn any framework that just came out or whatever so just keep that in mind there is a sweet spot you want to find it for yourself the second learning strategy is really important as well and that is to apply spacing to your learning so a good example of this maybe we're gonna go and learn a new ceptin program let's say you're learning c-sharp and you will learn about dependency injections so you go on plural site which is fantastic site what to get extended learning once you're in your career so you're learning dependency injection there's like a five-hour course and I would say since the seven-hour course is nice round number right seven-hour course and you want to just cram today so you're gonna spend seven hours learning it maybe over the course of you know eight or ten hours you're gonna take a few breaks but you're just gonna cram it all into today because you want to get dependency injection gentlemen check mark I got it well instead of cramming it all in one day what studies have actually shown is it's better to take that seven-hour course and spread it out over time so if you take that course and spread it out one hour over each day you're more likely to retain this information and part of the reason why we think that this occurs is because when you're cramming it all in one day it seems like you're making momentum but the actual truth is that when you have to spread this out over time is that you're going to be revisiting this each and every day but even more important than that is you're gonna be forgetting knowledge each and every day right so you date one you get this momentum built you're learning that first hour maybe they're covering basic principles of dependency injection also and you're taking an eight-hour break or ten-hour break to sleep eat do whatever you have to do and then you're coming back to the next day and you're like oh wait what were we talking about again and so you have to sort of re remember things and that forces your brain to put certain things in longer term memory at least that's the theory but I found that to be true as well so you know the number one rule here is avoid cramming whenever possible sometimes you get a cram right but really try to space things out over time the third learning strategy that I cannot recommend enough is teaching concepts or re explaining concepts that you've just learned right so if you're knee-deep and learning some concept right now and you think you got it down the best way to really test your knowledge is to write a blog post about it and explain what you just learned in detail or even just writing a journal entry or if maybe you're part of a group of people who are at your level right maybe they're intermediate or below or even something like my Facebook group or there's a lot of people looking to become software developers so you could definitely do it in there if you're in that sort of group you could sort of explain what you're learning is explain a concept and say am i right here should I might think right because when you have to formulate an idea if you learned so much more and I definitely learned this myself now that I'm mentoring people and coaching people it becomes software developers and start their career I've really learned that many of the concepts I thought I knew down really well they there were some gray areas or there were some areas that didn't really know or grasp because when people ask me oh why did you choose that decision or why did you make that decision I had to really think deeply about it so we explained to others and you could do that through a blog post or journaling or even helping others in a social community of some sort the fourth learning strategy comes directly from my experience of learning programming and that is to keep track of all the things that you have questions about and the what I what I usually say is keep track of all your whys so this is something I found happening a lot when I was watching tutorials or reading books and you know when you're watching a tutorial and you're just making good momentum or you're reading through a book and you're making good momentum you don't really want to stop when you have questions you don't want to go off on it you know a rabbit chase on Google because you're making progress with the book and that happens all the time right you're gonna have some base underlying questions you don't know about well the best thing you can do is to have a either legal pad that you keep next to your desk or maybe a text editor or a Google document with all the questions that you want to ask that are really bothering you that you can answer right now maybe you can push it off for later so if you're learning about JavaScript and you're like what is this this keyword that I keep seeing along plays I really don't understand this well if the instructor of the course you're watching or the book you're reading isn't explaining it write it down say what is this in JavaScript and then later on at some future point after you've had some time away maybe you can revisit the concept you can go off on a rabbit chase for a half hour or an hour whatever you feel is comfortable for you the problem I see with a lot of people who don't track what they don't what they are forgetting or they aren't keeping track of what they don't know is that when they get done with a tutorial or when they get done with a book they just have all these things in their head that they remember they didn't know it's they feel very frustrated but if they can just clarify okay there's like five things that I really wanted to learn and then they spend the time after their book is done or after the tutorial is done then there you feel a lot more confident moving forward that at least they have some some understanding about what's going on so keep track of what you don't know be pretty diligent about this I like a legal pad next to my desk but you can easily use a Google Docs or maybe a Evernote document as well and the fifth learning strategy is really a foundational principle for all effective learning and that is knowing how to rest and recover and I see a lot of people out there who are going the hustle and grind route and I totally respect that and they're talking about how they're working 12 hours or studying for 12 hours maybe they're working a full-time job they're sleeping 4 or 5 hours a night they're putting their heart and soul into this their blood sweat and tears and like I said I totally appreciate that more than anyone else but you also have to understand that resting and recovering meaning taking time off to sleep taking just time off to think about some other things like hang out with friends and do normal things is so important for you to retain as much information as possible and just it's generally good for you in a long-term perspective because if you're gonna be studying for a long period of time which this takes more than just a few weeks you want to make sure that you are looking at this long term I think studies are pretty clear about the effects of lack of sleep on our cognitive and executive functions meaning that when you start getting or racking up sleep deprivation or that your IQ drops this also happens with stress by the way so if you're you know missing out on sleep if you're not taking breaks your stress levels are gonna go up you're gonna lose a lot of sleep and your IQ literally drops by about I think 10 to 15 points and also to they've found that people who get into deeper levels of sleep deprivation also the they'll see the same effects as I think 0.1 BAC or you know basically being drunk so you imagine if you're you're putting in all this work you're sacrificing time away from friends and family and you really want to get this done but you're putting yourself under you're not sleeping a lot you're not only taking breaks well you're literally working on a lower IQ level you're working like you're being drunk and that's not effective for doing what you want to be doing so make sure to apply the principles of rest assume that like your Olympic athlete and you need your rest you can't just be working out all day and the same thing comes to studying when you study study hard but when you take breaks be just as disciplined about not doing the work and stepping away and making sure you're getting sleep so rest and recovery are huge don't forget about that so that's really it those are my five learning strategies that I've used as a self-taught programmer I hope they are really helpful make sure to leave a like if you enjoyed the video other than that by the way if you are still at the beginning point where you're trying to figure things out in terms of what programming languages to learn what path you want to take if you are still not saying position I've created a PDF report of the five best programming languages to learn in 2019 it's pretty comprehensive report it's really gonna help give you a lot of clarity about some of the different options out there I'll give you my opinion on what I think is the best to learn especially if you're at a newer stage and trying to figure out what to learn so I highly recommend checking that out if you want to download that report go to Andy Serkis comm forward slash report other than that that's really all I have for today thank you so much for watching and peace out see you later [Music]
Info
Channel: Andy Sterkowitz
Views: 634,921
Rating: undefined out of 5
Keywords: self-taught programmer, self-taught software developer, programming, learn software development, learn programming, learning strategies for programmers, learning strategies for software development, programming learning tips, software development learning, how to learn programming, how to learn software development, how to learn software engineering, computer programming
Id: IHQ-UUj0bxs
Channel Id: undefined
Length: 12min 5sec (725 seconds)
Published: Sun Apr 07 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.