I think it was George Washington who, in a characteristic display of brilliance, said that “with great power comes great responsibility.”
Wait. Was it Albert Einstein? My brain tends to be a little fuzzy on details lately. Even more so when considering that, just in the past 4 years, I’ve crammed so much front-end-related information into it, it’s an achievement worthy of admiration that I still remember how to tie my shoelaces. Or at least I hope I do. I’ve been using moccasins for an entire week, and I’ve been reading about React Native, so I guess it’s just a matter of time.
Yes, my dear reader who might or might not be a front-end developer, you guessed right: this is going to be “yet another blog post about JavaScript fatigue” (Heard they call them YABPAJSFs now). However, before you start sharpening your pitchforks and lighting up your torches, please give me the benefit of the doubt. Let me start by carefully wording a politically correct statement in which I’ll try my best to please every dev out there with an opinion on the matter:
JavaScript fatigue is real, it’s a problem, it’s your goddamn fault, and if you believe otherwise, you are part of the problem and not the solution.
Also, you smell really nice (See? I told you I’d please everybody).
Let’s divide and conquer what I just said, starting, rather anticlimactically, from the start: JavaScript fatigue is real. And this is not just my opinion. It’s a fact.
Poems and songs have been written about it. More articles than planets you can find in the universally praised No Man’s Sky have been written about it. Flame wars have been fought because of it, and I mean actual wars, with actual flamethrowers. So, please, do yourself a favor and don’t ignore the obvious: There’s a thing called JavaScript fatigue that exists.
Now, for a more important question, what the heck is it, and why is it so important to talk about it?
JavaScript fatigue refers to the phenomenon of a rather considerable amount of developers feeling intimidated and overwhelmed by the insanely fast growth of choices in the JavaScript world.
You might scoff at the intimidation part, but you can’t argue with the insanely fast growth part. Frankly, it’s getting silly. 4 years ago, words like Gulp, Grunt, Browserify, Webpack, React, Redux, TypeScript and Angular weren’t part of my vocabulary, and the amount of effort and time I’ve invested in learning about them isn’t negligible. And the worst thing? The list I mentioned is just the tip of the iceberg. For every new thing I learn, there are probably a dozen new things I’m not learning, simply because I don’t have the time to do so.
Add to that, that I’m actually one of the lucky ones. I’ve been witnessing this boom in the JavaScript world since its early beginnings, so I’ve been able to grow with it. I’m used to it. I understand it. But what about inexperienced devs? What about those who are just trying to join the JS community now and face the ever-growing number of options?
Which takes us to part II of my statement: it’s a problem.
It might not be a problem for you, of course. Like me, you have been a part of this since the beginning. You can’t imagine a JS world without it, so you don’t feel like it’s a bug, but a feature.
Maybe you are in a work environment in which learning and then sharing knowledge is encouraged. So you might be tempted to diss all the JS newcomers who complain about JavaScript fatigue as cowards, or lazy people who don’t like to read.
But remember: you have been doing this for years, one step at a time. You were born in this, and molded by this, while they are merely adopting it (hashtag nerdy reference). For them, facing the JS world is like facing a gargantuan wall of information that keeps growing, and its growth rate just. Keeps. Speeding. Up.
It’s not a problem for you. It’s a problem for them.
And yes, it’s your goddamn fault.
Yes, I’m talking about you.
You, who not long ago were referred to as “the markup guy,” and silently, yet proudly, took care of those pesky CSS vertical alignments, while the back-end guys did the real work.
You, who felt that JavaScript was powerful and versatile enough to do much more than just carousels and popovers, but had to endure the mockery of those who ridiculed it for not having classes.
You, who rejoiced and celebrated when the paradigm shifted and SPAs went from being a gratuitous eccentricity to being the norm.
You, whose opinion all your peers started to respect when Node became a serious back-end option and you were the guy in the room who knew about JavaScript the most.
Yes, you. Because after all this years of being the underdog, you finally became the rockstar, and JavaScript fatigue is nothing but a consequence of us, a lot of us, an immense number of us, finally being in the spotlight. Finally being able to prove we can do more, much more, than CSS vertical alignments.
After years of waiting, the mic is in our hands, the cameras are rolling, and the audience is finally listening, so we feel the pressure of proving ourselves. We feel that, even though a myriad of JS frameworks and libraries already exist, they can be better, faster, and stronger. So we are all doing everything, all the things, all at once.
And guess what? It’s magnificent.
I’ve seen programming languages enter and exit the spotlight a couple times during my career, but I had never witnessed anything remotely similar to what’s happening with JavaScript right now.
If you ask me, we very well deserve it. But this feeling of fulfillment we are experiencing, my friend, is exactly what Mahatma Gandhi alluded to when he said that with great power comes great responsibility.
Instead of sweeping it under the rug, we need to acknowledge JavaScript fatigue. We need to acknowledge it is our goddamn fault. And instead of dissing and ridiculing the newcomers who complain about it, we need to try and explain to them what’s happening, why, and then do everything in our power to mentor them. To make them feel thrilled by all the choices, instead of overwhelmed.
Otherwise, they will simply move in hordes to whatever comes next. Whatever makes it easier for them to start. And then our time in the spotlight, while amazing, is going to be very short lived.
Contrary to what you might believe, I’m not writing this article out of JavaScript Fatigue Hate. It’s quite the opposite, actually. I love the fact that this is happening, and I want it to keep happening. I’m a JS fanboy to the point that if JS were Star Wars, I’d even praise its Episode I parts. But I am, first and foremost, an engineer. And I believe it’s my duty to do everything in my power to make my tools of the trade better.
Consider this blog post my two cents on the matter. And what can you, as a JS expert do? Acknowledge this. Be helpful. Give talks. Prepare workshops. Write blog posts, or even books. Film video tutorials. Write the damn documentation. But whatever you do, just don’t be an a*%hole to newcomers. You are a rockstar now. Use your power with responsibility.
After all, Uncle Ben was right.