When to Learn Something New

Being a front-end developer, there’s a lot of different things out there I can dip into. SASS*, LESS*, various frameworks and the like, but really, why should I learn some of these? Better yet, let’s answer why not to. Some things make process easier, jQuery is a great example. It took JavaScript and gave it a chance to be something awesome. You can write things in jQuery that would take forever in JavaScript, and while jQuery isn’t exactly a web standard like JavaScript, it is definitely a common-use standard. But does common-use mean I have to know it?

thWith CSS a lot of people and companies like to use things like SASS and LESS, which can make CSS faster to code, replacing things like colors with variables that can be changed in one place and that change gets applied to the whole set. Once you compile it of course. Simple change? Nah, gotta recompile first! Maybe I’m being a little harsh on them, but really, if I need a color set, instead of having a color set in a dozen or two different classes, I’ll set that color with it’s own class. Then I can just have that class applied where applicable. Basically, I solve the problem using standard CSS rather than using something that may or may not be supported in five years.

But wait, won’t CSS be totally different by then too? Probably not. It’s certain there will be new stuff, and from what I’ve read, the kids down at CSS HQ plan on adding in similar functionality that SASS and LESS, but it’ll be web-standard. I’d rather just wait for Mom and Dad to get it right than go hang out with weird Uncle Frank and his sassypants.

In short, I steer away from learning things that are beyond the standard, unless that beyond is clearly the best way to handle the situation. What’s a good case for learning something beyond? Bootstrap** other website building frameworks are a great way to learn something new, but still work within standards. Bootstrap works within web standards to create a method of turning out code quickly and efficiently while adhering, at least on a base level, to web standard validated code. Is it perfect? No, but it is great starting point for just about any web based project. Using bootstrap enables easy functionality with easy responsiveness, two important things when working on a web product. The end result of bootstrap is creating a product that fits web standards while being easy to implement for developers.

N_Bootstraps00094In the case of SASS and LESS, while they can speed up the process, aren’t web standard, and require a code compile to make it web standard. The end result is still just CSS, so why all this process on the backend just to end up with the same output? I feel like this just adds into the process when just a little creative thinking can around it. Shoot, even in the case where I might need to change the color of a couple dozen elements, I can just as easily copy and replace all of the hex codes I don’t want.

So that’s the question, when do you say “hey, I should spend some time and learn this new fangled internet thingy-ma-jigger!”? It really comes down to preference, but I choose to stay on the side of the standard, and push my creative thinking rather than learning a system which may or may not be around long-term. Weigh your options, and if you still aren’t sure, ask yourself what/who benefits more, is it your development cycle improving, or the end result. If it’s the end result, whatever framework you have in mind might at least be worth a look.

*Sass is the most mature, stable, and powerful professional grade CSS extension language in the world. Less is a CSS pre-processor, meaning that it extends the CSS language, adding features that allow variables, mixins, functions and many other techniques that allow you to make CSS that is more maintainable, themable and extendable.
**Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web.