The good, the bad, & the confusing JavaScript
Javascript is constantly evolving. Not only is the language evolving, a new standard published each year, but the ecosystem is as well. This isn't a controversial opinion: Javascript fatigue is real. This is the blog post that most people will refer to as evidence, and this is a screenshot of 64 million results for Javascript fatigue.
I write Javascript each and every day. Once a month, someone likes my Javascript so much that they give me a bunch of money so I can keep doing it. I'm not a Javascript savant by any measure (my Twitter follower count will tell you this), but I'm well-acquainted enough to feel the way the tides of JS move.
And like any swimmer worth the salt in this particular sea, I'm compelled to write what I think about it.
The good
When it comes to framing the Churn of Javascript as a Good Thing, the takes are remarkably sparse. As a middleweight developer, I'm not the hugest fan of the Churn myself. But it does have its good facets. Let me explain.
For starters, the barrier to entry for Javascript developers is extremely low. On any day in the cursed year 2020, the only thing standing between a technically-minded 17-year-old and a command of the Internet is maybe like 70-90 hours of access to free Javascript learning resources. These are plentiful enough that I'm not even going to try and list them here.
In fact, the Javascript education industry seems larger, sometimes, than the industry of developers actually building Javascript-based products. This can't be true, and certainly isn't true: but it feels true. There's no lack of schmucks with MacBook Pros and an entry-level microphone recording tutorials and writing blog posts introducing you to everything from Axios to Zeit (I mean Vercel).
The practical effect of this is that if you're legally allowed to work somewhere, you could feasibly have a Javascript job in like 2.5 months. Which is a super-short runway for skilled labour, it feels like.
But that's not all! The Churn also means that very few popular technologies have been around for any significant time. There's not much in the way of an old guard. Almost 50% of Javascript developers have less than 5 years of experience. No one really knows what they're doing, which means that there's tremendous opportunity for experimentation and exploration. The Javascript pie is always growing.
The bad
Usually, the Churn is framed as a Very Bad Thing. In fact, this is such an accepted point of view that it's become a meme.
The Churn tends to express itself in individual developers as JS fatigue: a combination of burnout and FOMO happening at the same time. Keeping up with the Javascript ecosystem is a marathon, because it never quite ends; but at the same time it’s a sprint, because it’s all happening so quickly. There’s just no way to keep up with it.
And so we’re seeing the modern web fragment, day to day. I’m talking Coyier’s The Great Divide . I’m talking React devs v. Vue devs. I’m talking function programming advocates in JS-adjacent languages like Reason and Elm , v. OO die-hards clinging to ES6 classes and classical design patterns. I’m talking job postings that ask for competent with Javascript (jQuery, lodash) v. job postings that ask for competent with Javascript (React, Redux). There is no one Javascript Developer anymore: there are React developers and build engineers and Node jockeys and 35-year-olds calling $el.fadeOut()
and 22-year-olds shitting on 35-year-olds who call $el.fadeOut()
. It’s a mess.
And all of these different developers are writing Medium posts and Dev.to posts and personal blog posts about why their chosen stack is the Right One, which means that no matter what you think you’ll always find someone telling you You’re Right; but which also means that no matter what you think you’ll always find someone telling you that You’re Wrong: which can be confusing in the extreme if you are part of the half of all developers who have been doing this for less than 5 years.
Which, I think that’s what makes the Churn so painful: it’s not that there are lots of options, but that the discussion around those options is exhausting.
The confusing
The result here is that no matter how talented you are, there’s always some new library or framework or paradigm being hawked by educators whose job it is to maintain this anxiety in FOMO-ridden devs sitting in their living rooms, and who always seem to have the most Twitter followers and the most dev clout and the shiniest new MacBooks and the coolest LED-ridden battlestations to aspire to if only you, too, could learn how to write Javascript in this new way: which you can, for $79 if you act within the next 36 hours.
But like, that paragraph right there: that is what Javascript fatigue looks like. Being a little tuckered-out and confused by the way things are moving and the people moving those ways. Let me make this clear: I don't think Javascript educators are not the problem. In fact, everything good I've said above, about how Javascript has such a low-friction uptake, is facilitated by these educators. There's a group of people in the Javascript world that are doing very real, very important work. Wes Bos is the closest thing to a mentor I’ve ever had, in tech or otherwise. Shawn Wang’s perspectives on coding as a career are legitimately indispensable. They, along with a handful of others, generate a powerful and effective signalin the JS community.
But the multiplicity of Javascript Thought Leaders makes it very difficult to separate that good signal from the rest of the bullshit noise, of which there is an absolute ton—including this blog, I worry. It makes it ten times worse when you’re new to the language and you’ve never heard the signal before.
And this promotes burnout and instills in developers the sense that they will never been good enough. That there is always something new and exciting to learn around the corner. I have a real, gnawing sense of dread that if don’t keep moving, my skillset will, over 3 or 4 months, become obsolete: and I will become unemployable.
This is the source of a great deal of Developer Anxiety. At the same time, it keeps the crankshaft of the great JavaScript Tutorial Engine turning, and generates a significant profit for a class made up at once of of ultra-proficient educators and hypebeasts masquerading as ultra-proficient educators, and from where I'm standing it's very hard to tell the difference, and so: turn onwards it does.
In concl
So what does this all look like in practice? It looks like an industry of developers with a tonof breadth and almost no depth. It looks devs with 5 years under their belt: 1 year of experience in 5 different technologies. It looks like a bunch of burnt-out white dudes with beards wandering around trying to see around corners; or maybe a few slightly-less burnt-out white dudes building up corners for everyone else to try and see around.
It just looks exhausting.
Previous
BEM + utilities: a hybrid methodology
Yet another CSS methodology: one that works pretty well for me.