Fork me on GitHub

Ahad Bokhari

Learn JavaScript in 2016 - Emphasize on Focus

Edit   ·   683 words

So, it’s 2016 and you’ve decided you want to learn JavaScript? For some of you, it might be because you want to move out of your current job and into the world of development, for others it might be a natural progression in your career - perhaps from more of a designer to a developer. Either way a person who can exhibit competence in programming will naturally have more options in todays web / tech market and what better place to start than with JavaScript.

I’m not going to argue what language you should your journey with, but I will say that you’ve chosen wisely by wanting to learn modern day JavaScript - we’re not talking about DHTML, or some gimmicky interaction on your web pages, or even writing a few lines of jQuery. We’re talking about:

  • the client (browser) having to process alot more data than before, and at times process more data than the server does
  • the ‘realtime’ web, where performance counts, and data is updating instantaneously with a different state
  • single page applications that feel and behave like native applications
  • having a clear seperation of concerns between your code, data, servers and the tools you use

Usual Speel, Learn JavaScript !!

The traditional speel would go something like this. Start by reading Eloquent JavaScript, then move onto Douglas Crockford’s JavaScript the Good Parts or the Definitive Guide. After you’ve consumed these books learn more by watching some videos, sign up for Code Academy’s JavaScript Course. Oh, don’t forget this amazing list of Essential JavaScript links on Github and:

  • Read lot’s of code
  • jQuery
  • Backbone
  • Superhero JS
  • Effective JavaScript
  • Underscore
  • Egghead
  • JSBin, JSFiddle
  • Node, CommonJS, RequireJS
  • Browserify, Gulp, Grunt

[ insert more links here, let’s just get it out of the way! ] I won’t even bother to link to all the above, I’m quite sure you can find more than enough resources elsewhere, the web is adorned with shiny new ones to learn JavaScript.

Wait a second, the links above are some great resources, learning tools, videos and basic stuff that you need to know - don’t feel as if they aren’t worthy of your attention. They certainly are, and you can use multiple methods depending on the type of learner you are. We’re just talking about another approach and mindset that you should have before embarking on this wonderful journey of teaching yourself how to code.

The Mindset Should be on Focus

What we need to understand is that we as humans are at the mercy of information overload, and too many options can demotivate us or even lead us to feel overwhelmed with despair. Fact of the matter is that learning to program is not an easy task, it can be a daunting and time consuming journey with many frustrations - that’s not to say there won’t be a sense of elation as you successfully progress into mastery, but I warn you, it will take time and patience - one whole year (although you’ll learn alot) is just the beginning. Ask any programmer and they’ll tell you tales of how they spent almost an eternity and torchered themselves learning how to program. I say programming as of course the goal is to learn to program and not just code.

Anyway just remember that along the way, you will not need a multitude of resources, nor a plethora of links, but the single most important construct you must acquire is simply: “focus”. That’s Focus on the fundamental aspects of the language before you venture any further and start looking for shiny new resources to test your might against. Sure, it’s advantageous to be aware of the community, libaries, techniques, et al, but you won’t get very far by not understanding the fundamentals.

For example there is more happening here than meets the eye:

// ponder, ask yourself questions about what's really happening in
// this chunk of code, reason about it.
document.getElementById("myBtn").addEventListener("click", displayDate);

Be pedantic about it and then just dive right by first understanding the concept in the context of where you started by conentrating and focusing. The rest will follow, that i can assure you.