What was your breakthrough moment when learning JavaScript?

Since JavaScript is important for web development and difficult to learn, I can’t help but be curious about how you managed to become proficient in JavaScript - that is, you’re feeling comfortable in writing codes without overly relying on tutorials/guides and not always looking for references. How did you go from “Gosh, I can’t understand a single thing!” to “OMG! I totally get it! I can do this!!!”?

I’d also like to know about what particular project or activities you did as well as the tricks or methods you tried that helped you to improve your JS skills. By sharing your stories with us, we can help to motivate our beginners (including me) to keep on coding, knowing that there’s an end to a dark tunnel.

Although I specifically asked about JavaScript, you’re more than welcome to share with us about other programming languages as well. :slight_smile:

2 Likes

To you flagging this post as spam:

  • This course really helped me, even if I had to pay to access it.
  • Just because it’s not free it doesn’t mean that it’s automatically spam.
  • I’ve only written this answer in this post because it’s relevant to the question and my own experience.
  • Lastly, please show some respect for other experiences than your own. Just because you don’t like my experience doesn’t mean that it’s ok to flag it as spam.

The original answer:

When I took the course Advanced JS Fundamentals to jQuery & Pure DOM Scripting at Frontend Masters. Before I took the course I was dependent on jQuery and this course really broke those chains and helped me understand core vanilla JavaScript concepts :star:.

You can learn more about the course here :+1:t2:.

3 Likes

There have been quite a few of them. Most memorable, when I realized that .map(), .filter() and .reduce() were nowhere NEAR as esoteric as I’d thought.

Recently, though, it has been a deep dive into functional programming, and realizing that these same ideas were “best practices” 35 years ago, and they continue to be.

2 Likes

I like to think I’m fairly advanced in Javascript: I understand functional idioms like map/reduce/flatMap, I understand the prototype object model, I understand TypeScript (a superset of JS)".

That said, I am constantly looking at references for whatever I’m programming in, be it javascript, scala, or haskell. If you’re anything like me, you’ll find yourself looking at more references as you get more experienced. That or googling for for blog posts and tutorials. Not necessarily for the stuff you might know by heart, but for things you’re a little unsure of. For me, that list would be:

  • Things I know by heart and totally “get”: loops, functions, methods, arrow functions, OOP, map/filter/reduce, generators, basic Promise usage (.then(), async/await). This stuff took me years to get, and only after studying other languages like Scala and Haskell.

  • Things I’m unsure of and am reading docs and googling for all the f—ing time: how promises interact with async/await; the scope of this in arrow functions, anything at all to do with webpack.

What I’m saying is, don’t get discouraged by having to constantly google things or ask for help on forums and chat. Eventually, it’ll just “click”, and it’ll join that first list of things you totally “get”. It’s just part of the learning process that it takes time and repetition. Then you’ll find your second list of things you don’t get starts growing again, so you have to google tutorials and references and forums/reddits/irc/slack channels and such all over again. Which just means you’re still learning.

2 Likes

Well, I just started to learn since a while ago and I have to say it’s not easy to learn programming languages. Unfortunately or “luckily” learning programming languages is a dynamic process and not a static one. In the school/uni there are some areas of study which are developing slowly, therefore it’s easier to learn the basic of it. While programming, is developing fast and the frequency to appear something new for the basics, is high. :slight_smile:

1 Like

As a professional dev with years of experience I can guarantee you that, if you are not looking for references, you are doing something wrong.

I’ve seen so many seniors/managers with decade of experience working with the documentation always open.

I don’t know where the myth of a programmer writing code “by heart” come from, but I assure you that every single coworker I had, still look up on documentation :+1:

2 Likes

Basically the moment I understood call backs, which are now being replaced by promises and Async-await. The switch over I think would greatly help a lot of beginner coders because it is just so much more legible. Closures and higher order functions were another major hump though.

However it doesn’t mean I can just recall everything JS off the top of my head. I rarely write code without refernce open, to be honest, I’m not entirely sure I can. I may not always know what I have to write, but I always know where to look for them.

1 Like

Me: “I can set up a Node server that connects to a database from scratch in 30 minutes”

Also Me: googles array.join()

My latest breakthrough moment was when React finally made since, and then when useState and useEffect made since… It’s a process…

1 Like