JavaScript, Community
I’ve been a full-time professional web developer for 17 years. In that time, I’ve seen things.
I remember when web browser developer tools were first introduced, using Firebug for the first time.
I predate even the WebKit mobile revolution: a time when proxy browsers reigned supreme and Blackberry was king.
I bore witness to the React schism, ruthlessly popularizing Single Page Apps and clientside rendering; giving rise to a slower web in the name of developer experience.
I embraced the npm revolution.
I rode the waves of Node.js.
I webpacked across The Great Divide.
The Great Divide
The Great Divide really resonated with me. I keep coming back to it and I do think it continues to accurately describe what feels like two very distinct and separate camps of web developer.
The question I keep asking though: is the divide borne from a healthy specialization of skills or a symptom of unnecessary tooling complexity?
“Shout out to web developers that don’t feel (or haven’t felt) like they belong in the JavaScript community—you are important and your opinions are valid.”—December 9, 2022
I ran a JavaScript meetup for six years (2012-2018) and a JavaScript conference for five years (2015-2019). I maintain Eleventy, a JavaScript Open Source project. But I would never identify as being on the JavaScript side of The Great Divide.
Folks that know me from my time at Filament Group and my work with web fonts would likely place me on the User Experience side of the divide. I feel more at home there.
But I also vehemently reject that I have to exclusively choose one side, and perhaps that is best reflected in my work on Eleventy.
Mirror, Mirror
The disconnect manifests itself time and again as accepted truths in the JavaScript community to me feel like anything but. I was reminded of that again today when I visited the 2022 State of JavaScript results.
“Solid and Qwik are suggesting that React might not have all the answers”—Source
Well, wait. When you’re straddling the divide, you pretty clearly recognize that React never had all of the answers.
“Astro, Remix and Next.js (among others) are making us reconsider how much code we really need to ship to the client.”—Source
Well, wait. When you’re straddling the divide, you know that Remix (67.7 kB compressed) and Next.js (90 kB compressed) have not meaningfully reduced their bundle sizes at all. Measurement reveals that bundles are growing: Next.js was 72.2 kB compressed in 2021.
The Great Dissonance
This JavaScript community (if judged by the demographics of this survey) seems to be comprised mostly of folks that are largely building with React, webpack, and Jest. With React on 3.2% of web sites and jQuery at 77.7% (as of January 2023), that’s a pretty small slice of a much larger community.
We seem to live in different worlds.
I want to be a web developer, not a JavaScript developer.
If you live in a different world too, we should be friends.
44 Comments
Lukem
@zachleat no worries, I'll edit the link. Thanks for letting me know! :)
daniel sieradski
@zachleat I feel like once upon a time we were focused on making web coding accessible to all and then we got increasingly complex JS frameworks that forced us into specializations and the emphasis on accessible coding switched to nocode drag-and-drop tools that abstracted away e… Truncated
Zach Leatherman :11ty:
@selfagency @leaverou Lea always does amazing work!
Evan
@zachleat 💯💯💯The great divide always bothered me because — although it reflected a reality in the industry — I felt like it was telling me I couldn't continue as a web developer who knows HTML, CSS, and JS; I needed to pick a side.
daniel sieradski
@zachleat @leaverou she does but my question is, why didn't what she created inspire similar efforts? i see energy in webassembly bringing compiled languages to the browser but no energy in advancing what we can do with html itself.
Zach Leatherman :11ty:
@darth_mall Oh, interesting. An unfortunate byproduct of acknowledging the divide 😱
Zach Leatherman :11ty:
@selfagency @leaverou surely declarative shadow dom occupies the beginning of something there!
Mayank :verified:
@zachleat every time i use javascript, it makes me feel evil, especially if it's something that cannot be achieved without javascript
Zach Leatherman :11ty:
@hi_mayank oh wow—why?
McNeely
@zachleat I feel like whenever you work on a project that is either a library or a part of the toolchain you cannot help but straddle that great divide. Its a different experience than working on a product team focused on "LARGE-SITE.com"
daniel sieradski
@zachleat @leaverou still very js heavy in implementation
Zach Leatherman :11ty:
@selfagency ah, hmm—I don’t see that
Mayank :verified:
@zachleat i guess "evil" is a bit of overstatement. i don't think js itself is bad. it's indispensable for accessibilitybut this feeling is kind of a result of the divide. "i used js, therefore i must be on that side"
Bastian Allgeier
@zachleat amazing post 💚 I definitely live in that different world together with you. I fell in love with the web over 20 years ago and I'm still in love with it every day. It is so much more than that tiny bubble from the survey. Your post is another great indicator why it … Truncated
Sara Joy ✨
@zachleat omg. I'd not seen that @chriscoyier Great Divide article until now.Both your post, Zach, and that article, yes. Resonating hard.
Evan
@zachleat I'm not sure it's even a byproduct. There are quotes in the CSS Tricks article that explicitly say we should do away with the term "frontend developer" and divide the field up into the JS camp and the HTML/CSS camp.
Evan Boehs
@zachleat I have not been impressed with the survey, but it's a perfect metaphor for the larger community. Rough and rushed.I was among the first people to fill the survey out, and it was released with many egregious spelling errors (I tooted one)And as you noted, they mis(re… Truncated
Lea Verou
@selfagency @zachleat I’ve thought about it a lot in the past few years, and here's what I concluded: - The people working on JS frameworks tend to be hardcore devs, so they want to create stuff for people like them, not beginners - Something for beginners doesn't attract… Truncated
Lea Verou
@selfagency @zachleat Also, implementing high level declarative, reactive syntax that can work with whatever HTML & CSS you throw at it is HARD. A lot of Mavo's code is incredibly complex to handle all the edge cases, and still buggy (part of that has to do with the lack … Truncated
Charles Roper
@bastianallgeier @zachleat @eleventy @getkirby Absolutely agreed. I see Eleventy and Kirby as kindred spirits. I've just started using Kirby, but the similarities are striking. They are elegant tools for building websites. The React et al ecosystem is, to my mind, not about w… Truncated
Max Böck
@zachleat I share the feelings in this post. I work with React a lot, and I'm somewhat experienced with Javascript - yet I would never identify as a "JS Developer". Not because of the language, but because of the general sentiment of "DX over user needs" I ass… Truncated
daniel sieradski
@leaverou @zachleat that all makes sense. i guess i just figured there'd be more of an interest from educators, standards enthusiasts, and browser makers in making something like mavo part of a future HTML spec.
Lea Verou
@selfagency @zachleat That was the vision behind that line of research. Having seen things from the standards side however, something like Mavo is too far out of course. If we ever get to something as high level as that, it will be through decades of lower level APIs building tow… Truncated
Colinaut
@zachleat I so resonate with this as someone who has been both a designer and developer since the olden table-layout days. I am proficient at JavaScript/react/svelte/etc. but definitely consider myself a web developer — and a web designer. Bosses in the past encouraged me to spec… Truncated
Darius
@chriscoyier @zachleat @sarajw ✨❤️ "I want to be a web developer, not a JavaScript developer." ❤️✨That's me. That's my frustration. That's my anger towards people calling themselves front-end, and avoiding CSS and proper HTML like the plague.Thanks for writing… Truncated
Jake Carpenter 🏳️🌈🏳️⚧️
@mxbck @zachleat I like to take it even further and stick to "Engineer" or "Developer." Yes, the languages and frameworks are tools, but even the platform we currently specialize in is nothing more than a choice.I'm confident that if there were a sudden paradi… Truncated
Zach Leatherman :11ty:
@hi_mayank ah! I think we differ subtly there—I like a good JavaScript, here and there. But if I don’t put everything *through* JS, it feels as though I’m an outsider
Zach Leatherman :11ty:
@bastianallgeier This is really lovely to hear. I’m so glad we got to meet at @btconf so many years ago! And I hope to repeat sometime soon! @eleventy @getkirby
Zach Leatherman :11ty:
@darth_mall ah, yeah—it does make me wonder if the original was more of a “represent the sides” rather than leaning into an opinion
Mayank :verified:
@zachleat there are so many things this industry does that make people feel like outsiders. the "just use tailwind" crowd comes to mind
Zach Leatherman :11ty:
@eb let’s be friends!
Mayank :verified:
@zachleat @darth_mall chris responded! https://chriscoyier.net/2023/01/12/the-great-divide-was-indeed-divisive/ The Great Divide Was Indeed Divisive - Chris Coyier
Zach Leatherman :11ty:
@colinaut yeah! I do think both are valuable, but knowing what resonates and excites you to work on is also super important
Zach Leatherman :11ty:
@darius Let’s be friends!! 🙌🏻
Zach Leatherman :11ty:
Looks like @chriscoyier responded in blog post form (blog post response to a blog post—I am so happy 🏆)https://chriscoyier.net/2023/01/12/the-great-divide-was-indeed-divisive/(via @hi_mayank) The Great Divide Was Indeed Divisive - Chris Coyier
Zach Leatherman :11ty:
@hi_mayank whew, yeah.
Katie Sylor-Miller
@zachleat literally everything you said, I say too. Also yay to 17 years as web developer! 🙌 2006 was a good year
Boris Schapira
I totally agree. Fun fact: in France, we live in a semantic bubble. The first Front-End web developers historically originated from the printing industry and were called "integrators", because they integrated designs into HTML constraints. The first JS developers who wave… Truncated
Jeffrey Lembeck
@zachleat as somebody who has done work on both sides of this in about the most extreme ways — I strongly agree, man.
Eric
@zachleat Imagine how good things would be if we put the mantle of dev celebrity on folks who performance, accessibility, and usability over tooling navelgazing and FOMO.
Ayo
“With React on 3.2% of web sites and jQuery at 77.7% (as of January 2023), that’s a pretty small slice of a much larger community.” -@zachleat
nate
@zachleat @chriscoyier Really enjoyed both articles! The Great Divide is often top-of-mind for me. I don't think it "pitted the sides against one another" as much as put words to a phenomenon that was already happening but hard for many to articulate.Side note: Any ti… Truncated
Mathias Gmeiner
@zachleat @bastianallgeier @eleventy @getkirby I hope we can still be friends, even though we use (at the moment) Next.js as the frontend framework for our Headless Kirby 😢
jaenis.ch