I have a problem,
I studied tons of web development courses on many platforms free and paid, during the course I feel like I have a full grasp on the subject. I follow the tutor and write every line of code he wrote, and when I see the results on the screen I feel awesome but after a while I forget everything and I feel depressed that I had to start from the beginning.
I think I’m still a beginner after two years of teaching myself coding which is a long time. I don’t want to give up but sometimes I feel like I have to.
I have a problem,
This stood out to me…between the courses and writing the code your tutor writes, have you branched out on your own to start a project and writing your own code? Cause that is how you will learn 100%…by doing. Its great to see how something is done, but then at some point ya gotta fly!
Here on FCC, the responsive web design projects are the first and most basic…have you done those yet? If so, find a site you like and recreate it…not the whole functionality, just the layout and design of it to get practice with your html and css. You will learn through repetition…the more you do something, the more it will stick in your mind. Anything you find yourself constantly looking up, create a cheat sheet to jot that info down. Eventually, you’ll find yourself referring to it less and less…and its a huge morale boost to look back on your notes of things you needed help remembering, and seeing how far youve come because in time, it will seem so easy to you and you just know it.
So yeah, dont start from scratch over and again, dont copy lines of code, start something, even if you have to google every single thing you do to complete the project, or ask a lot of questions, you will have learned so much, and cemented it in your mind from the work and effort that went into it…
then when youre done, start a new project…incorporate new things youve learned, or something you want to learn into this new project. When youre done with that…repeat.
first of all thanks for reading my post and for your valuable advice, I’m working on the projects but they look terrible and I find myself not knowing the basics like how to make a Navbar from scratch without using bootstrap!. I’m jumping a lot between courses sometimes I study fFrontend materials, other times I’m studying Backend. And the worst is I don’t feel I can write a single line of code without following someone steps.
Good day @Moha-99,
That is a good question.
Forgetting how to style a page?
Forgetting how to animate that page?
Forgetting how to use that Framework for that page?
Yes! It happens.
Your head can only remember this much.
The brain is a muscle that has to be used constantly with what you learn and apply. Else it will atrophy.
I fell into the trap of spending tons of hours learning both paid and free materials but soon realized that it’s only good up until you apply them.
You learned HTML and CSS? Create 20+ landing pages.
You learned a new Framework? Create 20+ dynamic web projects.
You learned a new database? Connect it to the previously created projects.
You learned a new back-end language? Create back-end logic for the previously created landing pages and dynamic projects.
Working through them with knowledge and application will make them stick.
You have knowledge but need application to make it stick.
Knowledge + Application = Path to being a better developer
Visualize it as going to the gym.
You can buy a great book on how to get 6 packs and well sculpted abs but the exercises will stick only when you apply them and spend time in the gym.
Keep learning and investing but don’t forget to apply them.
I really can’t thank you enough, I think I needed to hear this two years ago, but it’s not over yet.
You are going to forget a ton of stuff. Everyone does. You are going to feel like you look everything up and start wondering if you can get a job as a google searcher since its all you ever seem to do. We’ve all been there. You’re going to feel super frustrated…it wouldnt be called a challenge if it was easy.
So yeah, there is no one ever who knew development before they learned how to do it. As you already know, always copying someone elses steps is not going to help cement this stuff in your brain. The only thing watching those steps should be used for is to learn the concept and get an idea of what its supposed to look like…but then, you need to venture out on your own, make mistakes, forget things, break stuff, get it working again and thats how you’ll finally get it.
Thanks again… I will take your advice seriously and apply it on my own projects no matter how they look they’re finally my own. And I will try to improve myself more
Failure is the best teacher, and the only way to fail is to do
as @geek4ctrl said, working through things will make them stick. I only want to state why it sticks. If you spend 5 hours going over courses on how todo X you will learn a lot less than if you struggle trying todo X for 5 hours. If you spend all this time struggling, bashing your head against the wall, questioning anything and everything, and then find a solution, you are pretty sure by the end of it you will remember it. That’s what makes it stick, it’s failure.
Now you might run into the same issue again in the future and forget how you solved it, but since you spent so much time on it, you should have some instinct on how to get around to solving it. Expand this over every single thing you struggled with and you get a broad knowledge base of experiences to go off of.
Now compare this to taking a bunch of “walkthroughs” where you can’t fail, and you come out with a slight memory of how someone else did it. You can’t gain experience without failure thus you must force yourself to fail to learn that experience, and that experience is what you lean on when you forget.
I’d like to point out courses are fine for learning what you don’t know, as you might know how or what technology X is, but a course will go over it and spoon feed it to you so you get a basic understanding. But does that mean you fully know and understand it? Not exactly, you should do it yourself, get through the struggles, find the pitfalls, deal with the common issues, only then you gain the knowledge and experience.
Finally, if you want to learn full stack, you should just jump in and try to do full stack. You will run into wall after wall, but if you can learn about each of the issues you have, and over-come them, you can learn anything.
Thanks it’s a great advice. Failure is the only way to learn, I guess I was afraid of seeing my own messy code that’s why I couldn’t improve and felt stuck on tutorials and courses.
Someone said (don’t remember who and can’t find it)
Failure is the lessons, success is the diploma
Think, how many hours did you spend in school doing lessons to get the high school diploma, or college or university to get that degree, or a course to get that certificate? You need the lessons. Same thing.
I agree that creating your own projects as you are working through lessons is a good way to help learn the materials.
I’m in the process of learning Python and have found the CodeWars a really good way to think about what i’m learning. It might be worth seeing if there is a site like codewars which has html & css challenges.
I think it’s fairly common. I also felt that material didn’t “stick”, even though I followed courses, typed in everything that was shown and felt I had understood it at the time of the course. This only changed when I started to set up my own projects and apply the material covered, e.g. in form of simplistic mini games or utilities. I had to refer back to course materials and google a lot, but this approach was key to information retention for me. I also found that keeping handwritten notes is very helpful.
It’s easy to fall into the trap where you believe that you can’t yet do any pages, apps, or programs and that you need to first learn more, and so you quickly end up with this long list of concepts and technologies that you feel you need to learn and study before you can build something of your own. But in a way, this is like trying to learn how to play the guitar by watching other people play and reading about it.
For example, as soon as you know about loops and conditions, you can do a basic game like “guess the number”. Then you can style it (if it’s a web app), add highscore tracking and sounds, and expand it as you learn more in courses and lectures. Or you do another little game or app. Ideas will come to you in no time, and every time you bump into a problem (and you will!), you have to find solutions. There is no reason to wait for that future point in time where it all magically clicks and you’re suddenly able to write a complex program or web application. Without persistent practice and practical application, that moment will probably never come.
I frequently fall into this exact trap whenever I set out to learn a new skill and then over-focus on the theoretical aspects and spend 90% (or more!) of the time on thinking and reading, so I can absolutely relate here. What helps me is to split the time I spend on programming into three portions: one part courses, one (small) part watching videos/talks, and a large part applying what I learned in my own mini projects.
Practical application of a language really is the best way to learn. Once you start thinking ‘I need to do this, how do I do this?’, your brain begins to critically think. Understanding entails being aware of intricacies like what is the overall goal of a problem, why a solution is the best, what other solutions may be viable, what happens if you make small tweaks to your code, what reference material is helpful, how your solution might change with slightly modified problems and much more.
And don’t worry, you will forget things. We all do. Just make sure that you have EFFICIENT notes to reference for finding answers. For example, SASS is very easy if you understand most programming constructs, so a cheat sheet may be good enough for oneself. As for React+Redux? I keep full code samples as reference and have tons of ‘tips and tricks’ as I call them to quickly recall the language’s methodology. This is both because I’m new to the frameworks and because they have a lot of very specific syntax and interactions that I want to be able to quickly reference and recall.
Last but not least, definitely get good at referencing and using programming language help docs after doing tutorials/lessons. This is an invaluable skill that will really help you problem solve in a language efficiently and even learn about things that perhaps you may not have known about.
Best of luck on your studies!
Even though I’ve been in this ride for less time than you, the best tip I can give is, don’t give up, and practice.
I always have the feeling that I know nothing but I push myself to keep practicing.
One thing that helped me quite a lot is having a simple doc where I write a report of what I’ve done through the week so later I can revisit it and be aware of how much I advanced.
Going through older courses or FCC challenges is great as well. I remember taking some days to do the basic and intermediate algorhitm challenges at first, then when I started studying more seriously I did them again, and not only it took me less time, but also I improved some of my solutions.
And yeah, that’s the good part. Some days I get stuck for a couple of hours, I take a break, I feel bad for not studying, I relax a bit. But the next day I try again.
Don’t give up man.
@moha-99 I totally relate to your sentiments sometimes. I have watched to many courses and things have not stuck. In recent times I have just stuck with working on the projects that @FCC provides. It actually feels more freeing to just design/develop that way than watching courses over and over. I’ve also learned more this way about what I don’t know and know.
One thing that sucks when you start off is the tutorial or course hell, that you keep repeating as a beginner. Really agree with what others are saying here to venture out and practice in your own projects and referencing/googling/reading support materials rather than relying on courses.
Simple answer: no, you are not alone.
Watch this video :
I always love to see advice. There are lots of good advice and I am happy to see that people love to help each other.
I am sure you are relax now and can decide easily what you need to do and hope you have a great life ahead.
I follow several developers on Twitter and one of the tweets someone posted has stuck with me since I read it. It said, “I’m a professional developer and I still google even basic things nearly everyday.” We have this perception that the pros can sit down and type out a complete webpage without turning to any materials. This just isn’t true. Even the people who do this for money forget simple stuff and have to turn to W3Schools or Stack Exchange for answers. Hopefully this gives you confidence to plow forward.
So dude, really? I’ve been doing this for more than three decades, across more than two dozen programming languages. And I STILL feel like a beginner more often than not.
I’m constantly referring to MDN or StackOverflow or here to find out something I don’t understand, or have forgot.
I keep a handle on things, for the most part, but sometimes syntax or function signatures (what it takes as parameters or what it returns) get lost. So look at it this way – not only are you learning a solid foundation of coding, you’re learning the fine art of research.
It’s ok if they look terrible! Honestly, I purposely made the Responsive Web Design projects as slapdash and quickly as I could and mine looked just awful to me. I went back and redid three of them to a standard I wasn’t embarrassed by, and my plan is that once I get down further down the line I’ll redo them again into something I’d be proud to see on my portfolio.
I’m taking this code-learning journey as a rediscovery of myself. I was always naturally good in school and never studied but got straight As. I’m now 40, and my brain just doesn’t function the same way it once did. I’m learning how I need to learn, and how to fail and get back up. FCC is one of three online “bootcamps” I’m doing, in rounds, trying to mimic cyclical learning so that I’m alternatively learning something new with reviewing and expanding.
I read an article semi-recently (it may have been on Medium/FCC) that had the best advice: do the project assigned. Then take it and make it into something else. Break it on purpose and fix it back up. Right now, in another course, I’m doing projects where we make a number guessing game and a hangman game in Ruby. I try to solve them myself and then I step through the solution and after I fix my code I think about WHY I needed to change it…why did mine not work and why does this one? After that, I’m going to use those as models to create a Mastermind game on my own.
A last note about the FCC projects: some of the requirements were not covered in the lessons! This is, as I understand it, so that you’ll learn to Google and use other resources to mimic how programming is in the real world. There’s no way you’ll be able to memorize everything. And things change…media queries to adjust display and Android phones, for example: as of around October 2018, putting a CSS media query in to adjust the style does not work on Android phones unless you put a bit of code in the head. I had a heck of a time figuring that out…and when I did I got that lovely WIN endorphin rush.