Why is jQuery still relevant?

There’s something that I’ve been seeing pretty consistently over the last few years and it’s irritating. Seeing jQuery listed as a skill in a CV, or (even worse) a skill requirement for a job listing.

This grates me for 2 reasons:

A. It’s 2016, jQuery is not a requirement to build front-end systems B. jQuery is not complex enough to require considerable knowledge to use.

It’s 2016

I’ll preface this with the fact that I’m a lucky developer. We (Thin Martian) have switched to specifying IE11 as the lowest browser version we will support unless asked otherwise. With that in mind, most (if not all) of the cross-browser quirks that jQuery tries to solve aren’t needed for my day to day. But honestly, I’d feel the same way from IE9 and up (maybe IE8 too).

With the addition of querySelector/querySelectorAll to JavaScript, the main reason I used jQuery — to select things — is no longer relevant. Outside of that, the main use of jQuery (in my experience) is managing classes, data, and events. I concede that the first 2 are still not supported natively (classList & dataset) until IE11- but I really don’t see the need to include a 84KB compressed JavaScript library for those 2 fairly small functions.

But even ignoring all of that — back to my original point — it’s 2016. There are much better libraries & frameworks out there — Angular, Vue, & React being the 3 I mainly use these days. We also have tools like Babel that let us write cross-browser code, whilst still writing plain JavaScript, rather than polluting your files with $.

Again, maybe I’m just lucky. Maybe jQuery still is a pretty big requirement, but, if so, I’m definitely going to push against that.

jQuery is not complex enough

The entire point of jQuery is to be simple: to accelerate the process of JavaScript development in a world where browsers don’t play nice with standards.

It takes about 5 minutes (if that) to include jQuery into your page and then write some code to bind an event and change something in the DOM. No prior knowledge required, no architectural style to adhere to, no best practises to understand- the list goes on.

So why do people keep listing it in their CV and Job Specs? (I’m looking at you LinkedIn).

jQuery in recruitment

Embarrassingly I recently looked at my LinkedIn profile and discovered I put jQuery in there myself — I quickly remedied this by replacing it with skills like React.

Maybe I’m a hypocrite on this? I can see the appeal of just adding one more item to your CV, it’s a well-known technology to even those outside of the developer world (despite it meaning absolutely nothing to them) thus it’s a marketable skill someone can possibly leverage.

But who are you going to attract with that? The type of person who doesn’t know what jQuery actually is? Do you want to work for someone like that, or be head hunted by someone like that? I certainly wouldn’t.

Then we see the other side of the coin. Job Specs with jQuery as a requirement in the listing. Maybe this is the case where you have a legacy app that needs supporting, which uses jQuery. Fine, sure — but if I didn’t know jQuery it would take me 5 minutes to learn the basics, and maybe half a day reading the code to figure it out.

I receive these ill-thought job specifications over the annoyance that is LinkedIn messaging at least once a month. All it makes me think is that you have no idea what you’re talking about — or you’re attempting to recruit for a god awful legacy application that I wouldn’t touch with a 6 foot pole.

What’s my point?

The world of JavaScript has made some massive leaps in recent years, and I personally feel that using jQuery is clinging to the past. It had its uses back in the day where building something with JS forced you to concede that you were never going to have a well built application, but that time is over (hopefully).

At its core this is a signaling issue. By specifying jQuery as a requirement or a key CV skill, that’s signaling to me that you don’t know what you’re talking about.