Avoiding the Ratchet

The engine at the heart of the modern JavaScript world is fast. Everything about it is fast. JavaScript’s engines are faster than ever. Download speeds are faster than ever too. We’re asked to make our development faster, our tests run faster, our deployments continuously fast and the first page render be fast. Expedite, automate, eliminate.

And how do you get ahead in the JavaScript world? You publish your work to be seen. Better, you publish npm packages. But you better be fast at publishing your package, lest someone beat you to it. So you better make it a small package.

And so every developer is incentivized to publish packages on npm, and that’s great because we all “install npm packages like [we’re] popping pain killers”. It’s a never-ending game. It’s a ratchet that keeps ratcheting.

If you don’t want to play in the game, if you don’t want to feed the ratchet, you need to play a different game, with different rules. You need to find a counter-ratchet to feed.

Build a rival npm registry that rewards different kinds of packages, that filters out the immodest. Run a crowdfunding campaign to sponsor contributing to browser APIs. Invest in learning another language for the back-end, so you taste a different culture. Build things that are visibly different from what other people are doing. Get inspiration from outside the industry. Take a salary cut.

Doing something counter-cultural will feel like you’re missing out, or that you’re spreading yourself too thin. If you play a different game, you might feel like you’re losing to the game people are playing. But you might be feeling that already.

So play a different game anyway.