Awaiting Instructions
As I mentioned yesterday, I finished up Stephen Grider's TypeScript: The Complete Developer's Guide, a 24 and a half hour course on Udemy. This was a fantastic journey through the world of TypeScript, starting from the basics all the way up to some of the most advanced features. As happens when one course ends, I have to make the difficult decision as to what my next move will be. I have a list going about 15 courses, ranging from topics like React, TypeScript, CSS, PHP, C# and SQL, so it could go a lot of different ways. While it's fresh in my mind, I kind of feel like I should take the other course I have on my list on TypeScript, one by Maximilian Schwarzmueller, but at the same time, I don't want to end up feeling burnt out on the topic. Right now, I don't feel burnt out at all on TypeScript, and I still feel like I have a lot to learn. Maximilian's courses are typically a lot more difficult than other instructors, so I suspect I would learn quite a bit, and really firm up the concepts I learned in Stephen's course. There are a couple courses on React on my list, but none of them seem to fit the bill for what I'm working with right now. One has a strong focus on Redux and testing, two things that are definitely not in the forefront in my job, and the other is another course by Maximilian that encompasses the entire framework. In the latter, I would likely spend a lot of time on topics I've known well for some time now. It wouldn't be completely wasted time, but I can think of better ways to spend my time. I could use some work on SQL in my job, and I have a couple courses I could take on this, but it might not be something I use right away.
This is always such a difficult decision to make, since I don't want to end up sticking myself with a course that I don't feel I'm getting as much as I could from. I was really hoping to get some guidance on this today at work, as far as what my next project will be, but I was unsuccessful. I emailed my CTO early in the morning to try and figure out what I would be doing, since I just finished up my last project, but I never heard back from him the whole day. I ended up texting him through our instant messaging system, didn't get a response, and then I sent him a follow-up email later on in the day. I'm not a huge fan of not having good communication lines, but I can excuse him this time, given the extreme scenario we are living in. Right now, there are a lot of distractions going on in the world, and I know he has his hands full with trying to coordinate everyone. Still, I don't think there's much excuse for not even responding to an email. It definitely would have made my decision a lot easier tonight to know exactly what I needed to study, be it going deeper on React, or going into PHP, or something else completely. Given the current workload, I assume I will be creating something with React or working on something in React, so I'm probably going to stick to that realm or the TypeScript route, given we will be using TypeScript whenever we can going forward.
Since I didn't get the information I needed, I still wanted to be as productive as I could at work today. I hate sitting around, not having anything to do, and that certainly wasn't the case. I've been working on this project for about 3 weeks now, and in that time, I've made a bit of a mess of the application. There was a lot of cleaning up I needed to do to make it more human readable. I added a lot of annotation and moved a lot of things around. For example, I had 4 different enumerators scattered about in different files, so I moved them all into one file and exported them appropriately. I took all of the handler functions in each component out of the actual JSX and moved them up, outside of the return statement to make it more readable. I also gave annotated comments to each grouping of code, so if there were a group of handler functions, I labelled the group "HANDLERS" so we would know where to look. I separated out the different import statements to put the packages all together, then the stuff like reducers, context, and enums, then the different step pages, and then finally the individual components. Some of this work definitely wasn't necessary, and I don't think I've ever spent this much time organizing my code on any of the projects I've worked on. However, when it comes to adding more features into this application, I've made it as easy as possible for our future selves to be able to add to this application. I will thank myself later.
Until tomorrow!