DEV Community

Share Your Insights: How to master JavaScript.

UgbabeOG on May 02, 2023

We believe that the best way to learn and improve is by sharing knowledge and experience. If you have tips and tricks to master JavaScript, we invite you to share them with us and other developers. Please feel free to leave your insights in the comments section below. Let's help each other become better JavaScript programmers!

Collapse
 
tracygjg profile image
Tracy Gilmore

Hi, As a professional application frontend developer specialising in web technologies I find MDN an essential source of authoritative information.
As sources of training material, I can recommend the following:

Collapse
 
cmgustin profile image
Chris Gustin

+1 to all those learning resources you listed. Scrimba is one of the most frictionless learning platforms I’ve ever used, excellent place to start for all skill levels.

Udemy is great for taking the Scrimba knowledge and taking the training wheels off a little and diving deeper. Scrimba leaves a few holes that the Udemy courses fill in, but Scrimba is excellent for making it really easy to build up the studying habit and get your foundation built up.

And Frontend masters is great if you want to dive really deep into how everything works (highly recommend if you’re going for a career in front-end). My opinion is you’ll get the most out of it if you treat it like a masterclass after going through some of the more approachable resources like Scrimba and Udemy.

Collapse
 
abpanic profile image
Abhilash Panicker

I work as Partner Technical Adviser(consider a PM and Software Engineer combined) at Microsoft and have a team of Engineers(at Supplier/Vendor) that need to be trained. Since the Engineers who get better tend to move to other high paying opportunity, I had to create a resource so that it is easy for new engineers to be on-boarded. it is :webdevtutorials101.netlify.app/#/

Additionally, I am also in the process of creating one course that takes you from newbie to Staff/Principal Engineer level in JS with : abpanic.github.io/Mastering-JavaSc... (Currently a work in progress and moving very slow since I am doing M.S. myself along with my full-time work, but the goal is that all my 35 SDK Engineers will be well versed in troubleshooting and working on JS after going through the course.).
All PRs welcome. anyone interested in learning what I know, welcome to shoot me an email and I am happy to share or atleast have a conversation.

Thanks, Stay Happy! Stay Positive!

Collapse
 
ant_f_dev profile image
Anthony Fung

I think the approach will vary depending on someone's existing skill level with JS.

I was previously a Silverlight developer. When it became deprecated, the company I was at at the time planned to rewrite it's UIs in HTML/JS/CSS. I wasn't a stranger to Web programming, but it was the first time I had used those technologies. I didn't really know the first thing about how to code in JS.

But there was one thing that I think really helped me to learn: being open to asking questions and receiving feedback. Of course it helped that my team lead was helpful. But asking for feedback on pull requests and also the best approaches to things really helped me to learn.

Once I had the basics in place, it was a case of practicing. Sites like CodeWars can be great for practice. As can creating side projects for learning. I created some simple browser based games (here and here) to help me to learn.

After that, I've also found reading other people's blogs and also doing code reviews at work to help with my learning.

Collapse
 
clarity89 profile image
Alex K.

Beat me to it! Was going to mention Codewars as well. Great resource for practicing specific isolated aspects of many languages.

Collapse
 
ant_f_dev profile image
Anthony Fung

Yes - thanks for mentioning the isolated aspects part. Sometimes it's nice to be able to just have a go at a specific challenge, rather than having to worry about the rest of an app.

Collapse
 
ugbabeog profile image
UgbabeOG

That's great. So, asking questions good, practice good, reading blog post, creating blog content and reviewing codes good.

Collapse
 
ant_f_dev profile image
Anthony Fung

Yup. Basically, keep an open mind and don't be afraid to try things.

Collapse
 
prsaya profile image
Prasad Saya

JavaScript is a programming language, first. It is a language used for developing server side (e.g., NodeJS) as well as client side (browser based application created along with HTML and CSS) programs. Learning the language without the idea of the server side or client side usage is the first step to understand the language and its features well. This especially applies to someone starting with JavaScript as their first programming language.

Collapse
 
ugbabeog profile image
UgbabeOG

Thank you for your comment but I have to admit I do not really understand it. Please explain to me like I'm five 😔

Collapse
 
prsaya profile image
Prasad Saya

Learn the language without knowing if you are going use in front end or back end programming. This helps focus on the language features rather than features specific to front end (e.g., DOM manipulation) or back end (e.g., web server or database programming).

Thread Thread
 
ugbabeog profile image
UgbabeOG

now I understand you, that's a great technique, I believe it can also be applied to other programming languages. thank you

Thread Thread
 
prsaya profile image
Prasad Saya

I believe it can also be applied to other programming languages.

Not necessarily. JavaScript is unique that it is used in a web browser as well as server side.

Collapse
 
webbureaucrat profile image
webbureaucrat

At the risk of starting a flame war with the dynamic language purists, using TypeScript can be a good way of learning, especially if you're learning a new API. The typechecker isn't just something that yells at you; it's a useful information tool.

Collapse
 
jordeguevara profile image
Jorde G

Read a lot more JavaScript than you write at first

Then learn how to use a debugger to walk through your code

Collapse
 
devcoder profile image
devcoder

Build small projects at first and don’t use tutorials, if you get stuck google it.

Collapse
 
ugbabeog profile image
UgbabeOG

This is a great idea it helped me a lot too