Sometimes I read a paragraph that makes me wish I had written it. Last Monday that happened again: I became profoundly jealous when I read this:
We know libraries, in fact, we have the best libraries. Our libraries are huuuge
It’s the best part of a hilarious dialogue (that I also wish I’d written) between a newbie web developer who needs a simple REST/Ajax site and an “experienced” front-end engineer who patiently explains the insane amount of tooling this requires nowadays. Read it for yourself. It’s worth it. I’ll wait.
The dialogue pokes fun at what passes for modern web development; especially our infatuation with tools, and it succeeds admirably. The purpose of my post is not to react to the article itself, but to two other reactions I read.
The first is Chasing tools by Tim Kadlec.
To be clear, I don’t think that was the point of the article. The thing is, it’s not the ecosystem that’s the problem. It’s great that we have a plethora of options available to us. It beats the alternative. No, the problem is the way we’ve treated the ecosystem and even more damning, the way we teach it.
I wish I’d seen a few of those upset reactions. If you can’t take a bit of gentle criticism, if your entire identity as a web developer depends on you yammering on about how huuuuge your toolset is, then you deserve to be upset, and I, for one, will laugh in your face because you are a very silly person. (And no, sometimes I’m not very nice. This is one of those times.)
Now for the important bit.
it’s not the ecosystem that’s the problem
I disagree. I think the problem is in fact the ecosystem — by which I not only mean the combined toolsets and the expectations they set, but also the web development community as a whole.
Currently, the status and honour derived from using (and creating) new tools stand in no relation to the advantages these tools actually bring — not because they don’t have any advantages, but because we forget about their disadvantages: not being clearly better than the tools they replace (except in the eyes of their fanboys), being very hard to learn and slowing especially the mobile web to a crawl. Besides, the whole process has become just plain silly.
According that status and honour, and making new tools the be-all-end-all of modern web development, are decisions that we have taken as a community and that informs the way the ecosystem works. Thus, the community and ecosystem are to blame.
True, these decisions kind-of snuck up on us, and there was no time at which we consciously decided that use of new tools was the pinnacle of web development. But that doesn’t absolve us: we’re still making these mistakes today.
That’s why I disagree with Tim. Since these cult-of-the-new priorities are so important to the community and the ecosystem, the community and the ecosystem are most definitely the problem here. We cannot solve the tool situation without reforming the ecosystem.
The second article is Pressure by Bastian Allgeier:
Articles like the satire [...] help to release some steam from the ever growing pressure of newer, better, faster, slicker, tools, frameworks, libraries and other toys. But you have to be careful not to get too frustrated and angry.
[...] In the end it's all about what works for you. What is the best, fastest and most stable tool to transfer your ideas from your brain, via your fingers, into your keyboard and finally into your computer?
I disagree. It’s not about what works for you. It’s about what works for your users.
If a very complicated set-up with seven brand-new libraries and frameworks and a bunch of other tools satisfies you completely as a web developer but slows your sites down to a crawl for your users, you’re doing it wrong.
If serving your users’ needs requires you to use other tools than the ones you’d really like to use, you should set your personal preferences aside, even though it may make you feel less good. You have a job to do.
Developer convenience above user needs? I think not. Especially not when it’s only about a feel-good factor.
These two articles combine to give me a very dystopian view of the web development community. We accord one another status for serving our own personal gratification through the use of new tools. Meanwhile we completely forget about the people we’re actually supposed to be working for: our users.
The web development community has gone off the rails. It must be restored to sanity.
Down with the tool fetish! Drive a stake through its heart! Now!
I’m around at the following conferences: