Learning through algorithms
I'm getting further and further into freeCodeCamp, and not regretting a minute of it. I'm spending much less time actually coding, or following along as I was, and way more time staring into space and thinking through a problem. Right now, I'm in the Basic Algorithm section, which is a problem set with prompts to create different functions to perform certain tasks. This is perfect for my current level of learning, as the problems themselves are just outside of my comfort zone. I'm not capable of coming up with the answer immediately, and most of the time, I have to look something up to help me along. While this feels like cheating, this is common practice in programming. It's impossible(or at least very difficult) to memorize every built-in method in JavaScript and is expected that a developer would Google the way a certain method works to be able to implement it properly. Each of the problems gets a little more difficult than the last, and it's hard work, but I'm learning so much more this way than I was just watching tutorial videos.
Online courses still serve a phenomenal purpose, and help to break up the studying when it becomes dogged. Last night, I got through quite a bit of material on freeCodeCamp, but when it got towards the end of the night, my brain needed a break. I looked through Frontend Masters and found a course by Sarah Drasner called "Design for Developers." This course is focused on design principles and how they relate to developer tools and technologies, specifically CSS-based. Sarah Drasner is considered a genius, specifically in the CSS corner of the developer world, and has a great style of teaching. She spent a lot of time relating web design principles to architecture and artwork, giving plenty of examples of how the human brain processes these principles, like symmetry. At some point tonight, when I can't take any more JavaScript, I'll come back to this course and advance a little further into it.
For me, I have to understand my limits in learning. If I start to get to the point of not enjoying what I'm studying, I'm not going to be as motivated to progress further with it. I've been diving deeper and deeper into JavaScript in the last few weeks without spending much time learning anything else. I've learned a lot, but I don't want to get to the point where I'm no longer motivated to study JavaScript. One of the great things about web development is that it is so multi-faceted; there's no reason I have to focus specifically on JavaScript. I could take a break from JavaScript and focus on CSS, or Node, or a multitude of other topics. At the end of the day, it's imperative that I master JavaScript, but it's also imperative that I keep a high level of motivation. Having the awareness to be able to tell when I've reached that threshold is always difficult, but I'm becoming better at recognizing when I'm no longer excited about what I'm doing. If I can break up the focus on JavaScript from time to time, I can keep that level of motivation higher, and continue learning in the meantime.
Until tomorrow!