A new frontier
After much capitulation, I think I've found a nice way to approach my learning for the time being. Instead of spending all my time doing one specific task, I'm breaking my learning time into three different areas: creating projects, doing exercises, and watching Frontend Masters tutorials. Each of these tasks serve a specific purpose and are useful in their own right, but can prove to be monotonous if done exclusively. If I just watch Frontend Masters, I'm learning a lot of new stuff, but I'm not applying any of it. If I'm just creating projects, I'm not practicing JavaScript as much as I should. If I just do problem sets, I lose any sense of real-world application. If I can do a bit of each and hop around from one to the next, I find my nights are broken down with more structure than before and my learning curve skyrockets.
Since I want to start creating some projects, I've decided to start working on my personal website/portfolio. I already have a portfolio, but I wrote this before I really understood React that well, and I really just followed a tutorial to get it done. I don't feel like I own it at all, and there are a lot of things I would like to improve. So, I've decided to start over from scratch using React and Semantic UI. So far, I've built a pretty cool navigation bar component and have the beginnings of a homepage. The homepage will likely be pretty simple, with a picture of me, a short description, and a list of the big skills I've attained in the last 5 months. From the navigation bar, the user will be able to get to a skills page, projects page, coursework page, an about me page, a contact page, and this blog, as well. I have some neat ideas of what to do with each one of these pages, but before I get there, I need to install React Router or Reach Router and implement a proper routing system. Without this, I'm going to have trouble with creating these pages because I won't be able to navigate to them! Of course, I could simply change the main component in App.jsx to the one I'm working on, but I think now is as good a time as any to go ahead and get the router going.
I've spent the last hour or so working through some Codewars problems, and I'm becoming more and more confident with doing these exercises. I still am having some issues with the more advanced problems, but I'm learning a lot about problem solving in doing these exercises and leveling up quickly. This has been a great addition to my regimen. After I get done with writing this blog entry, I'm going to work on my project for a while, and then I'll wrap up the night by watching a video I started last night on Frontend Masters: Brian Holt's "4 Semesters of Computer Science in 5 Hours." This is a great video on the basic ideas of computer science and I'm learning a lot about the macro ideas associated with computer science I know very little about. These aren't necessarily concepts you would be faced with on a daily basis as a web developer, but to gain a full understanding of the technologies and tools used in web development, I think it's more than necessary. Brian does a great job at teaching this in a simple way that's easy to understand for a beginner. While I'm winding down for the night, I've found that this is a great way to spend the last hour of studying, instead of going deeper with a project or getting sucked into CodeWars exercises. Doing either of those things tends to keep me up later than I should be if I want to be functional the next day.
Until tomorrow!