What muscles?
🙁
As you may know, I am quite fond of JavaScript. However, I do not have the opportunity to use it very often in my professional career. During my free time, I love to work on side projects with JavaScript.
This year, one of my secondary goals is to become a better JavaScript developer. Maybe then I can show off those popping JavaScript muscles.
For those attentive readers, my main goal is to become a better person.
Well, I attribute my passion for programming to the JavaScript programming language.
While I did take numerous computer science courses in college, we mostly worked in languages like C and Java.
The languages I encountered during college are definitely suitable for creating amazing technologies, but the projects we worked on were not very interesting to me.
Most of the assignments consisted of console applications and simple scripts for learning the basic constructs of the language. While I recognize the importance of having a good foundation, I believe that you can learn the basic concepts while also having fun.
During the second half of my college career, I began taking online courses that seemed more interesting to me. In one of these courses, I was introducted to web development and how JavaScript can interact with HTML to create awesome applications.
Also, I finally did not have to twiddle my thumbs while waiting for compilation for finish (JavaScript is a scripting language!). Furthermore, web applications are more easily accessible and are more simple to update and distribute.
JavaScript seems to be everywhere nowadays.
Want to use JavaScript on IoT devices? Check.
Want to use JavaScript on the server? Easy.
Want to use JavaScript for mobile applications? No problem.
Not to say JavaScript is always the best technology to use; in fact, it often is not, but it can be used in almost every scenario. As a result, having a good understanding of the language will prove beneficial.
As the old saying goes: practice, practice, pratice.
In my opinion, that saying is almost is almost true. I believe deliberate practice is the key to improving.
And before you ask: no, I am not being compensated for any recommendations.
At the time of writing this post, I am only part way through the courses that I am going to recommend but I can already see their benefits in my thinking!
The course on Udemy is paid but you can often find a coupon to reduce the price to around $10. This course is a great introduction (or refresher) on algorithms and data structures that will help improve the way you think about everyday problems.
Yes, this is the same course I recommended in a previous post. Even though I prefer learning through projects, I have to hand it to Stephen for making this course engaging and enjoyable.
On the other hand, the JavaScript30 course is completely free. This course helps you build 30 small JavaScript-based projects. I like how this course uses vanilla JavaScript and also helps expand your view of what is possible with the language.
I make an attempt at trying to write a bit of code every single day. Frequently interacting with programming problems helps me feel like I am making progress. I would like to think that I am gradually becoming better.
I found a programming challenge site a while back called codewars and I have been hooked ever since.
I have not used any other challenge-based sites so I cannot comment on how this compares to others. However, one aspect I truly appreciate about codewars is the ability to view other people's solutions after completing a problem.
This feature allows me to see more, and often better, solutions to the problem. As a result, I often learn new ways of solving questions that I would not have thought of myself. The power of combined knowledge!
I hope that your JavaScript muscles become more flex-able with these methods. 🙂
I have also heard that the Eloquent JavaScript book is quite helpful in learning JavaScript's fundamentals and best practices. I have not read it but it is definitely on my reading list. Let me know how it is if you have read it!
Do you know of any other other resources for improving one's JavaScript skills?