avatarEric Elliott

Summary

The article expresses gratitude for the abundance of choices in the JavaScript ecosystem, advocating for embracing the core of JavaScript without the pressure to master every new tool.

Abstract

The author acknowledges the overwhelming nature of JavaScript development, given the plethora of tools, frameworks, and technologies available. They argue that it's impossible for anyone to fully grasp every aspect of modern web development, from JavaScript and CSS to new architectures and programming paradigms. Instead of trying to keep up with everything, the author suggests focusing on what excites you or is immediately necessary for your work. They emphasize that the basics of JavaScript and web APIs are powerful enough to build outstanding applications. The article also reflects on the history of web development, comparing the current state of "JavaScript fatigue" to the past where developers had to learn a multitude of languages, with fewer resources and community support. The author expresses profound appreciation for the open-source software ecosystem, the web's founding pioneers, and the community contributors who have collectively made web development an amazing field to be in.

Opinions

  • The author believes that no single person can master all aspects of modern web development due to its vast and ever-growing nature.
  • They suggest that the solution to JavaScript fatigue is not to learn everything but to focus on what genuinely interests you or is required for your current projects.
  • The author points out that even so-called "experts" have specialized knowledge in certain areas and cannot know everything about web development.
  • They remind readers that the fundamental technologies of the web are sufficiently robust to create impressive applications without the need for every new tool or framework.
  • The article contrasts the current abundance of web development resources with past challenges, suggesting that today's developers have it comparatively easier.
  • A sense of gratitude is conveyed towards the individuals and community that have contributed to the development of the web, highlighting the importance of recognizing and valuing these contributions.
  • The author encourages a shift in perspective from one of complaint to one of appreciation and collaboration within the community.

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.

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

JavaScript
React
Recommended from ReadMedium