brandur.org

Hype trains

One thing that the tech industry does well is hype. An idea gets pitched once, and momentum around it grows as more people try it and in turn start selling it themselves. This often takes the form of a series of blog posts by different authors, but with the same underlying theme and around the same time, that hit Hacker News.

Here are a few technologies and ideas that stand out to me as examples:

  • Node.JS.
  • MongoDB.
  • EventMachine.
  • Erlang.
  • Callback-based programming paradigms.
  • Companies should be mostly remote with no managers.
  • Frameworks are bad. Libraries are good.
  • Document (A.K.A. schemaless) data stores.
  • Agile methodology.
  • Static site generators.

In retrospect, I now know that many of these things aren’t net positives. But at the time, the articles, talks, and people championing them were incredibly compelling.

But, while as an industry we’re great at building and driving hype trains, we’re not so good at dismantling them when it’s appropriate to do so.

I’d posit that organizations that have had a major hand in selling a technology might have some moral responsibility in helping to tip the scale back in the other direction if and when they discover that it’s not quite as idyllic as they’d originally portrayed. The justification is simple: starting to use a new technology is a lengthy commitment, and replacing it down the line is a huge undertaking. If it’s discovered that certain pieces of technology are bad apples, a well-written piece on the subject could save tens of thousands of future misguided engineering hours.

Not all bad things are unambiguously bad, but some are bad enough that they should be avoided in every practical situation imaginable. I won’t go into specifics, but there are a few in the list above.

It’s bad form to publicly roast a product whose authors may have had the best of intentions, but it’s quite possible to avoid a personal crusade by criticizing constructively, and concluding with a recommendation against. In many cases this will only serve to help balance the scales in an industry where articles, talks, and other media tend to bias heavily towards the overwhelmingly positive. A more level playing field is crucial for helping other people make more informed technology decisions, and in best cases can save countless hours of unneeded pain.

Did I make a mistake? Please consider sending a pull request.