How to Know Where To Start When Learning a New Tech Stack or Approach?

On this thread on reddit, we read about a person who decided to learn some Vue.js, and isn’t sure where to start.

Coming from the PHP/Laravel world, this person wanted to get good at the front-end using the newest approaches. After running into Nuxt, and having so many questions pop-up, the person posted this:

Now i want to develop my skills so i searched and decided to use vue to build my portfolio then i found nuxt and i used it but I don’t know the difference. And I’m confused what happened to those old days where everything was much easier.

Maybe, like this person, you’re wondering where to start with this new thing you’re learning.

You might be asking yourself questions like this:

  • Is Vue.js the same as Nuxt?
  • What’s the purpose of each?
  • Do I need to know ES6 before learning Vue.js?
  • Should I take a course to learn the basics of javascript before starting with Vue.js?
  • In order to get a job, do I need to know one of the latest front-end frameworks like Vue.js or React or should I just concentrate on getting good at Vanilla JS first?
  • Does it even matter for me to learn this?
  • Will this technology be around in 3 years?

The questions you ask yourself when learning something new are super important. They give you the next steps in your journey, and so it pays to make a list, like the one above, of your precise questions.

But to get over the sense of being overwhelmed by those questions, it pays to get out of the next steps, to zoom out, and to picture the future.

Picture the Future of Your Learning To Get Some Distance From Your Questions

Imagine some of the future milestones you’ll achieve during your learning:

  1. Learn enough Vue.js to build a small project
  2. Get a success with a small Vue.js project
  3. Get a complete project in my portfolio
  4. Get enough projects in my portfolio to get a job
  5. Land a job with my new skills

Now, pick one of those milestones, pretend you’ve already achieved it, and write statements describing what you will have done before achieving it (and that might as include getting answers to your questions.)

For example, let’s pick “Learn enough Vue.js to build a small project”. Let’s pretend that’s been achieved. And let’s write a list of things you’ve learned before that. Start by rewriting the milestone with a heading that starts with the words “Before I can say that I’ll have…”.

Before I can say that I’ll have learned enough Vue.js to build a small project…

Then add “I’ll have:” to that heading.

Before I can say that I’ll have learned enough Vue.js to build a small project, I’ll have:

Then start adding statements describing what you’ll have done:

Before I can say that I’ll have learned enough Vue.js to build a small project, I’ll have:

  • Determined if Nuxt is the same as Vue.js
  • Determined if Nuxt is even relevant
  • Determined how Vue.js works
  • Determined the difference between Vue.js and Vanilla JS/JQuery
  • Learned enough to be able to start a project

Now that your list is written this way, you can see that there’s an easy trick you can use, so you add it to the list:

  • Copied an existing sample project and started tweaking it to try to break it, see how it works.

With that new tactic, you feel ready to push through to your first goal: being able to say that you’ll have learned enough Vue.js to build a small project.

Once you’ll get to that milestone, repeat with another list for the next milestone:

Before I can say that I’ll have had a success making a small Vue.js project, I’ll have:

And then make the list of statements. Make sure to start each statement with a past participle verb like “determined”, “obtained”, “shipped”, “tried”, “learned”, etc.

Picturing the future gets you out of those tough overwhelming moments when you have tons of questions.

Hope this helps!

If you're finding yourself in a team of folks who too quickly reach for heavy JavaScript methods, consider checking out the Modest JS Works web book right here on this site for free.