Stop The Hype Train, I Wanna Get Off
There isn't a day passes that I'm not involved in a Twitter feud. This time it was about the front-end development ecosystem. I'm not trying to be provacative or anything, but sometimes it’s unavoidable to step onto some toes.
One thing I learned early on in my career: Most important thing you can do in software business is to learn what you’re doing and what you’re using, thoroughly. Learn the basics. Learn what’s making it ticking (insert Sylar gif here). Learn if you’re doing something right.
But of course, that’s not always the case with the majority of the industry. They just love the Hype Train.
I know, it’s a fun experience. You get to use the cutting edge things, fancy things. And you get to tell your friends:
- Hey, we’re doing microservices! There are 5 of them and it’s a pain in the ass to deploy, but we’re doing it!
- Hey, we’re using Kubernetes! That 5-app microservices I mentioned, yeah, we deploy it to a Kubernetes cluster we manage. It’s painful but fancy!
- Hey, I’m using React Server Components! Sure, we don’t need to, and it looks like ASP.NET Web Forms, but hey, it’s new!
- Hey, we’re doing Agile! We fail every sprint that we take, and we use 1 story point for 1 day of work, but we are not doing waterfall anymore - that’s so old school.
- Hey, I’m driving a Cybertruck! It’s ugly as hell and a proof of poor craftsmanship, but it makes my dick feel bigger!
You see my problem with it, right? A lot of people just think a newer tool means it’ll be faster and easier. If you previously were riding a horse driven cart and you learned of dinosaur-powered loud transport machines, yeah, it’s probably better. That’s a good leap.
But unless you’re a frog, leaping from one new thing to the other isn’t necessarily a good thing. Especially if you don’t know what you’re doing.
An Example: The Front-End Development
Let’s take the front-end development ecosystem as an example. There are hundreds of Javascript frameworks you can use, and probably tens of different build tools & engines you can compile your code. Each one thinks they are doing it better than the others.
- Angular thinks if they add new things every year they can take you to the moon, eventually.
- React thinks that server components should make a come back, because everyone loved Asp.NET Web Forms and the ViewState so much.
- Vue thinks they are reinventing the web development with every release.
- Svelte thinks they are much much cooler than the other boys.
- HTMX is written by 9GAG when it became sentient.
I can talk about this six ways till Sunday and it still wouldn’t be finished.
The same people that couldn’t manage a simple KnockoutJS application from leaking memory think that using Angular or React would make it much better and painless. Then they think those are unsustainable, and go write their own tooling and frameworks.
If you know what you’re doing, you can write an app even with sticks and stones. Don’t forget:
- Gmail used to write code in Java and compile it to Javascript, just because they could. They didn’t even need fancy JS frameworks to make it work.
- Yahoo did their first version of SPA app of Yahoo Mail when there wasn’t even jQuery. I remember it because it took me an hour to close my mouth when I first saw the code.
- Amazon still works with a server page system. And makes billions.
You just need to know what you’re doing. That’s it. There’s no magic to it. There’s no need for a new JS framework that’ll be released in 2024.
You certainly don’t need AI to write the code for you.
If you don’t know how to fish, an aircraft carrier isn’t going to help your dinner plans.