A few minutes ago I logged into the Slack of my community (Academlo) and I came across a question that immediately caught my attention:
"Can you recommend me a CSS book, that has all the commands, to learn them".
The question is evidently asked by one of the new students. At the time it was also my concern and I am sure it was that of many who will read me.
And it didn't only happen to me with CSS; it applies to any technology we learn when we take our first steps in this wonderful world of web development.
I wanted to know EVERYTHING, and to know it NOW, because I thought that way I would be a better developer.
A couple of years have passed since then. I have walked the path of web development at a professional level, and understood some details of our profession that allowed me to give an answer to this friend and that I will also share here with you.
I transcribe my response verbatim because I think it encompasses what any developer with some road walked would tell you when faced with a similar question:
Bro, it is impossible (literally speaking) to learn ALL the "commands" of any technology, and there is no point in doing so either. Let me explain...
CSS has a specific structure and syntax that you must know just because, and that is easy to understand and learn.
Within that structure, there is a group of PROPERTIES that are the ones you are going to use in 80% of the cases and another 20% that are going to be of occasional use (to make animations, transitions, etc.).
The first group (80%) comprise, at most, 30-40% of the total CSS properties. Those are the ones you learn by practicing day by day and become a regular part of your lexicon as a developer (margin, padding, text-align, etc.).
The second group (the other 20%) comprise the remaining 60-70%; obviously, the majority of CSS properties. Those are the ones we know exist, but we don't spend brain cells storing them in memory.
And how do I do when I need them? What all developers do in our daily work: when we don't know something, we google or go to specific sources where we know the information is. That is the greatest talent you will have to develop as a Web Developer: look for the right information and learn to read the official documentation of the different technologies.
In the case of CSS, the information is mainly found in 3 sources (although, of course, there are many others):
There you get EVERYTHING you need to know about CSS. However, there are specific things that you will want to do and you will have to google, because there is only the generality of CSS there.
Your best friends on this road will be Google, YouTube and Stack Overflow.
I hope I have helped you, I wish you success!
Being a developer is not just about writing code and memorizing commands; it is much more.
Being a developer involves learning to generate mental processes that lead you to achieve an end: that "perfect" web site you designed in your mind.
Some things are written. The rest, most of it really, you will have to create it yourself. That's why we are DEVELOPERS and not just CODE TRANSCRIPTORS.
The developer imagines, thinks, analyzes and creates. Hence the motto I have on my wallpaper: "Think twice, Code once".
In that process, some things we do in "automatic", like writing some code segments that will be common to many things.
But... the wonder of this world and of our profession is that THE DEFINITIVE IS NOT WRITTEN. It is written by each of us when we open our favorite IDE, and it is built anew day after day.
Being a web developer means being part of a too dynamic profession.
I think that's precisely the beauty of this profession. That the only constant thing is change.
Until the next publication. Blessings.