Former pro fighter here, also a coach and aspiring web dev...you are right about overtraining. Wouldnt be suprised if you read some Mike Mentzer stuff. Anyways Im impressed with your thinking. Im currently stuck in Javascript and commited, but php is a language i want under my belt for some freelancing eventually. Im gonna have to check out your courses!
Funny, maybe not funny? It's not the first time I have heard someone with a background in psychology talk about this topic. The one that sticks out to me is the "Saturate, Incubate, illuminate" cycle. e.g. Saturate: expose the mind with info. Incubate: let the brain asorb or process the info and heal the new neuron connections settle. Illuminate: this is where the info becomes permanent and what you actually learned; or had that 'eureka' moment. Good video Stefan.
@@bambooindark1 I have coding dreams all the time, particularly when I hit a brick wall .... I probably do it more often than I remember. The interesting thing is, although the dream code is often impossible or abstract or impractical, it nevertheless tends to revolve around some key structure, concept or relationship that I am missing. That is... I don't dream valid compilable code so much as perceive finished structures and relationships that fit the paradigm I'm working with. The dream gives me the "big picture" solution whilst it's implementation may be very abstract. Often, such dreams prompt a major cleanup of my code or a complete refactoring. I find I get the most vivid dreams when working with Haskell... probably because Haskell really stretches my ability to conceptualise complete systems. By contrast, my "procedural language" dreams tend to involve a little code - but, mostly, rather animated machinery or even creatures... probably because procedural code places far more emphasis on time and synchronisation of tasks. Either way, I wake up bubbling with ideas and solutions ... even when the dream itself is not remembered. My worst dreams are when working on Logic systems such as when designing for FPGAs/CPLDs. I don't find these particularly useful... more annoying than anything, as they tend to go on all night and cause more frustration than they solve. I guess my subconscious brain loves a challenge - but doesn't know when it should just take a back seat and let me work. Those vastly repetetive dreams that don't lead anywhere leave me very tired in the mornings... even when I don't remember them. When I do, I am really grumpy much of the morning : )
When I was coding in my 20s, I used to work 12 hour days. The first 4 hours of the next day were spent fixing the bugs introduced in the final 4 hours of the previous day.
Well, it didn't happen all the time. It generally occurred when we were getting close to an arbitrary deadline. By the end of the day, you were totally buggered, so you didn't think much about the code you had written once you got home. You might dream about the bugs and then think about them on the way to work the next day. Eventually management would get the message that all these long hours were not returning a proportionate amount of working lines of code and the pressure to work late would be reduced.
That's very interesting! I am programmer too, but I discovered by accident this approach of learning around 20 years ago while playing the guitar. I realized that when trying to learn a difficult exercise, I had to try as hard as I can, stop when I reach a point when I am doing more mistakes than improving, then come back to the same exercise later to realize that I can easily do it. I didn't know why it was working, but I knew the trick. It's only two or three years ago, as I bumped on a neuroscience book entitled "How we learn" - if I remember - that understood why the technique was working. The first thing that came to mind was to call it - as you did - "a spiral/incremental learning inspired by the software development life-cycles with those attributes. I now apply it to anything I learn: 1. I expose myself to the new concept, 2. push to the edge of confusion, 3. stop and walk away, 4. let the brain build new synapses related to the concept, but not let them die off by staying away too long 5. come back to the concept, 6 review it 7. add new elements 8. repeat 2 to 7 until the entire concept is understood and memorized. It is scientifically proven that doing some sort physical activity during the resting period is beneficial for consolidating memory. This is due to the generation BDNF!
I've learned to trust my subconscious. The next morning is usually my best work. Sleep deprivation is a bad thing. That's when your subconscious does the best work.
it's truly amazing on how the brain works. This is the lesson I needed to hear, I've been having issue progressing/understanding a lot of object oriented programming concepts. Usually when I program I do it for 25-30 minutes or up to 40 minutes, it never ocurred to me to see how long i can go before i need to take a rest and then come back to it and find out how much longer I can program before I get tired.
3:40 Two years ago I decided to teach myself music. I knew absolutely nothing; the last music learning that I did was at high school [every good boy deserves fruit] in 1990. Now, I have to my absolute amazement got music composing to a complex level where I could be paid to do it. How did I do it? [1] experiential approach: 10% theory and 90% composing. There is no point getting so lost in theory that you don't DO stuff. Is programming the same? I don't know. I don't program. [not yet lol] [2] Get the best books and software that you can for your budget. What you want is a feedback loop process where you are TOLD if you are wrong and how to improve. For my music I found software that told me if my chords were diatonic ally right. If they were not, I used it as a learning process and made my chords right. To me music is a lot harder to self learn than programming; at least in programming there are rules and your program works or it doesn't. In fact I would say that music is the hardest thing to teach yourself. Now I can think in the abstract; what style of music or colour or mood am I going to make.
Unsure if you'll even see this comment but you are correct. Growing up being self taught with html/css along with billiards at a friends house, I've noticed over time especially when trying to learn JavaScript to do so in segments versus some bootcamps out there cramming so much info in so little time. Good example...I use to play billiards for hours on end and as someone who plays competitively over time I've realized if I practice 14.1 for 90 minutes as opposed to playing 8/9 ball for 8+ hours, I usually play a lot better, my level of focus is high the entire time when practicing for a shorter time span. Just something I've started to notice over the years which with what you're saying actually makes a lot more sense. For awhile I kept wondering why my level of play increased but this makes sense.
The "sleep on it" actually works wonders. I wanted to have a hidden table, which JS would reveal when the button was pressed, but I went about it from JS point of view. When it hit me that I could actually alter my CSS, I cracked it in a matter of seconds... That problem lived for a couple of hours
Great analogy with athletic training -- as someone who crammed their way through university and who is now self-studying web development, I can attest to the importance of resting to absorb and retain information. Thanks for your content Stefan, I'll be looking into your courses in the near future! Kind regards.
It truly is amazing how much better you can get at programming (or anything) when you chunk your learning in regards to the amount in an hour, day, and week. 20 minutes of learning, 5-10 minute break, 20 minutes of learning, 5-10 minute break. A few hours a day. Day after day. Its literally, 10 times faster and more efficient (if not more) than sitting down for 8-12 hours in a day to learn. Once you have a concept, spending 4-8 hours actually coding correctly will have a significantly less cognitive drain, and more likely to hammer in said concept. For example, when I was first learning Laravel, it just seemed like there was something new to learn every time I had a new task. I was trying to learn too much at once (especially since I didn't eve have the fundamentals down as well as I should), and was constantly having to come back to the docs to even create/code a migration file or write a function that would do what I needed. Once I got smarter about my time and efforts, I spent less time trying to learn more, and more time trying to learn less (with breaks of course). Once I had something like building factories down, I spent several hours making factories and testing them. Just for practice, instead of looking up things as they came along and trying to remember them when I needed them. Programming is fun and because there is so much to learn, it can be very challenging and taxing cognitively. I'm sure I'm not the only one who would like to learn as much as possible, as fast as possible, but we have a cognitive limit in a given time period. Taking a day or two break from coding every once in a while has been incredibly helpful to me personally. Usually, I spend those days learning about something else, sometimes related to programming, sometimes not. The same part of your brain is not always being used when you're learning something new. It depends on what it is. Redirecting the electrical current from one part to another can still yield you progress, while giving you rest. Learning the business and interpersonal side of being a freelancer is a perfect example. Even though practice makes better, the right amount of rest is just as , if not more important than all the work you put in, as your ability to progress is completely dependent on your ability to have electrical flow across your synapses. You literally burn them out after awhile and need redirection of flow. Again, thanks for all the great content Stef.
Everybody these days is teaching online, and as a teacher myself, it's so often clear to me that the majority have no actual training in how to teach. It's really refreshing to hear what you say in this video. I've subscribed and I'll be checking out your courses. :)
I can agree to all of this. Since learning how to program, after 4 months I notice small things like taking a more structured approach to making everyday decisions. I’ve also found that I ask more questions to myself about everything and even during discussion I ask the other person more questions. A lot of times I find the the questions have always had reason to be presented, but I guess I wasn’t thinking the correct way to ask them. Either way, this is one reason I love computer science, programming, etc. It changes the way one thinks...
Every time I have to learn something new I don't understand it, I get frustrated and I want to quit. Days later if I can finally force myself to give it another try, I end up understanding it, maybe not fully, and I go on and then the cycle repeats. I don't think there's a way to change that
Brain has two modes. Focus mode and diffuse mode. So when we try to focus on the problem that we can't solve we get frustated. The trick is getting our head out of the problem and going for a walk for a while. This will active the diffuse mode where our brain freely think and analyse the problem in the background. That's why we usually find the bug after we take a break or sleep over it. Sorry for bad english :D
@@hungrycoder3148 Thats really accurate holly shit, sometimes I'm impressed how can I solve something so quickly after a long break without coding or anything tech related and I was shocked like, I spent hours trying to debug and I couldn't solve it but after a break, I solved it in 10min or less.
LOl, Right. Left Programming years ago because of hard concepts. after that when i came back I repeated this cycle. and now i know i just have to take a break and learn other concepts.
Excellent. I'm just 4 weeks into programming. Never programmed before. I am really struggling to solve/construct the logical expressions in Java for Lab questions at university such as: a charity is taking donations. The maximum it takes is £500. You need to read in the persons name and how much they are donating. Then get the program to add up all the donations and print out who donated the largest amount. Trying to solve these questions have been frying ny brain. It's great to hear that there's a part of my brain that is working away unknowingly to me. As a matter of fact, I am aware that what I learnt in the first two weeks has 'somehow' 'clicked' in my head. What you say makes sense. I hope I continue to see and understand what I'm trying to learn now with these for loops and do while loops etc . Here's hoping because I feel it's a whole new level. I'll just keep exposing myself and hope for the best.
This sounds like great advice. I am a musician and I teach piano, and I’ve been learning to code mostly on my own for a couple of years. I use a lot of these same exact strategies for learning new music on the piano. The thing you said about how the brain continues to work on problems definitely rings true for me as a pianist.
I'm a BJJ Black Belt and I'm learning to code! I can confirm that people leave because of injuries and come back way better than they were before, I've seen it happen hundreds of times!
Right now I have knee injury, I have been off the mat for 3 months now, just coding and doing python.. also 15 to 20 minute drills at home dojo few times a week... I can totally relate..
This is good advice. Personally I will read a large text book in a day or two, then build a large project for a week and read around the net to help. Then read the book again. Then make a better project. Then the third time I read the textbook, I find by then enough of it has sunk into long term memory, as long as I refresh it every so often it sticks. Usually need to refresh it after 6 months or so.
Newbie coder here, great video! You've given me a great learning structure to work off of, I often jump headfirst into coding and make myself miserable trying to remember too much. It's good to know that the heavens don't have to open up and angels bestowing an entire language worth of information to me isn't required to learn coding as many other programmers/coders would have me believe. Amazing video, you have captured my attention!
Yesterday I spent more than two hours trying to fix a bug in the code. I gave up and had not a slightest idea how to fix it. Today I woke up fresh and I thought about the problem while having shower. A rather simple solution came to my mind. I sat to my computer and after 15 minutes the bug was fixed. A good long sleep can make wonders :)
I’ve found that reading slowly has helped me to get a better fundamental understanding of programming topics. If you’re reading and you don’t understand certain words, pause and google them. It’s ok to take 30 minutes or longer to get through a paragraph if you’re stopping to understand the context. Eventually you’ll have such a good core understanding of programming topics that you won’t have to stop in the middle of a paragraph as much and your rate of learning will increase quickly. It’s like building a house, if you make sure your foundation is strong then it will be much more beneficial to you down the road.
what ive been doing learning python, ill study the code its teaching me, repeat it a few times. then move to the next and do the same., i document what i have learned after each exercise, usually this takes me about 2 hours for 2 exercises. then i take a break after 2 hours and come back like 6 hours later and do a quick review of what ive learned then go onto the next exercise and repeat the cycle. its been working for me. so far ive learned about 13 exercises and i know them inside out. i feel confident that if i keep it up like this ill learn the python language fundamentals then ill be able to move into whatever is next to learn.
I studied psychology and you might have your terms outdated but I can confirm hes psychological theories are correct. Incubation, rest, sleep, background processing in the brain, but basically, its not what you think, its what you do which is what your brain pays attention to, so exposing yourself with programming consistently is good.
Thanks for the pep talk! I've never felt as stupid as I have trying to learn to code:)) I've tried several different systems, programs, courses, etc... And I STILL have no idea what I'm doing 2 years later. I'll keep at it with your thoughts about learning in mind, thanks.
I will try your advice, Stefan. I'm suffering from memory issues(medication side effect) due to a health condition and I'm really struggling in learning new technologies and searching ways to cope with it. Thanks a lot.
If you do music, you can get into a rut and you can't really force something as creative as this. Take a break, and this can be quite a long break. When you come back, it's often the best time to record everything you do because what you learnt the last time has embedded itself to some kind of lower consciousness but you are open to new ideas.
It's important to stress this. Sometimes the break doesn't need to be arbitrarily fixed amount eg 15 minutes. Sometimes, it can be 1 hour or even 2. Basically, it should be reasonable enough according to your situation. I took a break from PHP for a year, returned to it and learned a new framework in days. Before, it took me weeks.
Great vlog Stefan! Just what I needed today....I am loving your 'web Dev' course, love your way of teaching, but I hit a wall today while learning JS, so I backed away for a good few hours, before I go back to it, thanks for all your hard work and time you put into your courses.
Stefan, like many discovering your channel amongst others seeking to program and code, your approach, knowledge, and confidence in your craft are vehemently appreciated. You remind me of an older comrade who also lived martial arts for a good 20 or so years and I see much of the same general sense of calm. I am rusty in Aikido myself and prefer its philosophy and method. If all the same, I plan on continuing to learn from you, and as an aside do agree with your thoughts about AI and Python with the present standard of living in the western world and notions of UBI. It does seem inexorable, though much feet dragging in process, if we are to keep a global market system - until hopefully moving beyond the limitations of markets when technology renders currency an impediment to progress~
I tend to study 8 hours straight, everyday. front-end / back-end. My brain has no time to absorb the information because I'm exposed to a new information every minute 8 hours a day. It has no time to process these continuous feed of information because it's too tired. Now you're making sense.
I completely agree on the last part of the power of our sub-conscious. Been programming since i was 17 and every time i spent 2-3h to fix a problem that i could not find a solution, i would either take a 1-2 day break and then comeback, or I would just (unconsciously)dream with the solution during the night and somehow remembered it. Call me crazy, but this happened to me multiple times.
For someone new to coding, seems to have procrastination habits, imposters syndrome this is awesome advance! Wish more people discussed topics like this one! Knowledgeable information, thank you for sharing your tips.
Excellent advice, if applied this advises can save you so much time, energy and pain. But you forgot one thing: food you eat can make you or break you(this is where coffee comes in to save the day).Exercises can also help. I advise people to research what *dopamine* is, and how it affects your brain, and yeah that coffee may save your day, but it will hurt you in the long run.
Good advice in my opinion. And an interesting contrast between this way of doing things and all that super-macho stuff the bootcampers are into with their 'let's code for 14 hours solid 'cos hey, we're all going to work for google'. I've almost finished the CSS part of your IWD course and I'm super impressed with the way you break subjects down into small, bite size chunks each getting a 4-5 minute video, followed by a quiz which really keeps the concentration going. Great job and super value.
Great advice. Thanks, as always, for your incredible videos! Since I've started getting into Python about 2 weeks ago, I've been on your channel non-stop getting all the information you've worked so hard for to put out. I appreciate you!
Sir your videos always make me feel better about myself, everything that you say in every video is so relatable and true! Please keep making videos like these to help newbie programmers like myself to learn these important lessons at a very early stage into programming.....
I love your videos and how you've learned how to learn. I'm a former wrestler and athlete and I can second what you've said about coming back from an injury better because of the break. Love your stuff going to buy your course, thanks!
Totally rare video on yotube!As a new member on software engineering i need videos like this to help me at learning how to learn .Thank you Mr Stef keep up the good videos!
Idk what studio web has you do but my first programming professor in college had us work on two long projects throughout the semester (a text adventure game and a console based chutes and ladders) rather than standalone practice exercises. As we learned new concepts we would add functionality to the games, and it was even designed to force us to refactor a large portion midway through the project. The result was we were forced to think about the long term, and the prior concepts were never really forgotten because each assignment required us to remain aware of how everything else we’d already done worked. A lot of people disagreed with her grading style and to be fair she was rather picky about that, but her teaching is well worth dealing with that imo I think the only downside is how that kind of curriculum is probably difficult to design for yourself because you have to already be familiar with the concepts before actually starting
One of the issues for people is I think while there are endless tutorials on the basics of Python, I don't think many take beginners to the next step making basic, useful, coherent programs. I don't mean text games like Tic-Tac-Toe or Hangman either, but something that has value and seems actually useful. The exception I suppose being any Django or Flask tutorials if you still feel like you're learning Python while relying heavily on someone else's framework.
I just started following your channel few days ago but what I've learned makes me wonder where I've been looking on youtube. Thanks for these talks. totally diggin the outro LOL
Excellent content , I resonate a lot the part of resting the mind when it comes to being stuck, being in home office sometimes I take my dog for a walk between breaks and I do not get rid of that problem I have, I do not let my mind rest. Better to leave it for the next day, always the answer will come
Stop getting into my mind Stefan, lol just kidding. I love your videos and have purchased your course. You are right some people teach but don't know how to teach. You are a very good teacher. Thanks for your content
Excellent video, keep doing this good job! I'm from an advertising environment, I read a lot about creativity and the authors talk about the same learning topics of this video from time to time.
Right on time for me! I really do wish I'd come across your stuff First. I watched the sample video on your Website and realize how ideal that learning/teaching experience is as opposed to others.
I like this guy. Like, Most people already know how to learn hard, how to try to achieve their goals with hard and consistent work. But that self-driven force towards the goal can also induce counter-productive behaviour, where the desire to get to a certain point blinds of otherwise obvious concepts, that would normally help us tremendously with a task, let it be long term or not. Taking those breaks and only work with what your mind offers you at the time + staying at it consistently is what can really make a big difference. Im grateful for you to explain that.
Thank you I really needed this. I'm learning ember for work and so far I'm overwhelmed at the information I have to learn in order to assist my coworkers. I'm a bit stressed lol.
@@Mucfood24 Thanks for your response. I can code and do UX design. Any studies and videos I can refer to to find out more. If you have data about hiring of tech jobs, that would be great. What big companies are in Spain? Thanks
Wow, it's obvious you have a background in psychology, really interesting application to coding. This is going to help with learning in general not just coding
Thanks for the tips and helping me understand why this is important. Although ive started learning web dev recently, At times I just get overwhelmed to even grasp the basics. By the way, even you talk you sound like an Italian Mob Boss LOL
Great tips, really helpful and that second thing mentioned about solving a problem after a day or two is so true, happens with me all the time hahah very nice video. :))
Thanks, Stefan. I shall keep this video present, specially in those moments in which I become too stubborn about continuing coding/debugging/working and my head just simply does not want to collaborate - that is the signal to disconnect for a while. Another problem that I usually face is that I tend to be reluctant to disconnect when I do not find a solution to a problem, even when I switch off the computer, my head keeps spinning over and over again on the problem... any advise on how to make the final switch off from the problem?
I'm really stupid, to be a programmer I got a degree from the university, followed as well the math faculty courses ... after 10 years of writing code for industrial operating systems I shyly started top consider myself nearly what I aspire to (yet, when I check the resulting machine code I always find clock cycles to be optimized by hand).
So you actually DO have some influence over what it's doing, given you stimulate/tell it what to work on ;) … also, it does influence your normal life (i have found), when you have to much of it running in the background you will feel more tired and less motivated to do things and picking up new things is rather hard. And it can be as easy as doing some simple chores that you have been postponing, to finish some processes in your brain (mainly that which is keeping a list of things you should do) which then 'frees up' slots in your brain to take in new things. And obviously having to many things on your mind leads to stress, this is also true for the unconscious parts of your brain. I actually use it a lot to 'work' on things that interest me without necessarily thinking of these things consciously, and then after a certain amount of time these things will just 'pop-up' in my brain again and i actively think on it some more (aka. discuss with myself) which would include (running by) all the stuff that my unconscious brain could come up with, this is important to do, because it can apparently also come up with non-causal correlations or sometimes even BS-correlations, so you will have to actively weed through the output. But yeah, really powerful tool, though you can certainly 'overload' it as well...
I've been trying to write a guess-the-number game with profiles, saving scores, ratings, stuff like that. It makes me hysterical every time I try to continue. Damn sometimes it seems like programming in C is more like begging your computer to do something rather than commanding it. You expect it to do one thing and it does something completely different instead. Had to say. Take breakes, love yourselves, and code stably. Peace! :)
Uh someone has done his Spanish course it seems hehe. Nice video btw, it's good to know even with little, daily time I put into coding I'm actually doing something
Thank you, I like how you teach. I can't grasp, framework apps or programming framework I don't get it I read it and still don't get it. I'm like monkey see monkey do. What's the concept of a framework into programming? Thank you for the video and your time.
I am at the point where I can feel when I hit the wall. It feels like suddenly I can't think about something clearly. The time it takes to get to that point really varries from day to day but most days i feel I need a break every 2-3 hours.
Learn web development, Python, JavaScript ... and more: school.studioweb.com/store
You said you received a degree in psychology. Would you recommend getting a degree in college before you try to get certification in web development?
Former pro fighter here, also a coach and aspiring web dev...you are right about overtraining. Wouldnt be suprised if you read some Mike Mentzer stuff. Anyways Im impressed with your thinking. Im currently stuck in Javascript and commited, but php is a language i want under my belt for some freelancing eventually. Im gonna have to check out your courses!
Two months into programming and your channel has helped so much just saying thanks for all your hard work
AWESOME! how did you started?
@@beamadeinbrazil By watching his channel.
Funny, maybe not funny? It's not the first time I have heard someone with a background in psychology talk about this topic. The one that sticks out to me is the "Saturate, Incubate, illuminate" cycle. e.g. Saturate: expose the mind with info. Incubate: let the brain asorb or process the info and heal the new neuron connections settle. Illuminate: this is where the info becomes permanent and what you actually learned; or had that 'eureka' moment. Good video Stefan.
This is so true. I will never believe I can coding in my dream, until I experienced it myself some time ago.
ua-cam.com/video/vlf4Pn9nMug/v-deo.html
@@bambooindark1 I have coding dreams all the time, particularly when I hit a brick wall .... I probably do it more often than I remember. The interesting thing is, although the dream code is often impossible or abstract or impractical, it nevertheless tends to revolve around some key structure, concept or relationship that I am missing.
That is... I don't dream valid compilable code so much as perceive finished structures and relationships that fit the paradigm I'm working with. The dream gives me the "big picture" solution whilst it's implementation may be very abstract.
Often, such dreams prompt a major cleanup of my code or a complete refactoring.
I find I get the most vivid dreams when working with Haskell... probably because Haskell really stretches my ability to conceptualise complete systems. By contrast, my "procedural language" dreams tend to involve a little code - but, mostly, rather animated machinery or even creatures... probably because procedural code places far more emphasis on time and synchronisation of tasks.
Either way, I wake up bubbling with ideas and solutions ... even when the dream itself is not remembered.
My worst dreams are when working on Logic systems such as when designing for FPGAs/CPLDs. I don't find these particularly useful... more annoying than anything, as they tend to go on all night and cause more frustration than they solve. I guess my subconscious brain loves a challenge - but doesn't know when it should just take a back seat and let me work. Those vastly repetetive dreams that don't lead anywhere leave me very tired in the mornings... even when I don't remember them. When I do, I am really grumpy much of the morning : )
When I was coding in my 20s, I used to work 12 hour days. The first 4 hours of the next day were spent fixing the bugs introduced in the final 4 hours of the previous day.
Wow. How did you not lose sleep over the bugs? What's your generalized attitude towards them? This sounds interesting.
Well, it didn't happen all the time. It generally occurred when we were getting close to an arbitrary deadline. By the end of the day, you were totally buggered, so you didn't think much about the code you had written once you got home. You might dream about the bugs and then think about them on the way to work the next day.
Eventually management would get the message that all these long hours were not returning a proportionate amount of working lines of code and the pressure to work late would be reduced.
cybersphere 😂
Thats intimidating . Im over here on sololearn and youtube and you were working 12 hrs. makes me feel like ill never make it.
nah u got it man, self taught is powerful
Robert de niro of Programming ; ))
You talkin' to me?
Hahah yeah lol....
shevegen add Mads Mikkelsen to that list
*Al Pachino
You nailed it my friend
Great advice at 8:20. Take a break if you can't solve a bug. When you come back later the solution comes to you!
Peter Fralick talked to my friend with 8 years of experience. He said, this is how to do it. Go play some fifa and get back in half an hour.
I used to do that since i was a kid struggling with math problems i simply give up at night and wake up with answers
Videogames taught us this sooo well !
That's very interesting! I am programmer too, but I discovered by accident this approach of learning around 20 years ago while playing the guitar. I realized that when trying to learn a difficult exercise, I had to try as hard as I can, stop when I reach a point when I am doing more mistakes than improving, then come back to the same exercise later to realize that I can easily do it.
I didn't know why it was working, but I knew the trick. It's only two or three years ago, as I bumped on a neuroscience book entitled "How we learn" - if I remember - that understood why the technique was working. The first thing that came to mind was to call it - as you did - "a spiral/incremental learning inspired by the software development life-cycles with those attributes. I now apply it to anything I learn:
1. I expose myself to the new concept,
2. push to the edge of confusion,
3. stop and walk away,
4. let the brain build new synapses related to the concept, but not let them die off by staying away too long
5. come back to the concept,
6 review it
7. add new elements
8. repeat 2 to 7 until the entire concept is understood and memorized.
It is scientifically proven that doing some sort physical activity during the resting period is beneficial for consolidating memory. This is due to the generation BDNF!
I've learned to trust my subconscious. The next morning is usually my best work. Sleep deprivation is a bad thing. That's when your subconscious does the best work.
it's truly amazing on how the brain works. This is the lesson I needed to hear, I've been having issue progressing/understanding a lot of object oriented programming concepts. Usually when I program I do it for 25-30 minutes or up to 40 minutes, it never ocurred to me to see how long i can go before i need to take a rest and then come back to it and find out how much longer I can program before I get tired.
3:40
Two years ago I decided to teach myself music. I knew absolutely nothing; the last music learning that I did was at high school [every good boy deserves fruit] in 1990. Now, I have to my absolute amazement got music composing to a complex level where I could be paid to do it. How did I do it?
[1] experiential approach: 10% theory and 90% composing. There is no point getting so lost in theory that you don't DO stuff. Is programming the same? I don't know. I don't program. [not yet lol]
[2] Get the best books and software that you can for your budget. What you want is a feedback loop process where you are TOLD if you are wrong and how to improve. For my music I found software that told me if my chords were diatonic ally right. If they were not, I used it as a learning process and made my chords right.
To me music is a lot harder to self learn than programming; at least in programming there are rules and your program works or it doesn't. In fact I would say that music is the hardest thing to teach yourself. Now I can think in the abstract; what style of music or colour or mood am I going to make.
Unsure if you'll even see this comment but you are correct. Growing up being self taught with html/css along with billiards at a friends house, I've noticed over time especially when trying to learn JavaScript to do so in segments versus some bootcamps out there cramming so much info in so little time. Good example...I use to play billiards for hours on end and as someone who plays competitively over time I've realized if I practice 14.1 for 90 minutes as opposed to playing 8/9 ball for 8+ hours, I usually play a lot better, my level of focus is high the entire time when practicing for a shorter time span. Just something I've started to notice over the years which with what you're saying actually makes a lot more sense. For awhile I kept wondering why my level of play increased but this makes sense.
The "sleep on it" actually works wonders. I wanted to have a hidden table, which JS would reveal when the button was pressed, but I went about it from JS point of view. When it hit me that I could actually alter my CSS, I cracked it in a matter of seconds... That problem lived for a couple of hours
Great analogy with athletic training -- as someone who crammed their way through university and who is now self-studying web development, I can attest to the importance of resting to absorb and retain information. Thanks for your content Stefan, I'll be looking into your courses in the near future! Kind regards.
It truly is amazing how much better you can get at programming (or anything) when you chunk your learning in regards to the amount in an hour, day, and week. 20 minutes of learning, 5-10 minute break, 20 minutes of learning, 5-10 minute break. A few hours a day. Day after day. Its literally, 10 times faster and more efficient (if not more) than sitting down for 8-12 hours in a day to learn. Once you have a concept, spending 4-8 hours actually coding correctly will have a significantly less cognitive drain, and more likely to hammer in said concept. For example, when I was first learning Laravel, it just seemed like there was something new to learn every time I had a new task. I was trying to learn too much at once (especially since I didn't eve have the fundamentals down as well as I should), and was constantly having to come back to the docs to even create/code a migration file or write a function that would do what I needed. Once I got smarter about my time and efforts, I spent less time trying to learn more, and more time trying to learn less (with breaks of course). Once I had something like building factories down, I spent several hours making factories and testing them. Just for practice, instead of looking up things as they came along and trying to remember them when I needed them.
Programming is fun and because there is so much to learn, it can be very challenging and taxing cognitively. I'm sure I'm not the only one who would like to learn as much as possible, as fast as possible, but we have a cognitive limit in a given time period. Taking a day or two break from coding every once in a while has been incredibly helpful to me personally. Usually, I spend those days learning about something else, sometimes related to programming, sometimes not. The same part of your brain is not always being used when you're learning something new. It depends on what it is. Redirecting the electrical current from one part to another can still yield you progress, while giving you rest. Learning the business and interpersonal side of being a freelancer is a perfect example. Even though practice makes better, the right amount of rest is just as , if not more important than all the work you put in, as your ability to progress is completely dependent on your ability to have electrical flow across your synapses. You literally burn them out after awhile and need redirection of flow.
Again, thanks for all the great content Stef.
Everybody these days is teaching online, and as a teacher myself, it's so often clear to me that the majority have no actual training in how to teach. It's really refreshing to hear what you say in this video. I've subscribed and I'll be checking out your courses. :)
I can agree to all of this. Since learning how to program, after 4 months I notice small things like taking a more structured approach to making everyday decisions. I’ve also found that I ask more questions to myself about everything and even during discussion I ask the other person more questions. A lot of times I find the the questions have always had reason to be presented, but I guess I wasn’t thinking the correct way to ask them. Either way, this is one reason I love computer science, programming, etc. It changes the way one thinks...
Every time I have to learn something new I don't understand it, I get frustrated and I want to quit. Days later if I can finally force myself to give it another try, I end up understanding it, maybe not fully, and I go on and then the cycle repeats. I don't think there's a way to change that
El Libertoso when you hit the frustration point you just have to trust the process and keep plugging away.
Libertoso, soy seguidor de tu canal y soy programador. Jajaja, ¿Somos acaso de tendencia liberal los programadores?
Brain has two modes. Focus mode and diffuse mode. So when we try to focus on the problem that we can't solve we get frustated. The trick is getting our head out of the problem and going for a walk for a while. This will active the diffuse mode where our brain freely think and analyse the problem in the background. That's why we usually find the bug after we take a break or sleep over it. Sorry for bad english :D
@@hungrycoder3148 Thats really accurate holly shit, sometimes I'm impressed how can I solve something so quickly after a long break without coding or anything tech related and I was shocked like, I spent hours trying to debug and I couldn't solve it but after a break, I solved it in 10min or less.
LOl, Right. Left Programming years ago because of hard concepts. after that when i came back I repeated this cycle. and now i know i just have to take a break and learn other concepts.
You sir are the best teacher i ever had in my life. Im 18 years old following your Web development course. Amazing work from you!
INSTANT LIKE!!! This guy just teach me how to live my life.
Excellent. I'm just 4 weeks into programming. Never programmed before. I am really struggling to solve/construct the logical expressions in Java for Lab questions at university such as: a charity is taking donations. The maximum it takes is £500. You need to read in the persons name and how much they are donating. Then get the program to add up all the donations and print out who donated the largest amount. Trying to solve these questions have been frying ny brain. It's great to hear that there's a part of my brain that is working away unknowingly to me. As a matter of fact, I am aware that what I learnt in the first two weeks has 'somehow' 'clicked' in my head. What you say makes sense. I hope I continue to see and understand what I'm trying to learn now with these for loops and do while loops etc . Here's hoping because I feel it's a whole new level. I'll just keep exposing myself and hope for the best.
This sounds like great advice. I am a musician and I teach piano, and I’ve been learning to code mostly on my own for a couple of years. I use a lot of these same exact strategies for learning new music on the piano. The thing you said about how the brain continues to work on problems definitely rings true for me as a pianist.
I'm a BJJ Black Belt and I'm learning to code! I can confirm that people leave because of injuries and come back way better than they were before, I've seen it happen hundreds of times!
Right now I have knee injury, I have been off the mat for 3 months now, just coding and doing python.. also 15 to 20 minute drills at home dojo few times a week... I can totally relate..
This is good advice. Personally I will read a large text book in a day or two, then build a large project for a week and read around the net to help. Then read the book again. Then make a better project. Then the third time I read the textbook, I find by then enough of it has sunk into long term memory, as long as I refresh it every so often it sticks. Usually need to refresh it after 6 months or so.
Newbie coder here, great video! You've given me a great learning structure to work off of, I often jump headfirst into coding and make myself miserable trying to remember too much. It's good to know that the heavens don't have to open up and angels bestowing an entire language worth of information to me isn't required to learn coding as many other programmers/coders would have me believe. Amazing video, you have captured my attention!
Yesterday I spent more than two hours trying to fix a bug in the code. I gave up and had not a slightest idea how to fix it. Today I woke up fresh and I thought about the problem while having shower. A rather simple solution came to my mind. I sat to my computer and after 15 minutes the bug was fixed. A good long sleep can make wonders :)
That's the way it goes. Good job!
I’ve found that reading slowly has helped me to get a better fundamental understanding of programming topics. If you’re reading and you don’t understand certain words, pause and google them. It’s ok to take 30 minutes or longer to get through a paragraph if you’re stopping to understand the context. Eventually you’ll have such a good core understanding of programming topics that you won’t have to stop in the middle of a paragraph as much and your rate of learning will increase quickly. It’s like building a house, if you make sure your foundation is strong then it will be much more beneficial to you down the road.
what ive been doing learning python, ill study the code its teaching me, repeat it a few times. then move to the next and do the same., i document what i have learned after each exercise, usually this takes me about 2 hours for 2 exercises. then i take a break after 2 hours and come back like 6 hours later and do a quick review of what ive learned then go onto the next exercise and repeat the cycle. its been working for me. so far ive learned about 13 exercises and i know them inside out. i feel confident that if i keep it up like this ill learn the python language fundamentals then ill be able to move into whatever is next to learn.
I studied psychology and you might have your terms outdated but I can confirm hes psychological theories are correct. Incubation, rest, sleep, background processing in the brain, but basically, its not what you think, its what you do which is what your brain pays attention to, so exposing yourself with programming consistently is good.
Thanks for the pep talk! I've never felt as stupid as I have trying to learn to code:)) I've tried several different systems, programs, courses, etc... And I STILL have no idea what I'm doing 2 years later. I'll keep at it with your thoughts about learning in mind, thanks.
I will try your advice, Stefan. I'm suffering from memory issues(medication side effect) due to a health condition and I'm really struggling in learning new technologies and searching ways to cope with it. Thanks a lot.
If you do music, you can get into a rut and you can't really force something as creative as this. Take a break, and this can be quite a long break. When you come back, it's often the best time to record everything you do because what you learnt the last time has embedded itself to some kind of lower consciousness but you are open to new ideas.
It's important to stress this. Sometimes the break doesn't need to be arbitrarily fixed amount eg 15 minutes. Sometimes, it can be 1 hour or even 2. Basically, it should be reasonable enough according to your situation. I took a break from PHP for a year, returned to it and learned a new framework in days. Before, it took me weeks.
Great vlog Stefan! Just what I needed today....I am loving your 'web Dev' course, love your way of teaching, but I hit a wall today while learning JS, so I backed away for a good few hours, before I go back to it, thanks for all your hard work and time you put into your courses.
Glad to hear you are loving my courses. Keep it up!
Stefan, like many discovering your channel amongst others seeking to program and code, your approach, knowledge, and confidence in your craft are vehemently appreciated. You remind me of an older comrade who also lived martial arts for a good 20 or so years and I see much of the same general sense of calm. I am rusty in Aikido myself and prefer its philosophy and method. If all the same, I plan on continuing to learn from you, and as an aside do agree with your thoughts about AI and Python with the present standard of living in the western world and notions of UBI. It does seem inexorable, though much feet dragging in process, if we are to keep a global market system - until hopefully moving beyond the limitations of markets when technology renders currency an impediment to progress~
I tend to study 8 hours straight, everyday. front-end / back-end. My brain has no time to absorb the information because I'm exposed to a new information every minute 8 hours a day. It has no time to process these continuous feed of information because it's too tired. Now you're making sense.
How is it going today? Would you say you learned anything?
I completely agree on the last part of the power of our sub-conscious. Been programming since i was 17 and every time i spent 2-3h to fix a problem that i could not find a solution, i would either take a 1-2 day break and then comeback, or I would just (unconsciously)dream with the solution during the night and somehow remembered it. Call me crazy, but this happened to me multiple times.
It's true, i've tried it while learn new concepts to apply in my project and it works, i don't feel sluggish or stuck on a concept..
by making all these vids, you became my mentor while we never met.
Glad I am helping.
For someone new to coding, seems to have procrastination habits, imposters syndrome this is awesome advance! Wish more people discussed topics like this one! Knowledgeable information, thank you for sharing your tips.
Welcome!
In other words, to learn how to code programs you have to learn how to code yourself first. Great video. :)
Excellent advice, if applied this advises can save you so much time, energy and pain.
But you forgot one thing: food you eat can make you or break you(this is where coffee comes in to save the day).Exercises can also help.
I advise people to research what *dopamine* is, and how it affects your brain, and yeah that coffee may save your day, but it will hurt you in the long run.
how does coffee hurt me in the long run? can you elaborate a bit?
Someone Curious simon sinek has a excellent video on dopamine it really helped me to quit social media and now i have total passion for coding now.
Good advice in my opinion. And an interesting contrast between this way of doing things and all that super-macho stuff the bootcampers are into with their 'let's code for 14 hours solid 'cos hey, we're all going to work for google'.
I've almost finished the CSS part of your IWD course and I'm super impressed with the way you break subjects down into small, bite size chunks each getting a 4-5 minute video, followed by a quiz which really keeps the concentration going. Great job and super value.
Great advice. Thanks, as always, for your incredible videos! Since I've started getting into Python about 2 weeks ago, I've been on your channel non-stop getting all the information you've worked so hard for to put out. I appreciate you!
I'm taking your course now. I do agree, compared to courses I've done on udemy...I really love your course...Thank you
Sir your videos always make me feel better about myself, everything that you say in every video is so relatable and true! Please keep making videos like these to help newbie programmers like myself to learn these important lessons at a very early stage into programming.....
I love your videos and how you've learned how to learn. I'm a former wrestler and athlete and I can second what you've said about coming back from an injury better because of the break. Love your stuff going to buy your course, thanks!
Lol, legit. I often find solutions to yesterday problems the next morning while brushing the teeth.
Mind is always working in the background.
Totally rare video on yotube!As a new member on software engineering i need videos like this to help me at learning how to learn .Thank you Mr Stef keep up the good videos!
Your welcome!
Idk what studio web has you do but my first programming professor in college had us work on two long projects throughout the semester (a text adventure game and a console based chutes and ladders) rather than standalone practice exercises. As we learned new concepts we would add functionality to the games, and it was even designed to force us to refactor a large portion midway through the project. The result was we were forced to think about the long term, and the prior concepts were never really forgotten because each assignment required us to remain aware of how everything else we’d already done worked. A lot of people disagreed with her grading style and to be fair she was rather picky about that, but her teaching is well worth dealing with that imo
I think the only downside is how that kind of curriculum is probably difficult to design for yourself because you have to already be familiar with the concepts before actually starting
I'm so happy I've found you here!
One of the issues for people is I think while there are endless tutorials on the basics of Python, I don't think many take beginners to the next step making basic, useful, coherent programs. I don't mean text games like Tic-Tac-Toe or Hangman either, but something that has value and seems actually useful. The exception I suppose being any Django or Flask tutorials if you still feel like you're learning Python while relying heavily on someone else's framework.
Taking your course and hiring you as my mentor is the best strategy
I just started following your channel few days ago but what I've learned makes me wonder where I've been looking on youtube. Thanks for these talks.
totally diggin the outro LOL
Excellent content , I resonate a lot the part of resting the mind when it comes to being stuck, being in home office sometimes I take my dog for a walk between breaks and I do not get rid of that problem I have, I do not let my mind rest. Better to leave it for the next day, always the answer will come
Glad you liked it. Thanks!
Stop getting into my mind Stefan, lol just kidding. I love your videos and have purchased your course. You are right some people teach but don't know how to teach. You are a very good teacher. Thanks for your content
I appreciate that!
Excellent video, keep doing this good job!
I'm from an advertising environment, I read a lot about creativity and the authors talk about the same learning topics of this video from time to time.
ua-cam.com/video/vlf4Pn9nMug/v-deo.html
The thing you're talking on 8:30 happened to me as well. Couldn't fix a bug for around 3 hours, the next morning I solved it in less than 20 minutes.
Sir your words are diamonds
Glad I found you. Thank you for this, I needed it. Looking forward to seeing more from you.
Right on time for me! I really do wish I'd come across your stuff First. I watched the sample video on your Website and realize how ideal that learning/teaching experience is as opposed to others.
You have all my respect! You're videos are very helpful and your calm voice make it a pleasure to listen, thank you!
nice trick with the ad placement
i literally clapped for you. Awesome advice!. Will definitely buy your course one day
He is a guru. Really great videos.👍🏽👍🏽
Any chance you will have a course for CPP?
some of the best advices that I've heard in years,thank you!!!
Thanks for your time and effort, Stefan :)
Great video! Thank you, Stefan!
I like this guy. Like, Most people already know how to learn hard, how to try to achieve their goals with hard and consistent work. But that self-driven force towards the goal can also induce counter-productive behaviour, where the desire to get to a certain point blinds of otherwise obvious concepts, that would normally help us tremendously with a task, let it be long term or not. Taking those breaks and only work with what your mind offers you at the time + staying at it consistently is what can really make a big difference. Im grateful for you to explain that.
Welcome.
Thank you I really needed this. I'm learning ember for work and so far I'm overwhelmed at the information I have to learn in order to assist my coworkers. I'm a bit stressed lol.
This is very helpful, Thanks Stefan!!
mischook! you have done a great guidance! that's really true and strong!!
I'm willing to take up your course in python, as soon as I finish another course :D. Like your videos, greeting from Spain
Greetings from Canada. I hear Spain is beautiful, but I've never been. Thanks!
Jorge what is web dev job outlook in Spain and where in Spain?
@@Mucfood24 Thanks for your response. I can code and do UX design. Any studies and videos I can refer to to find out more. If you have data about hiring of tech jobs, that would be great. What big companies are in Spain? Thanks
Wow, it's obvious you have a background in psychology, really interesting application to coding. This is going to help with learning in general not just coding
How’d you guess!!!?? 😀
Thanks for the tips and helping me understand why this is important. Although ive started learning web dev recently, At times I just get overwhelmed to even grasp the basics.
By the way, even you talk you sound like an Italian Mob Boss LOL
Great tips, really helpful and that second thing mentioned about solving a problem after a day or two is so true, happens with me all the time hahah very nice video. :))
Thanks, Stefan. I shall keep this video present, specially in those moments in which I become too stubborn about continuing coding/debugging/working and my head just simply does not want to collaborate - that is the signal to disconnect for a while. Another problem that I usually face is that I tend to be reluctant to disconnect when I do not find a solution to a problem, even when I switch off the computer, my head keeps spinning over and over again on the problem... any advise on how to make the final switch off from the problem?
This video did it for me. Thank you for sharing your knowledge and experiences about learning! I feel confident it will help me a lot!
I appreciate your forthcomingness.
Subscribed!
I'm really stupid, to be a programmer I got a degree from the university, followed as well the math faculty courses ... after 10 years of writing code for industrial operating systems I shyly started top consider myself nearly what I aspire to (yet, when I check the resulting machine code I always find clock cycles to be optimized by hand).
You know what the best bugs are, the ones that are just like one wrong variable or you forgot a } or a semicolon or a parentheses
Those are the worst sort of bugs. I hope you know!
just discovered you channel recently, what a godsend!
Glad I could help.
Thanks uncle, you're right.
This principle applies to all areas of life
This is AWESOME, thanks Stefan
Welcome.
So you actually DO have some influence over what it's doing, given you stimulate/tell it what to work on ;) … also, it does influence your normal life (i have found), when you have to much of it running in the background you will feel more tired and less motivated to do things and picking up new things is rather hard. And it can be as easy as doing some simple chores that you have been postponing, to finish some processes in your brain (mainly that which is keeping a list of things you should do) which then 'frees up' slots in your brain to take in new things. And obviously having to many things on your mind leads to stress, this is also true for the unconscious parts of your brain. I actually use it a lot to 'work' on things that interest me without necessarily thinking of these things consciously, and then after a certain amount of time these things will just 'pop-up' in my brain again and i actively think on it some more (aka. discuss with myself) which would include (running by) all the stuff that my unconscious brain could come up with, this is important to do, because it can apparently also come up with non-causal correlations or sometimes even BS-correlations, so you will have to actively weed through the output. But yeah, really powerful tool, though you can certainly 'overload' it as well...
Stef, thanks for this encouraging vlog ::)) Wishing you a Happy and Prosperous 2018 ::)))
Very inspirational video. Thanks a lot for this!
Thanks! Glad I could help.
I've been trying to write a guess-the-number game with profiles, saving scores, ratings, stuff like that. It makes me hysterical every time I try to continue. Damn sometimes it seems like programming in C is more like begging your computer to do something rather than commanding it. You expect it to do one thing and it does something completely different instead. Had to say. Take breakes, love yourselves, and code stably. Peace! :)
Mister how or where could I improve my language especially for programming, terms, technical words?
Good video sir, for beginner should we rewrite code from scrartch? when see tutorial on internet or buy source code on some website?
Did you train with GSP's team? To me youre the (GOAT) GSP of programming
So what would be a good amount of weekly study time in your opinion for someone working full-time? 15 hours or so?
OK Stef, you finally convinced me. I'm going to buy your web developer course. Let's see what will happen. :)
Thanks!
They say Eubank Jr is over-training. On a related note, did you se Lomanchenko vs Rigo? Amazing stuff.
Uh someone has done his Spanish course it seems hehe. Nice video btw, it's good to know even with little, daily time I put into coding I'm actually doing something
Thanks a lot for your advice. Very useful and motivational!
Thank you, I like how you teach. I can't grasp, framework apps or programming framework I don't get it I read it and still don't get it. I'm like monkey see monkey do. What's the concept of a framework into programming?
Thank you for the video and your time.
Love these tips! Great vid, thank you Stefan :)
I am at the point where I can feel when I hit the wall. It feels like suddenly I can't think about something clearly. The time it takes to get to that point really varries from day to day but most days i feel I need a break every 2-3 hours.