Coming into Software Engineering with some basic experience in JavaScript, the start of the course was fairly easy. The freecodecamp site used to get an understanding of JavaScript was initially very easy, mainly being a review for me. As I got further into the JavaScript exercises on the website, it started getting difficult from starting to ask to work on small problems instead of simply this or that. To give an idea of how the difficulty went up, I would say I spent about 2 hours working on the first half of the JavaScript exercises. The second half of the exercises took around 3-4 hours.
After completing all the basic JavaScript exercises, there was something called ES6 challenges that had to be done next. The first few challenges were pretty straightforward, being simple with things like var, const, and let when working with variables. After that, everything from arrow functions, rest parameters, spread operator, and more in the challenges completely tested my tired brain as I was working on these challenges around 1 or 2 in the morning. The concepts and improvements you learn from these challenges seem very useful and reduces redundancy in the code, but it was so much that I had to take in and it was a huge struggle to the end. After an unknown amount of time working on these challenges due to my brain being lost somewhere, I can say that the ES6 portion of the site opened up the options I can do with JavaScript as well as improved my understanding and details it brings to the language.
After all that I went through, I think that JavaScript being what it is with not being strict in its typing, I come to appreciate it more with how challenging it can be with how the language can be used. I think that the language can be useful to Software Engineers as it can be used to help build the core idea of what you’re trying to work on and it is one of the most used languages currently. Having experience and knowledge with JavaScript will help with working on projects that might be related to it.
One of the ways of trying to improve my use of JavaScript was by something called WOD’s, or workout of the day. The idea behind these WOD’s is interesting and thought it will help give me small brain teasers throughout the week to keep me fresh with coding. After the first week of doing practice WOD’s, my opinion of it is that they definitely helped me in keeping my feet wet for what is to come. As of current, the WOD’s doesn’t stress me out as much as they get me wondering about what’s the most efficient way of creating a solution. I may not always have the most efficient solution, but it is something I think about after seeing the professor’s solution and what I can do better. A small problem that I do have with these WOD’s is working with a partner. I can see the importance of working with partners as you will probably be working with others as a Software Engineer, but it may sometimes cause some detriments in the process. That being said, taking the Software Engineering course and doing these WOD’s are about developing the ability to do what we need to do, may it be working on a project in teams or pushing ourselves to come up with solutions to a problem in a time-sensitive environment. Working with a partner can be helpful in situations where maybe you and your partner would have been stuck on a particular part of the problem and it can be solved by putting both minds together to come up with a new idea. Overall, I think I am enjoying what I am taking in so far in Software Engineering and I hope to continue expanding upon what I got now.