DEV Community

Cover image for If I were to restart JavaScript again from scratch then I will follow this roadmap.
Ankur Tyagi
Ankur Tyagi

Posted on

If I were to restart JavaScript again from scratch then I will follow this roadmap.

Every time I work in a new JavaScript framework I learn a bit more about JavaScript Fundamentals.

Every time I work in a new JavaScript framework I learn a bit more about JavaScript Fundamentals.

If I were to restart Javascript again from scratch then I will follow this roadmap.

A Thread... pic.twitter.com/LptUXS7jui

β€” AnkurπŸ’»πŸŽ§πŸ’ͺ (@TheAnkurTyagi) October 6, 2021

If I were to restart Javascript again from scratch then I will follow this roadmap.

It is worth noting that as a beginner in the subject, much of the learner’s interest lies in the hands of the tutor.

An inefficient tutor can pretty quickly lead to the learner losing interest in the subject.

This can have implications for your career growth.

JavaScript basic steps:

  • What is JavaScript?
  • Declaring JavaScript Variables: var, let, and const
  • Basic math in JavaScript β€” Numbers and operators
  • JavaScript syntax
  • ES6 let VS const variables
  • Arrays, Data Types, Strings
  • Conditionals & Looping code
  • Object basics
  • this
  • Objects and Classes
  • Functions & Scope
  • Functions β€” Reusable blocks of code
  • Function return values
  • Arrow Functions
  • Reference vs. Copy
  • Inheritance in JavaScript
  • Working with JSON data
  • JavaScript Dates
  • JavaScript Timers
  • DOM & Events
  • Asynchronous JavaScript From Callbacks to Promises, to Async/Await.
  • JavaScript Event Loop
  • UI Events
  • Forms, controls
  • Document and resource loading

Advanced Topics:

  • Functional Programming in JS
  • Advanced Working With Functions
  • Closures
  • Regular Expressions
  • Unicode in JS
  • Object prototypes
  • Storing data in the browser
  • ES6 Modules
  • Object building practice

What many JavaScript students make mistake is that they keep on reading JavaScript tutorials one by one, and do not implement any of them.

Time to build more projects:

A Simple and Effective Way to Learn and Practice JavaScript:

JavaScript runs over the web today, no doubt & for every front-end developer, no matter if already experienced or at the start of your career.

Frameworks come and go, but JavaScript will stay Forever.

Projects You Can Build With Vanilla JavaScript.

If you are going for your next interview then I encourage you to check my blog where I shared

12 Common JavaScript Questions I Used to Ask in Interviews:

If you like this.

I encourage you all to sign up for my newsletter.

It's free.
You can ask me your questions via email.

Check out the latest edition ⬇

The 2-1-1 Developer Growth Newsletter by Ankur

In the end,

I would say the better you understand why and how JavaScript works and doesn’t work.

The more solid your code will be...
The more you’ll be able to effectively harness the true power of the language...

Happy coding.

Discussion (20)

Collapse
sakko profile image
SaKKo •

I love how you arranged everything.
People have different ways to learn.
It's all about learning and not stoping.

Happy coding

Collapse
tonyedgal profile image
Tony Edgal •

@peter_brown_cc2f497ac1175
Mr fundamentals and cs degree.
It's funny how you read and gave this article engagements without addressing a big problem with this roadmap.
Objects, this and classes before functions and scopes.

I guess you've been too busy looking for unimportant things like people with no cs degree.

@tyaga001 I personally think learning methods before basic function is borderline mentally suicidal.

Collapse
vijayst profile image
Vijay Thirugnanam •

JavaScript is really difficult to learn because there is so much to learn. All of that is not required to build a web app. As an integrator who puts together a web app using various libraries and frameworks, I don't see a need to learn all the nuances. Yes, I flunk interviews. But I have developed and am maintaining a robust source code that other developers can understand, if needed. So, learn JavaScript the way you want to. There is no recommended path that I can think of.

Collapse
peter_brown_cc2f497ac1175 profile image
Comment marked as low quality/non-constructive by the community. View Code of Conduct
Peter Brown •

Truthfully the 1st step to understanding a new programming language is to understand the way its interpreter and or compiler operate. What steps does it take? What affordances does it give? Next understand core language constructs apart from syntactic sugar. Before even getting to this point though one need a firm understanding of the fundamentals which is why no on without a degree in CS or EE or CE has any business writing a single line of enterprise code. Bootcamps will not give you sufficient theoretical knowledge nor will being self taught, unless you are some genius level coder and even then you will be stuck in an industry that can just as easily offshore your job to some third world country. Degrees DO matter.

Collapse
lukeshiru profile image
LUKESHIRU •

🀣 r u ok, bro? There are excellent devs out there that don't have a degree and they don't know anything about how the compiler/interpreter they are using works and create amazing apps, and also there are lots and lots of devs with a degree that don't know how to create even a "hello world" with any modern technology, but hey! They know that JavaScript is single threaded and has an event loop! WOW!

Degrees have nothing to do with knowledge, what matters is what people actually know, and said knowledge is measured in quality, not quantity.

Collapse
peter_brown_cc2f497ac1175 profile image
Peter Brown •

We show 95% of our career worth in those 5% of situations. These situations generally involve a deep knowledge of interpreteors compilers garbage collection or some other advanced topic. Those without the required training are not equipped to face these technical challenges. Just because one has a degree does not mean one is qualified, but not having the degree is an immediate disqualification. This is true for all high level professions. Lawyers, doctors, architects, dentists, accountants and the list goes on and on.
I come with facts and you attempt to recant my words with cliche, disrespectful addresses and other such constructs.

Thread Thread
lukeshiru profile image
LUKESHIRU • • Edited

Not having the degree is an immediate disqualification.

And then:

I come with facts.

All in the same comment 🀣 I would love to see the proof for those "facts". I have 10 years doing WebDev, nobody asked me for a degree, never. I moved from my country to the US thanks to my work, again without a degree. I gave talks and classes to folks with degrees that didn't knew the things I knew at that time. The only "disqualification" I see is from folks like you, that try to gatekeep a profession that moved past lawyers, doctors, architects, dentists and accountants and actually looks for people that has the knowledge instead of having the "degree". I understand that maybe you're one of those folks that actually has a degree, but that doesn't give you the right to say that folks without one should be "immediately disqualified".

Thread Thread
peter_brown_cc2f497ac1175 profile image
Comment marked as low quality/non-constructive by the community. View Code of Conduct
Peter Brown • • Edited

I do much of the hiring where I work and not having a degree is in fact an immediate disqualification. Computer programming is an engineering discipline and as such requires in general an engineering degree especially if you want to operate at the elite levels. This is not about someone being better than someone else. All humans should have equal respect. That being said the individual that is without a degree cannot achieve the highest levels in the industry. It is not a commentary on their personhood but it is a reality of the situation. I'm sorry that offends you. perhaps you are upset of your lack of a degree and the barriers that you see it causing you and that much of your discourse to me is mere projection.

Thread Thread
lukeshiru profile image
LUKESHIRU •

I do much of the hiring where I work and not having a degree is in fact an immediate disqualification.

Those folks surely dodged a bullet, I'm in the interview process of my company as well, so hey! Interview bros! :D

Computer programming is an engineering discipline and as such requires in general an engineering degree especially if you want to operate at the elite levels.

  1. I literally laugh when I read "elite levels", are you working for NASA or something? 🀣
  2. That's where you're wrong, it requires engineering knowledge not degree. Degree and knowledge aren't the same thing.

I'm sorry that offends you. Perhaps you are upset of your lack of a degree and the barriers that you see it causing you and that much of your discourse to me is mere projection.

It doesn't offend me, don't worry. And you're wrong again, no barriers so far :D ... I even encouraged friends to drop so they could focus in knowledge that was actually useful for them, and now they are working thanks to that. It might be the moment to take a look at other companies besides yours, and see if they are actually interested in degrees as much as you believe ^_^

PS: Is funny that you accused me of "projection", but then you disqualify people based on if they have a degree or not x'D

Thread Thread
peter_brown_cc2f497ac1175 profile image
Peter Brown • • Edited

You will see as you advance in your career that not having a degree will limit you. Most industries that do not require degrees are very easy to offshore to some 3rd world country. With advances in global telecom it is very possible that most of these industries will be very quickly be offshored as it is more cost effective. In a very few number of years the only good paying computer jobs will be those in the realm of embedded systems and safety critical systems. These most certainly require advanced degrees. I do wish you the best of luck, but as someone so young in your career I am fearful that you will be on the other end of a layoff notice and not have the ability to get the remaining jobs due to your decision to not pursue higher education.. I do sincerely hope I'm wrong, but industry trends would dictate otherwise.

Thread Thread
lukeshiru profile image
LUKESHIRU •

Oh man ... you keep on going ... lets do this, I'll answer to your comment so you don't feel that you have a point (because you don't have one), and lets call it a day (I really don't want to deal with you any more):

You will see as you advance in your career that not having a degree will limit you.

You mean when I'm 40 or 50? I have 31 years old and I'm not only not limited by the lack of degree, but as I already said, I trained folks with degrees that don't know the things I know. Degree didn't meant anything to them or me, they are just interested in the actual knowledge.

Most industries that do not require degrees are very easy to offshore to some 3rd world country. With advances in global telecom it is very possible that most of these industries will be very quickly be offshored as it is more cost effective.

That's partially true, I come from one of such countries, but still folks in the US wanted to pay more to have me here in the US working "next" to them (WFH actually). So your argument about "cost effective" kinda falls short.

I do wish you the best of luck, but as someone so young in your career I am fearful that you will be on the other end of a layoff notice and not have the ability to get the remaining jobs due to your decision to not pursue higher education.

That sounds more like you're wishing the contrary, but tbh I don't care much about the wishes of someone that can't see the difference between degree and knowledge. I mean you are able to understand that folks with degrees might not know what's needed for a position, but for some reason you're not able to understand that folks without a degree can.

I do sincerely hope I'm wrong, but industry trends would dictate otherwise.

Again, take a look outside. I don't know what industry trends are you looking at, but companies every day care less about your degrees, and it makes complete sense if you think about the speed in which tech evolves compared to the speed in which degree curriculums are updated.


I'm not trying to change your mind, because folks like you don't learn (pun intended), I mainly replied to your comment so if folks read your uninformed and subjective opinion, they have another point of view just next to it.

TL;DR for anyone else reading:

  • Peter here believes that you can't get a job nor grow in the software industry without a degree, which is equivalent to having knowledge.
  • Me and anyone that lives in 2021 will tell you otherwise: A degree is not equivalent to knowledge. You can have a degree and not know anything useful, and you can have no degree and be extreme knowledgeable. What matters is the actual knowledge.

Before I go, here, have a degree certificate because you like them so much:

Worthless degree

Thread Thread
optimbro profile image
Rahul •

Dil jeet liya sir aapne...

Thread Thread
paulcanning profile image
Paul Canning •

Pete got wrecked

Collapse
vladudenis profile image
vladudenis •

Every single self-thought web dev I personally know has studied V8 and learned the ins and outs of the the interpreter, the optimizing compiler, minor and major GC, as well as the neat tricks used under the hood like hidden classes and inline caching.

There are plenty of articles out there that can condense this knowledge into a 15 minute read and a list of dos and don'ts to maximize the performance of your program, which is something any beginner coder can read and understand without much experience in the field.

Ex: blog.logrocket.com/how-javascript-...

Obviously, it takes more than superficial understanding of the V8 engine to make noticeable performance-improvements, but mastery takes time. You begin by reading articles that can convey these concepts clearly, then you go ahead and read the official V8 docs and its blog.

In summary, just because you don't have the ambition, focus and patience to study these concept on your own, that doesn't mean others must be on the same level. Devs are not hand-held in the real world -- they must go out of their way to fill in any gaps in their understanding and continuously improve their mastery.

Have a nice day!

Collapse
nombrekeff profile image
Keff •

BS, I think your ego is obscuring your view. They do matter, but are not required. Not everyone wants to work in enterprise, neither should they want to. As a matter of fact I know 10s of devs that come out of CS degree and have less knowledge than self taught devs. Yup they might have the theory on some random algorithms, or how assembly works. But that does not make you a better dev in any way.

Good devs are the ones that have the most experience in their field, not the most amount of degrees. You can have 10 degrees, but if you don't put it into practice, you're as much as a noob as any other self-taught developer. Practice makes the master

I think this comment does not offer any value what so ever. Don't discredit other developers choices because it's not the same as yours.

Collapse
patrickkyei profile image
Patrick-Kyei •
  1. Oh u need to see this 🀣 youtube.com/channel/UCsAjtT-RYQRtM...

  2. And mentioned you are a hiring manager, you don't do the coding so hey this area is not your expertise. It's you are saying this but a self taught engineer could learn all these abstractions if they want to, but it doesn't matter.

  3. The guys who are winning huge bug bounties, reverse engineering programs are self made engineers

Collapse
mertayasa profile image
Bali Merta •

wow,, what industries and what country you're working in sir ??

Collapse
darthbased profile image
Comment marked as low quality/non-constructive by the community. View Code of Conduct
Arthur Callahan •

Praising God πŸ™ that I will never be qualified enough to work under your insufferable ass.

Collapse
peter_brown_cc2f497ac1175 profile image
Peter Brown • • Edited

What I say is not out of disrespect. Every human being deserves respect.. Not every human being however has the technological skill educational background et cetera to work in certain industries. That's bread that's just a fact. I would never call you an insufferable ass. If you applied for a position that required a degree that you didn't have I would promptly dispose of your resume without a second thought, but I would not think of you as a less of a person. This is not about feelings it's about knowledge. I don't understand why so many people are so upset when they're told they can't do something. I do hope that your account is deleted and banned for vulgarity and disrespect.

Thread Thread
darthbased profile image
Arthur Callahan •

You're right. I would be a under qualified ass.