JavaScript – The Land of Opportunity

JavaScript Fatigue – Everyone’s talking about it, and most of us have felt it in one way or another. While it often feels good to blow off some steam by writing satirical articles about the current state of the JavaScript ecosystem, dwelling on it too much in that light can become frustrating and discouraging for both yourself and for others. Although I’m not the first, I’d like to try to talk about JavaScript Fatigue in a different light.

JavaScript is a land of opportunity

A popular criticism of the JavaScript community these days is the number of frameworks and the pace at which they’re being released into the wild. This happens so often in fact that developers have become resistant to the idea of new tools and frameworks - we’ve had enough! With new frameworks comes more fragmentation, more documentation to parse, and more incompatibility between tools. While some of that may be true, what if we were to instead focus on the benefits of a maturing ecosystem: the ideas behind all of these new tools?

I would argue that a world where a surplus of ideas are shared is vastly superior to a world where things are stagnant, and in fact a diversity of ideas often helps to foster creative solutions to difficult problems. Take React, for example. When I first heard about React I reacted (no pun intended) emotionally and negatively. I focused on the dependency weight of React (React + React DOM minified but before gzip are roughly 150kb at the time of this writing), and on how JSX to me felt like a violation of Separation of Concerns. What I didn’t do at first was set aside my emotional response to consider what the React team was actually trying to communicate, and why this new tool was groundbreaking to them. When I was able to let my guard down and objectively give it a shot, I fell in love! No longer needing to manage the state of both my data and DOM was incredible, and it had a positive impact on the speed and quality of my work.

Coming of Age

Things are moving so fast and it’s wild to think that when I started my career as a programmer, websites that utilized AJAX were considered complicated. Even wilder still is that in the same workforce we have people that haven’t known anything other than the current fast-pace of the JavaScript world where even small projects almost require the use of a build step. The bottom line is that while the current pace of innovation and churn of ideas can be overwhelming, this is a good thing! The Front End industry has moved from something that an individual can have a complete mastery over, to being a large umbrella with many sub disciplines - and many of them require full time study and dedication.

To put it another way, compare this growth to the world of sciences. Today it’s normal for a person to specialize and spend their entire lives in one area of study. Why? Because there is just too much for one person to know. Now, I’m not claiming that the world of JavaScript is as expansive as the universe and everything in it, but as our industry matures and exceptionally complicated software becomes the norm, so will our tools and the opportunities for us to specialize.

Okay, okay. So how do you deal with it?

That’s a great question. The best answers I can give are patience, and learning to learn on demand. It’s easy to be overwhelmed and frustrated when there’s always something new to learn, but I think that’s one of the best parts of our job!

The only requirement for being a programmer is being comfortable with constantly learning, especially when it feels overwhelming. - @captainsafia

That’s where patience comes into play. Much like music, programming is a pursuit of a lifetime - you’ll never master everything and your tools will always require tuning and maintenance. Embrace it!