“Fun” seems to be THE thing when it comes to coding for me. Because it makes me happy, because it is fun, and so on, recursive logic yay.
Right next to “Fun”, or somewhere close AND diametrically opposed is “Frustrating”, which learning new things can and will absolutely always be.
In the last day (and night) and day I had the absolute pleasure to delve a bit deeper into the Odin Project foundations and play around with Flexbox. I had worked with it before, when I coded along “Head First HTML & CSS”, and did not at all know what I was doing. (As and aside: I learned some super rudimentary stuff at that time and set up a webpage on the local LAMP server, which centered around my cat. And I wanted to make it look neat, and what do you know - five minutes later I am deep into the rabbit hole on something about a Grid or a Flexbox, which at that time thought that was some kind of hack.)
So when I went back to it yesterday I was already familiar with the nomenclature, and when it got to the exercises (easy centering etc), I was able to solve it pretty quickly.
Until I couldn’t. And for the life of me, I did not understand why. After sitting and thinking out loud I came up with very complex, convoluted stylesheets that almost were close to resembling what the solution (or one of the solutions) was. But it frustrated me even more to see that TOP had solved it with adding three properties to two selectors and done.
My problem with these kinds of things is spatial visualization. I realize that in training and learning to be a web developer, that is going to be an issue (and it always will be), but it is an issue that is managable. But only if I keep putting that kind of information in again and again. Like wires you have to reattach before every use - you know exactly where they go, but it’s an annoyance to have to do it every time.
When I first encountered Flexbox (or, for the sake of argument, Latin verbs or when to look at a physics equation with regular or relativity math), I struggled with the concepts and the theorized layout - until I understood it. But then a few weeks passed, and I had to relearn it.
That’s why, when I first got very frustrated with the exercises, I paused for a bit, and then went back, coded as much as I could, then looked at the solution, cursed at the screens for how EASY and CLEAN that solution was, and then went to the next thing, read documentation etc.
And then I deleted the files (TOP lets you fork a repo for exercises, which I then cloned back), and did them again. I played a CSS game involving frogs, and did the exercises again. And I realized, that some things will not just be logical and easy because it makes sense. Some things are like Latin verbs: you have to learn them by heart just so you can access them in your head, just like a tool. An because I lack in spatial visualization, I have to keep those tools updated and handy at all times, since something like justify-content in a column-reverse and whatnot doesn’t present itself like a picture to me, more like a weird IKEA manual.
Needless to say is that once I got over the frustration and UNDERSTOOD what was going on and what word did what and why - and, most importantly, that with CSS and probably all things code, there is not just ONE solution (a great life lesson, btw) - it was all fun again, and just felt great.
Because fun is freakin’ important.