On to React Native
I've spent the last 2 weeks or so diving deep on CSS. This was totally necessary; I have felt for a long time this was a weakness for me. Up until taking this job, it certainly didn't pose any problems because everything I wrote was written with a component library. Before this job, I relied heavily on Semantic UI and Material UI. I still really like these component libraries and can definitely see the benefits of using something like this, but I've gotten so much better with CSS and can now really see the benefit of not using one of these component libraries. Whenever using a component library, you can build something really quickly and with little effort on the styling front. As I discussed yesterday, styling really isn't one of my strong suits anyways, so this was always nice. However, it really limits your flexibility. If you don't like how a certain component library does something specifically, you're kind of stuck. You can override the selectors, but this can be really tricky and cumbersome. When not using a component library, you have to know what you're doing, but if you do, you can do pretty much whatever you want to do. As I continue developing, I would imagine my understanding of design principles will get better and these designs will become second nature to me. For now, this is still a struggle, but I'm getting better every day.
I've taken 2 different courses in the last couple weeks on CSS, one that was more focused on Sass and the more advanced features of CSS, and the other that took it from the very basics all the way up to the advanced features. The first course, the more advanced course, was much more beneficial than the second one for me, but I still learned quite a bit from the second. I felt that the second one ended up being a little redundant and spent a lot of time on concepts I was already well-versed in. I started taking this course at 1.5X speed and thought as it progressed into the more advanced features, I would need to slow it down. This actually didn't end up being the case, and I was totally fine watching it on the 1.5X speed the whole way through. I was also not that impressed with the project we built in the second one. In the first course, we built 3 different projects that were actually really beautiful and I thought had great design to them. I was really impressed with them, and I was excited to work on those projects. In the second course, we only built one project and worked on it the entire way through. I thought this project actually ended up looking really bad. It was not indicative of a project you would want to build in a CSS course. I could see this UI being built in a strictly JavaScript course where the style of the website itself wasn't a priority, but that wasn't the case in this course. It's unfortunate, but I think the instructor's eye for design is as unrefined as mine is.
I've followed a pattern for the last 4 courses I've taken, and I plan to continue on with it. First, I took 2 courses on TypeScript, then I took 2 courses on CSS. A lot of the concepts overlapped, but for the most part, this served as a way to really hammer in these concepts. I think whenever you're learning new things, it's important to hear it more than once and from more than one source. Every instructor has a different style of teaching and they are able to phrase things in different ways. If something doesn't exactly make sense with one instructor, another one might do much better at explaining this. This was more beneficial with the TypeScript courses. I learned a lot in the first course I took and gained a really nice base of knowledge. The second instructor had a completely different focus for his courses, not spending as much time on classes and more time on functional programming, which is more beneficial for me. So, my next 2 courses will be on React Native. I'm just starting work on a React Native project at work, so I will be able to apply what I learn almost immediately with this. At least for the next 2 weeks, I should be able to level up my skills pretty quickly. My first course is one by Stephen Grider, and I haven't picked out my second one yet. I've taken a React Native course by Maximilian Schwarzmueller before, and got a nice base of knowledge from it, but also walked away not feeling completely satisfied with my breadth of knowledge. Grider is one of my favorite instructors, and I'm expecting to learn quite a bit in this first course.
Until tomorrow!