Hello ladies and Gentleman,
So far I've been putting hours and hours into learning to code HTML and CSS. Both here on Treehouse, as well as the few textbooks i bought and began to read. I'm constantly researching, and constantly reading as much information as I can to learn as much as i can about the in's and out's of Front End Development.
My problem right now is I feel like i'm just not retaining anything. I open up a Note++ document or even a Codepen pen to try and start... something and I just don't even know where to start...
Are these kinds of walls common and what are some ways to get over them /knock them down? Tips for helping to retain the knowledge? I feel like there's sooooo much to learn and I don't want to get discouraged because I really do enjoy coding, and i'm afraid i'm going to start.
Anyways, thanks in advance everyone!
Steven Parker170,451 Points
I think that kind of experience is not uncommon, and the best way to approach it probably differs with each individual. But that said, what I would recommend:
- Pace yourself. Don't give up, but don't try to do too much at a session, or per day
- Study regularly. Try to establish a schedule of times/days you spend on it, and stick to it as much as possible
- Use supplemental learning. Try to find other sources of similar material but presented in different ways
- Stick with it. Take more breaks if you get too frustrated, but don't stop entirely.
Hopefully, you'll experience a "click" before too long where things begin to make sense, and the process will become fun (again).
Ari Misha19,211 Points
Hiya there! Yes , they are common. When i start out with a project, first i create a wireframe. A wireframe is simply a design of your vision. I suggest get a pen and paper, and draw your wireframe on the piece of paper. This psychology might sound stupid and old school but its extremely powerful. Now you've a wireframe and a clear vision, get to the coding part. Try to modularize your code as much as possible. Take a look at other projects on github. Thigh might give you an idea how your finished product should look like and it'll also expose good coding skills and best practices.
Thats how i get started with a project. But do not underestimate the first step of wireframes. It almost solves 40% of my headache for real. I hope it helped!
Greg Kaleka38,979 Points
Just to add to the good answers here already, yes, this is absolutely common.
One thing that I try to do as soon as I learn a new concept, here on Treehouse or elsewhere, is to do the thing they're teaching me, and then immediately apply it to something slightly different. For example, if you learn how to build a navigation bar, and the teacher walks you through building it with a logo and link to the home page on the left, and main page links in the middle, go to codepen and build exactly the same thing, then build a slightly different variant. Maybe put the logo on the right (gasp!), or style the links differently.
The idea is to generalize the knowledge you're gaining. The more you do this, the easier it will become to apply individual skills to various projects.
I also recommend reading this post on why learning code is so hard and the fact that you're likely to be frustrated for a while (maybe even more than you are now!). If you can, you should embrace the frustration, because it's necessary, will always happen (even once you're an "expert" you will experience frustration, just with more complex problems), and leads to learning . However, you definitely should take breaks to avoid burnout. More and more, I am realizing that I come up with the best ideas and ways to solve problems when I am away from my keyboard, anyway.
If you can embrace the frustration because you live for that rush that comes with solving a hard programming problem, you've found the right field.
FatCat McChubbyCheeksFront End Web Development Techdegree Graduate 32,292 Points
I found two things helped me retain HTML/CSS knowledge. First is working on a real project. If you can find a friend or small business that needs a website built (even a WYSIWYG like Squarespace or Weebly that lets you do custom CSS), it will help you whittle down the information you'll be using in practicality, instead of stockpiling a bunch of theory. You'll also explore and grow your own style which is cool, and can rake in some skrilla from the project.
The second was the Techdegree program here at Treehouse. Throwing down $200/month was just enough motivation for me to work more consistently on my education than when it was only $25/month. I noticed a definite improvement in retention because I was working on it daily and if I delayed, I was loosing money. My main wall was JS, and there were a few late nights, but I went from 0 to functional because of the Techdegree program. Pricey, but worth it for me.
Take it slow and easy at times too. If you feel like your exerting too much, try to let your mind be more absorptive. And have fun! Make some cool stuff on Codepen that is more artsy than business-y just to play with the boxes and colors and functionality.
But if you're main thing is not knowing where to start, it might mean that you need a practical project to provide some creative boundaries and expected outcomes. Hope that helps man!
Craig DennisTreehouse Teacher
Hey y'all this post was featured on the Treehouse Show episode about how awesome our community is. Thanks for being awesome!
Grace Cee1,656 Points
- Not an answer but also an experience*
Hitting the Wall, How Other Treehouse Students Learn, and Behind the Scenes
This has come at a very opportune time at this point in my learning. I am currently between The Cliff of Confusion and The Desert of Despair. It was a joyous "honeymoon" so much so that I've shared to friends and family about my success in coding. And yes, also guilty of imagining myself a good developer and all the goodies that come out of it! Then comes the fading light, the blank stare as you try to code but there aren't even straws to grasp. I'm in my early 40's trying to shift gear (and career) so as to have a better future. And I began to doubt my capabilities in learning, thinking I might be too old, or that it's not cut out for me, and the stress of depleting resources (kaching-kaching!)! This article(s) and community experiences have renewed my hope that someday I, too, get that "A-ha!" moment. Thank you so much and looking forward to making it to the end!
I understand the "wall" very well though, it is a point I am at myself primarily with Android development. If someone says "build a list view" or "make a recycler view" or "make a connection in the background thread" I can do those things. However, if I want to build my own project, where do I begin. Do I need a recycler view or a list view? Do I need to make a connection to something or can I do what I need directly in the Android API. I haven't reached that proficiency to move forward. I just have to trust that if I keep practicing and checking out different examples of the same lessons I will eventually grasp the "why" and not just the "how".
Keep at it, you will get it. Believe me its a great feeling when it finally clicks.