Why I’m Thankful for JS Fatigue. I know you’re sick of those words, but this is different.

Leonard J Matthews (CC BY ND 2.0)

Learning JS can be overwhelming. I know it can feel like there is an ocean of stuff you don’t know. Trying to soak it all up is like trying to soak up the real ocean with a beach towel.

It’s never going to happen. From this point going forward, no single human being is ever going to have a completely full grasp of every corner of JavaScript, CSS, and Web APIs. Nobody is ever going to know everything there is to know about modern web architecture, Node, GraphQL, SQL, NoSQL, async control flows, functional programming, build pipeline tools, debuggers, memory profilers, paint profilers, flame graphs, React, Angular 2, TypeScript, Redux, ngrx/store, RxJS, Axios, Webpack, Browserify, Elm, Clojure, and every other exciting, scary, new, hipster Haskell thing that exists in the web dev world today.

It’s never going to happen. I can’t keep up. Dan Abramov isn’t keeping up. Brendan Eich isn’t keeping up. Don’t stress out because you can’t, either. We’re all on the same bullet train here, and no matter what seat you’re sitting in, the world outside the windows is all a blur.

We “experts” know a lot about our little corners of the web platform, but we don’t know every little thing about every little thing. If you’ve been at it more than a year or two, chances are very good that you know a lot of stuff I don’t know about web development. I’m cool with that.

The cure for JavaScript fatigue is not to learn all the things. The cure is to stop trying to keep up and just learn the bits that you’re really excited about right now, or the stuff you need to know to do the job you’re doing today.

Make peace with your focus. It’s that simple.

I recently built an app prototype in a couple days using nothing but vanilla JS and the DOM. I was literally two days in before I installed a single non-dev dependency. Guess what? It was fine.

I later added React and Redux, but it was fine without them. The MVP worked. I could have built the whole app that way, and no puppies would have been harmed.

You don’t need to play with every shiny new toy all at once. The core of JavaScript and the web APIs are powerful enough all by themselves that you can build a pretty outstanding app with them.

Everything is Amazing

Every time I hear the words “JavaScript fatigue” I am simultaneously sympathetic, but also thinking: I know all this stuff is overwhelming, but this is the silliest thing to get pissed off about in the history of getting pissed off about things.

It’s like a kid walking into a room full of presents and birthday cake complaining about all the presents and 6 different flavors of ice-cream to choose from.

It’s like walking into a restaurant and finding out that they have all your favorite dishes and every one of them is free and complaining about how long it’s going to take you to read over the menu and make up your mind about it.

It’s like having the wealth of the world’s knowledge at your fingertips that you can carry around in your pocket and complaining that you can’t find your favorite cat video on YouTube.

Everything is amazing and nobody is happy.

When I was learning to code professionally it wasn’t a new framework every 6 months, it was a totally new language:

  • Haskell
  • ML
  • Oak
  • Python
  • Java
  • JavaScript
  • Perl
  • PHP
  • OCaml
  • Ruby
  • ActionScript
  • Cold Fusion
  • Objective C
  • C#

… and all of them were promising to be the next big thing. I’m leaving out a ton of promising languages that popped up around the same time. And you think you have it tough with Angular vs React.

Keep in mind the only clear winners in those days were C/C++ and Java. JS was a dark horse. RoR didn’t exist yet. PHP was pre-WordPress…

Today’s platforms and dev tools are amazing. The OSS ecosystem is nothing short of a miracle. Look around today and appreciate all of it.

Thank you all:

  • Tim Berners-Lee
  • Brendan Eich
  • John Resig
  • Ryan Dahl
  • TJ Holowaychuk
  • James Halliday (Substack)
  • Jeremy Ashkenas
  • Jordan Walke
  • Dan Abramov
  • Tobias Koppers
  • JavaScript Cheerleader
  • You

Going into the holiday season, I realize we’ve all been given so many gifts, we forget about all the amazing stuff we get from the community all around us, every day, for free. Let’s stop complaining so much, and learn to enjoy and build on it, together.

Sincerely,

Eric Elliott