CLICKBAIT: JAVASCRIPT FRAMEWORKS TO LEARN IN 2018

JavaScript Click Bait and Switch — Me


Another clickbait title from yours truly. But you already got here, so stick around.

This is all over the Internet!

Which JavaScript frameworks should you learn in 2018?

Top JavaScript Frameworks & Topics to Learn in 2017

Best JavaScript Frameworks To Learn in 2017

Top JavaScript Libraries & Tech to Learn in 2018

I’m so confused, what JS framework should I learn?

Top JavaScript Frameworks & Topics to Learn in 2017

Should I learn a JS Framework?

Which framework should I learn, if any?

What JS framework should I use/learn?

Should I learn Vue.js or stick with Javascript?

Javascript frameworks of 2017?

JavaScript frameworks and topics to learn in 2017

Which JavaScript frameworks should you learn in 2018?

Poll: Which JavaScript framework do you use (and why)?

Ask HN: What is the best JavaScript stack for a beginner to learn?

Ask HN: What frameworks are currently used in a modern web stack?

What Javascript framework should I learn?

Which is the best JavaScript framework? Answer Request

Which are the latest JavaScript frameworks to learn in 2017?

Which is the best JavaScript Framework to learn?

Which JavaScript framework should I learn in 2017, and why?

Which Javascript framework should I go for? React or Angular?

Which framework should I learn?

Why should I learn a front-end JS framework (Angular, React, etc.) and what are their benefits over a more “traditionally” built site?

Learning JavaScript… Should I skip straight to the good stuff (the frameworks)?

A lot of us are looking for answers to one basic question:

Which new “tool” should I learn this year?

We may have different reasons. Some of use love to learn something new every once in a while. Others want to be more hireable or more job-able or more client-able or more money-able. No matter our reasons, we need to get on the “juice” as quick as possible. We need to get our fix.

Here’s the deal, there’s no single, absolute answer to the above question or any of its variations. Whenever I get such a question, I give the consultant answer — It depends.

As professionals, we’re mostly driven by either hype or need. As far as I’m concerned, both have their values and drawbacks, and I won’t go into details here, but I would rather be driven by need than be driven by hype. If you look at the resources I provided before this section, you will find healthy doses of both hype and need. So if you are reading this article, I hope you get a set of answers that best suit your current situation as a JavaScript professional, in 2018, and decide for yourself, what you should learn and when. If the links don’t help with that, reading this article will at least give you a glimpse into my story of becoming a JavaScript framework specialist in 2018 — subjective, very subjective.

I got the idea for this article from a question I found on Quora. Bear in mind that this is a very subjective perspective on JavaScript frameworks.

So, when I first saw the question, I was tempted to give the “Learn the basics” lecture. I have given that before, countless times.

Do I need to master vanilla JavaScript before I can understand and use frameworks like React and Vue?

Do I need to learn Node.js or JavaScript in detail in order to work with browser automation drivers?

Which syntax is the closest to jquery: angular or react?

How do web-developers deal with javascript-churn?

What should I do to become an enterprise level professional in JavaScript?

Should I learn Angular 1 or Angular 2 as a newbie, in the end of 2016 ?

Is Meteor.js, as a job skill, worth mastering in 2016 if you don’t yet know Angular, React, Ember, or Backbone?

Is it possible to become a Javascript expert in one month?

Is it a good idea to use AngualarJS 2.0 for a project starting now and going live on August 2016, considering the fact AngularJS 2.0 is still under development?

But to what use? Maybe the person asking the question already knows JavaScript. Maybe they just want a damn framework name and not some rusty old JS developer reciting versets from the #ECMAScripture.

So instead of going into basics preach-mode, here’s how I discovered my 2018 strategy for technologies, frameworks, learning new things and for specialising as a full stack JavaScript consultant. Also, at the very end of the article you’ll find the front-end framework I want to work with in 2018.

A bit of backstory.

I always thought it’s better to be a generalist. To know a bit of everything. Maybe it’s me, maybe it’s our national culture — a Romanian is good at almost everything — the thing is that I loved to be Mr. Know-It-All.

Not a big problem, but I was so absorbed by the generalist approach, I belittled people who were good at only one or two things. I did the same to people who believed knowing a bit of everything is not a good way to go about your work. And there was another problem: I wasn’t Mr. Know-It-All, I was more Mr. Know-A-Small-Bit-Of-Everything — a mouthful, I know.

I realised I was wrong last year, when after a small depression in my consulting practice, I was forced to think about my weak and strong points. Never did that objectively. I always skimmed the surface and moved on. But I realised right then and there that introspection and being objective about one’s skills, goals, and plans is crucial.

So along with realising I was being an A-hole to people, in mid-2017 I realised I got my tech strategy wrong.

For example: I wanted to deepen my Go knowledge. I figured out I just can’t add Go to my speciality stack.

Why? Because I had too many!! I was full!!

Nobody would have ever believed I knew 7 programming languages, 15 frameworks, 20 testing tools, automation, DevOps, Agile and a ton of libraries around those languages and frameworks. And the truth is I didn’t know. At least not well enough to be considered a specialist.

I am well aware of T-shaped people and E-shaped people concepts. The problem was I was more of an Underscore-shaped person. Like this: ________ . Broad base, no real specialty. My only advantage was that I’m a good critical thinker / problem solver and when I get stuck I push through with sheer force.

So I sat down to rethink my strategy. I created a list of things I know well. I continued with the things I know marginally well, all the way through to things I would like to learn.

Then I thought about the types of projects I worked on for the past two and a half years. I split them by asking the following questions: — How enjoyable was working with the client? — How much revenue did the project generate? — What was the frustration level once the project was through? — What did I learn during that project and how important was that for my growth?

I narrowed it down to a list of 6 items. From that, I generated three lists of technology-related items: frameworks, languages and concepts. For two whole weeks, I opened the note where I had the lists daily. I went through each one and tried to figure out what I needed to remove. I wanted to free up time, brain real-estate and be able to better target future software projects. During that time, I was also thinking about re-designing my personal website, because I felt that it did not represent me. I had used 3 types of static site generators by that time: Jekyll, Hugo and Middleman. For the personal website I used Middleman.

I kept hearing about this React-based static site generator called Gatsby.jsbut I always thought static sites with React are nonsense. What a stupid idea! I’m glad I didn’t settle for that. One day, while working on my website, I realised I could narrow down my technologies list even further. I just had to focus on the things that are common to all the 6 projects from my list.

So I went one last time thought my initial list of projects and created a single list. One with all the technologies I used, without splitting them into frameworks, languages etc. If I found some technology in more than one place, I would add and extra “1” next to its name. Then I counted up the 1s and if any item had a score bigger than 3, I would add it to my 2018 stack.

This is how I managed to narrow down my technology stack to a simple list.

Ok! We get it, Adrian. You were an entitled douche, a generalist, and you realised gold is hidden in specialisation. What about the JavaScript frameworks?? What are you using or learning in 2018?

Remember that the title begins with “CLICKBAIT”. But, if you’d like to know what framework I’m planning to use in 2018, it’s React.

The reasons I chose React are simple:

  • It has an amazing and vibrant community.
  • There’s a lot of nice tooling built around it — Check out this article I wrote, about Chrome extensions I use. There are some useful extensions for React development in there, as well.
  • A large company sits behind it and can back development efforts.
  • It is widespread and people know about React even if they’re not developers.
  • You can use it for both web and mobile.
  • React Native is amazing for the type of mobile applications I usually build.

So yeah! This year I’m tripling down on React. If you’d like to see the full list of technologies I specialise in, head to the hire me page.

What JavaScript frameworks are you going to learn in 2018? Do you need to learn a new one? Why?

Cheers!

P.S. The commenting system actually works.

Update 1

The Top JavaScript Trends to Watch in 2018

Here’s a very interesting and detailed article on the topic, but without the clickbait 😩. I really like the fact that the author goes at length on each technology instead of just pasting some links and an “I really like this stuff” comment…

Update 2

I forgot to mention that this year I will be focusing on learning Golang and Elm. I don’t plan on learning any new front-end JS framework this year.

By the way, if you are using Webpack and you are messing around with code splitting, I published an article about a nasty memory leak I found in Webpack while using dynamic imports.