Mad Max’s take on Tech Evangelism

A new Framework/Tool gets released by “Big Company” and all the Evangelists are like…
It looks cool and shiny and out of this world!
What “Big Company” seems to think about bestowing this framework upon the community…
Somehow, they seem to have a “Not Invented Here” attitude towards other similar frameworks/tools…
My first few weeks of using the framework…
But everybody around me seem to be singing praises. Even the Hacker crowd who tear apart stuff for small reasons seem to be ignoring heavy flaws…
Soon, I convince myself that this is the best thing ever…
And suddenly, they decide to replace it with a breaking version, or a totally different shiny new thing altogether!
And the Fanatic crowd that evangelized the old one silently jumps ship to this newer thing
I’m just sick of this treatment of Developers
I should be more wary of cool things that get a lot of hype, because you know…

Why did I write this?

When Angular got released, I was scratching my head wondering “How is it even practical to re-evaluate all properties on the page over and over for every event or mouse move?”. All the StackOverflow threads were like “Ah Javascript is fast”. It took a few years for people to call out the bad parts as bad parts.

When React got released, I was scratching my head wondering “How can it be faster to render <div><h1>{msg}</h1></div> and then diff that rendered tree against another, rather than diffing the data directly?”. But all the Hacker News commenters were like “Ah Virtual DOM makes everything fast!”. And then it took a few years for people to see the Virtual DOM as not magic, but just a companion to PureRender, Immutable and all other techniques to avoid unnecessary rendering (virtual or not).

I remember looking at the above footnote in the first React Tutorial and wondering whether they were trolling or not. The tutorial is pages and pages long.

I remember seeing Flux and thinking “This looks so 1990-ish”, until somebody actually figured it out.

I remember working with GWT when it was the next big thing.

I remember commenters talking about Mesos as a kind of de-facto way to manage an infrastructure when it was in some experimental, pre-pre-release version 0.18.x or so. Nothing against Mesos btw.

I’ve seen “Large Community” as an important argument for choosing tools, and seen those communities disappear as fast as they come.

I’ve seen Agile being sold as a magic pill for all software delivery issues. And then the same again with Microservices. And then the same again with DevOps.

I continue to use and benefit by React, Angular, Docker, ECS, Microservices, Monoliths, etc in different projects right now. I love VueJS’s data binding. I love React’s freedom from state management too. I have no grudge against any of the above examples and I try my best to contribute back wherever I can. But I always try to pick the tool that doesn’t make a zero sum game of solving old problems and introducing new ones, irrespective of hype, community or perceived benefits.

I will see Fanatics criticizing the above points in various websites maybe without even reading this paragraph. Most probably with some No True Scotsman arguments like “Oh you aren’t doing it the right way”, “Its your problem not the framework”, etc. And I just want to remind them one thing:

Be a Fan, not a Fanatic.
One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.