Question About Frameworks, Preprocessors and Libraries

Now there are a lot of CSS preprocessors, webdev frameworks, JS libraries, and software to convert designs into code out there. So, is it reasonable to learn HTML, CSS and JS? Or rather it is better to spend time and efforts on learning these tools?

Sherpa Allison Wagner answers:

As great as today’s pre-processors, frameworks and libraries are, understanding the fundamentals of HTML, CSS and JS is hugely important. Using something like a CSS pre-processor, for example, is far easier if you understand CSS itself. Same with JS libraries and frameworks.

That’s not to say you have to favor hand-coding over these resources. It’s just that starting with the basics and building from there makes the most sense. Ultimately, though, as long as you publish quality code, any approach that gets you there is perfectly acceptable.

Most front-end developers I know consider themselves “self-taught,” meaning they have no formal education or degree in their field. Instead, like you are doing now, they crafted their own unique educational path to professional status. 

I learned by following tutorials on sites like Smashing MagazineNettuts and CSS-Tricks. These sites do a good job of mixing intermediate concepts with basic ones, so I was learning fundamentals and fun, fancy stuff like CSS3 drop shadows. Combining basics with more advanced information helped keep me interested and, therefore, learning. This, in itself, is critical to being a successful web professional. My suggestion for you is to investigate online learning tools like Treehouse and Codeschool

Ultimately, though, we all have different learning processes. So if starting with something relatively complex (such as a JavaScript framework) and breaking it down until you understand its components is how you learn, then that’s what you should do. What’s important here is that you are interested in learning, and that process of learning is critical to determining what tools and resources will work best for you and your projects. 

To help you with your own educational path, here are some great resources I recommend: