Here are some tips, research well on the subject(JavaScript) before attempting to learn, Learn enough to build something, Learn JavaScript as a programming language before you learning JavaScript in the browser. Learn more about Frontend Frameworks and build something. Learn JavaScript on the server (Nodejs). Learn the kind of thing people are building with JavaScript.
Starting From Where I left off
Doing the due diligence on the topic (JavaScript in this case) is as important as what you are trying to learn because it will go down to decide how long (time), cost it will take you during the learning process.
I explained few tips about my process in the first part of this post. Go over it and start patiently and prepared, because learning is a journey to a destination. Little progress makes the difference. You can’t learn it all in a day, a week, a month neither will you become and expert in just a year. So prepare to do a proper researching on all you will need along the journey.
One tip is while you’re learning do not call yourself a software developer but rather you could say a code newbie or a developer in making/training or just avoid the title and name calling completely to keep the focus on the result.
Learn enough to build something you can show others
The real proof of the journey is the little apps, web page, functions, problem you solved along the journey. So make sure to document the journey. Keeping a diary or journal or blog will be helpful. It shows your commitment and its a testament of your unrelenting effort to allow the process to make you into a developer. I have lots of portfolio to show to this effect while I was learning or what I built while teaching others. Everything should always have a sharable link as this will be a proof in case of validation. Learning enough means at every point you should build something no matter how little you think you have learnt or still learning.
Show me a developer who is learning how to code with a Github portfolios of his/her works and I will show you a developer who will soon get a job. Focus of solving problems that are tasking and that put to practice what you have learnt rigorously because if you learnt something very easily and you did not solve a tasking problem with it, for the brain and body you might just be playing. (You might not grasp the underlining concept without solving a difficult problem that engage your reasoning and mounts a bit of pressure on you a bit). This puts to test what you’re learning.
Learn JavaScript as a programming language
Most Tutorials and video materials you see around only start talking about JavaScript from the perspective of DOM - Document Object Model and Web API alone. That limits the exposure of anyone who intends to learn the language and go on to have a career with it. I agree that JavaScript is a first class citizen in the browser and it got most of its popularity from this single advantage but it is a not a good way to start learning it from that perspective alone considering the amount of changes that has evolved into the Language. Including the ES2015 - ESNext, Evolution of Nodejs, Frontend Frameworks and Faster adoption of modern features into the browsers. NPM and JavaScript ecosystem. This and many more have contributed to a robust add Complexity that can be a burden to anyone who intends to learn the language considering all this evolution and fast changes to the language. it was formerly a scripting language built in 10 days but has changed in its dynamic nature to a full fledged programming language.
For anyone reading this, One very solid reason why you should learn JavaScript properly is its Evolution and if you must learn it, learn the languages basics. Every programming language has what we call the computer science basics of it. The variables, keywords, operators, conditional statements, loops, functions, Core patterns. it will be great to learn this properly. Its just my idea and view alone. Check successful JavaScript developer and you will see they understand the rudiment of the languages and they have become patient with its quirks and weird concepts that can scare or confuse you on first attempt.
before you learn JavaScript in the browser
You need to take note of certain behaviors that might not be in sync with you if
you’re coming from another programming language environment. The value of
this
, function and its scopes, arrow functions and their weirdo behaviors,
classes. callbacks, promises , async and await, closures and Hoisting, Data
types - both primitives and reference data types. Understanding undefined, falsy
and truthy values. Douglas Crockford calls some it the good part of JavaScript.
I think someone else has written about the Bad Part of JavaScript. Take time to
read and understand this rudiments.
Learn more about Frontend Frameworks and build something
The good part of it is that if you must learn at all, There will point where you will focus on the frontend frameworks. JQuery used to be king here but it is still very much relevant and popular. React, Vue and Angular are the new champions in this sections. They offer much more that selecting element but give you more powerful functionality and behaviors.
Take time to build something that will serve as a proof that you have understand the frameworks most especially its concepts. For Example React Hooks, JSX, Render Props, HOC, Suspense and Co for react.
Learn JavaScript on the server (Nodejs)
The block buster that is the crown on the head of JavaScript is its ability to
operate on the servers. I bet many did not think this browser alone scripting
language could someday be considered to a thing in the server side world. This
has done more good to the ecosystem since Ryan Dahl announced to the world he
was building a server side language called Nodejs and it will run using the
familiar JavaScript using V8 engine as its power. If you will learn this
language try to learn this area of JavaScript as well since it powers all the
major frontend frameworks one way or the other.Along side with node is the
package manager called npm similar to pip
from python. It brings
package.json
and node_modules
into the list of things you need to
understand.
The developers who write this programming language, what sort of APPs are they able to build? Learn about such APPs and begin your journey to become an elite JS developer.
Thank you for reading and stay tunned for more on the this topic.