Overcoming JavaScript Fatigue

I logged into Slack at work, and somebody posted an article on our #javascript channel.

It was that article. The one that has appeared in most internet havens for JavaScript developers.

If you haven’t read it and you’ve worked with JavaScript, it’s definitely worth a read. It takes “JavaScript fatigue” to its limits by naming off the hip, trendy tools and technologies that seem to cause more frustration than good amongst JavaScript developers. The article led to an interesting discussion about JavaScript’s fragmented ecosystem and how it has affected the next generation of web developers.

I’ve definitely had those moments when I was thinking of a project to make, only to consider combining Webpack/SASS/React/Redux/TypeScript/fetch/PostCSS… to the point where I didn’t even start and ended up watching Doctor Who instead.

How to prevent this?

After seeing so many articles and blog posts about this so-called “fatigue”, I realized that I was getting fatigue over all this fatigue. So let’s try addressing the causes for fatigue and see how we can prevent it from happening in the first place.

Acceptance

Let’s face it, the JavaScript ecosystem is fragmented. While individuals and sub-communities can help mitigate further fragmentation, it’s a long, evolving process. We must accept that in the short term, we will have lots of tools to choose from, and that list of tools will keep growing.

Specialization

JavaScript’s tooling is only a subset of the JavaScript ecosystem, just as JavaScript is only a subset of web development. Yet, we don’t say we have “web development fatigue”, because we specialize in specific software stacks that make us productive. Instead of looking at all the tools and frameworks, focus on a subset instead, knowing that you can always interchange similar technologies if needed.

And if it’s too hard to choose, take a leap of faith and perform a trial with a technology. After all, there’s hundreds of other JavaScript packages out there.

Perspective

You may see developers who live on the bleeding edge, using Yarn, Webpack, and other packages you haven’t used.

But remember that people have been pretty productive recently with npm and gulp.

25% of the web uses Wordpress

Some of the most high-traffic sites, like Craigslist and Wikipedia, use jQuery.

Ultimately, the tools and frameworks out there are simply just that. They’re tools and frameworks for getting the job done, and sometimes the job doesn’t involve a tool developed two months ago. Usually, the job involves a deep understanding of the language and a few tried-and-tested tools.

Conclusion

Accept that there are many tools. Choose a few to work with so there’s less going on in your project, and iterate from there.

Most importantly, keep building and growing when it comes to JavaScript. While tools and frameworks go in and out of style, language concepts like this, object references, and prototypes tend to stick around longer. Learning more about the underlying language and its patterns will make it easier to pick up the next framework or tool you want to use.