I hope this question isn’t too much out of place here.
I started working on freeCodeCamp very recently and all made perfect sense up till the first projects were I realised I lack more in-depth knowledge of css, positioning of elements, etc., to build anything decent and also to understand reference material when I’m looking for something, say on MDN.
So I put freeCodeCamp aside for a while and started learning some more in-depth css theory from books (were you don’t actually build anything from scratch yourself)- I am enjoying that, but it’s taking some time and I am not sure at all if this is the right approach- should I rather spend more time building freeCodeCamp projects and the knowledge will build up naturally?
I guess there is no one right approach, however if someone has an advice or own experience to share, it would be most appreciated!
focus on the exercises and projects - read just enough supplementary material to solve the problem at hand and move on to the next problem - if you get stuck ask questions on the forum - it won’t all go smoothly and it won’t all be enjoyable
I have tried the" learn theory well and then projects approach" and after two years of learning I don’t have that many projects to show for.
But that doesn’t mean it’s the wrong approach. In the end till you get a job, some newer technologies would come and you will be in this constant circle of doing projects without knowing the technology really well and that’s fine.
Just keep building small projects. If you think the Portfolio project is difficult then try to get a good grasp over CSS - FLEXBOX, Positioning elements, z-index or Use a CSS framework.
Look at various layouts and try to replicate them using just HTML and CSS. They don’t have to be exact same and pretty. But you should be able to position elements the way you want to.
Then add responsive web design, and so on so forth. Take it step by step and create projects along the way.
What i do is learn the bare minimum to do a project, be sure to fully understand everything you use, and as you build projects, your knowledge naturally grows as you add more functionality.
For example, CSS. You learn the bare minimum to do a website, and then you need more specialized selectors, so only then you learn about selector specificity, CSS functions, etc… If you learn about selectors in a vacuum, you will likely not be able to use it when necessary. I use this principle for any technology, if it ends up that i’m not doing anything advanced with that technology, learning it in depth would be a poor use of my time. You learn something to do something else, most of the time, so the focus should always be in doing something with that knowledge.
Im generally one who learns best by doing, not just reading… but especially for development I think its true that actually using what you learn is what actually helps you learn it…ie projects. Thats what they are there for afterall, these projects are to help you learn how, not just a final end result of everything you already know.
My advice would be not to abandon the doing part of learning for just reading…but to do both together. When you get to a part of the project you dont understand, research how to do it and then directly and immediately apply that new knowledge to your project to put your new knowledge into practice. Bit by bit you will finally reach the end of your project and have acquired the know how along the way.
You’ll most likely be able to find a ton of topics about whatever you are stuck on right here in the forum. And if you are completely and totally lost…just do a search for say “how to start the tribute page” …I just now did that search and got 50 results. I can guarantee if you read through some of those results, you’ll find exactly what you need to get rolling.
ppc, akshaynaik404, GregoryGoncalves, cndragn- guys thanks ever so much for taking time to write such thoughtful and helpful replies!! Much appreciated both the advice and experience sharing.
I’m off to do some building now and will be back for advice as cndragn says!