Physicist and full-stack developer.
Don’t you just HATE CSS?
Many developers seem to go through this phase with CSS because it’s not as appealing and fun as learning a programming language.
I did too for sometime, especially when I was first learning it, but as I began to understand it, I realized it wasn’t as bad as I had initially thought (or I’m numb to the pain by now).
In any case, I get it, so do millions of other developers out there, but in reality, love it or hate it CSS is here to stay, and understanding it can make all the difference in your life as a web developer. So here are some reasons why shouldn't skip learning CSS.
You only need to learn it once
Like any other skill, once you know CSS, you know CSS, and the best part is that no one can take that away from you.
Think of it like learning the alphabet, it seems irrelevant when you are first learning it, but quickly you come to see that everything you do subsequently will ultimately depend on knowing it.
CSS is a fundamental pillar of the web, and like any fundamental thing, a deep understanding lays a foundation that will last a lifetime, assuming it will always stick around.
Get it in now, and know it forever.
Bootstrap is built with CSS
Everything in Bootstrap, or any other CSS framework, is completely built using CSS.
This may not matter to some, but the truth is that if you’re a developer, you are very likely building web app components on a regular basis. Understanding how the frameworks that you use work and how they are built, will help your workflow tremendously when you are actually using them.
The key point here is that understanding the underlying CSS will help you build with more ease with Bootstrap because you will understand the underlying principles that it is built with.
Your value as a developer
This is a longer point, but it is by far the most important. I will summarize it with some backstory.
I periodically visit San Francisco, and as you may guess, I have met a lot of web developers during my visits. One in particular that comes to mind, a lead Netflix developer. I met this person sharing an Lyft of all things, and we began to talk about his work.
Eventually, I ended up asking him what skills he believes are the most important for a fresh web developer to have.
Without hesitation he recommended CSS, mentioning that he has seen many devs with rigorous engineering backgrounds, but he has seen few that actually know or care to know CSS.
Many other developers I have spoken with have said this as well. One thing most devs I’ve met have in common is that they all HATE CSS but recommend learning CSS for anyone coming into the industry.
This is not just one or two instances, but literally all of them have confessed in one form or another that CSS is the bottleneck for many devs, simply because no one wants to take the time to learn it. This should not come as a surprise to anyone who has spent any time using CSS, it is not fun to use or learn.
This is not because there is no intrinsic value in learning it, but because CSS is a completely different language when compared to ‘normal’ programming languages. The way things are done in CSS are vastly different than the way things are done in your standard programming languages.
Programming is logic codified whereas, CSS is ...not.
With CSS, logic will not help you solve a problem as much as knowing certain ‘tricks’ will, and that IS the frustration of learning and using CSS, and ultimately, that is the reason for the reluctance of many to learn and use it.
Now, with all of this being said, why should you learn CSS?
Because most people HATE learning it! Simple as that.
Your advantage is that you can learn a skill that many are often reluctant to learn, which will boost your value as a developer.
Simply put, CSS skills are fairly rare, and anyone that possesses them will standout.
Although, I am constantly in a learning phase as a web developer, the need for CSS can’t be ignored.
Like any skill, once you have it, it is yours to keep, and knowing it will help you tremendously when it comes time to branch out to less fundamental tools. After all, the web is designed with CSS, and knowing how to design the web on a deep level will only increase your developer value.
Would I prefer the web to entirely GUI-less and terminal based? Yes. Will that happen? No.
So as far as I can see, the most important thing you can do as a dev is learn CSS.