DEV Community

Cover image for Don't believe the hype.
Chris Bertrand
Chris Bertrand

Posted on • Originally published at blog.designpuddle.com

Don't believe the hype.

I've been in this industry for over a decade now, and the one thing I've learnt is that you should never believe the hype.

Technologies come and go, things get superceded, things improve. You just need to look at the technologies or frameworks that are no longer with us, such as Flash and those that are now barely used including the myriad of JS solutions we've used. Sure, sometimes you might want to ride the wave, it'll be fun, but you might not be left with much afterwards.

Using what is cemented into the ecosystem and battle tested will mean you don't come across any horrible surprises. You have a myriad of documentation and stack overflow questions answered on the most superfluous of issues. Getting things done is easy, if not always elegant.

Selling you the dream.

Twitter, blog posts and conferences will sell you a reality that in most cases doesn't exist in the corporate world. That's the purpose of those mediums, they are trying to build and audience, create a market, get you interested in what is new. It's basic marketing.

Mircroservices, Macrofrontends, Unit tests, Static code analysis, Best practices, Containers, K8s, Serverless, Cloud, ai, big data, react, go, nosql, sass, PWAs, design systems, automation, agile.

All these things are useful and important in the right circumstances, however if you think your company should be following all of these methodologies then you're being naive. Businesses have objectives and stakeholders to appease. They're not here for us to create the mecca of the technology world. Sure, some big businesses can afford to live the dream, but those are far and few between.

K.I.S.S.

There is nothing wrong with a well organised and structured monolith. In fact for most of us, that's still the best way to go.

All these things have been heralded as the holy grail and yet most businesses are using at most a couple of these idioms.

Our new devs are lambasted with complicated tech stacks, overpriced hosting solutions and preachy beliefs that make all but the most simple hello world application a difficult and unsatisfying proposition.

The Fundamental Fallacy

Rather than looking at problems, we memorize frameworks, syntax and convoluted ways to complete simple tasks.

I'm sick of telling people that you can achieve things in a few lines of JavaScript. There is no need for a complex SPA application written in React/Angular/Vue installing 37 dependencies to make an http request, or fill a simple form.

I'm tired of reading countless blog posts on how to use Gatsby and React to create the most perfect blog site that you can host on Netlify or GitHub pages. If you want to blog, create some content, don't spend 3 months creating a damn blog framework, there are hundreds out there already! Just use one!

The internet and technology has been around for a long time, and people are always pining for what's new. It's understandable, it's new, it's shiny, it's cool. But it's not always necessary. Actually it's very rarely necessary.

Sometimes a few lines of JQuery can do everything you need. Sometimes you don't need 100% code coverage across your codebase. Sometimes you just use WordPress to deploy your blog, and focus on the content you are trying to share.

Sometimes you shouldn't believe the hype.

Top comments (35)

Collapse
 
davidsanwald profile image
David Sanwald

I don't agree. Sure, at the job it's often not about the newest or shiniest tech and unfortunately, the code quality is often problematic.
But if every blog was about good enough solutions using only the most proven, commonly used, and boring tech, what would be my value as a reader? It would be just like work, only without pay.

I'm here to get inspired and learn about things beyond my day to day work.

Collapse
 
maks_yadvinskyy profile image
Maks Yadvinskyy

So true! Sure you can use a lot of other’s blog frameworks but will that make you a better dev? I don’t think so. For those who are joining the field need all the experience they can get.

Collapse
 
chris_bertrand profile image
Chris Bertrand

It's not about being a better dev, it's about creating a solution that solves your problem. Do you think your end user cares if you use jQuery, Less or your code doesn't have tests?

Thread Thread
 
dhruvgarg79 profile image
Dhruv garg

I agree that tool and framework don't matter if you are building a good application in whatever framework you want, but I think still tests are important. Otherwise, the developer will have to spend time manually checking for everything after changes.

Thread Thread
 
chris_bertrand profile image
Chris Bertrand

Isn't that what testers are for? Or should I say, your end users? 😛

Thread Thread
 
dhruvgarg79 profile image
Dhruv garg

In small teams(startup) you are everything ☹️

My app crashing in hands of end-user sounds scary. Even though there will always be bugs and crashes they can be limited with proper testing. But, I do confess that I haven't written tests as an Intern.

Thread Thread
 
chris_bertrand profile image
Chris Bertrand

Haha, sorry. I think you misinterpreted my jovialness. Of course testing is a net positive. Covering every single line written is probably overkill. Focus on the important bits, and as Kent says. Write tests, not too many, focus on integration! 🤓

Thread Thread
 
dhruvgarg79 profile image
Dhruv garg

Yeah, I think so 😅

Collapse
 
chris_bertrand profile image
Chris Bertrand • Edited

Hey David, I'm not against learning new things and getting inspired, life would be a boring place if nothing changed. I'm saying that just because something is new and popular doesn't mean it's right for you and you need to use it right away. Being an early adopter is usually a painful experience, Take AngularJS, there are still countless companies using this now outdated tech because they jumped in too soon. See my post on why you should make your own decisions here...

Collapse
 
siimsoni profile image
Kristjan Siimson • Edited

There is no need for a complex SPA application written in React/Angular/Vue installing 37 dependencies to make an http request, or fill a simple form.

... few paragraphs later...

Sometimes a few lines of JQuery can do everything you need

TBH, jQuery is even worse than React. jQuery 2.1.3 minified is 84 kB. Preact is a lightweight alternative to React at only 3 kB. Sure, you create simple interactions with vanilla JS (or complex if feeling masochistic), but what do you need jQuery for in 2020? It's just a whole lot of bloat we needed because it gave some degree of compatibility with IE 6.

At end of the day, just use what works for you.

Collapse
 
chris_bertrand profile image
Chris Bertrand

jQuery might be 84kb but how big is the bundle with all the dependencies in the complete React app? Sure Preact is a good alternative, but so is Vanilla JavaScript. I'm not advising people to use jQuery, far from it. At the end of the day, it's all the same code. Use whatever you want, dont pick one because it's cool. It sounds like you're aware of this already. Not everyone is. Thanks for the healthy debate!

Collapse
 
siimsoni profile image
Kristjan Siimson

The dependency hell is not something forced upon you when use React, it's something that many React users have inflicted on themselves by not being careful what dependencies they introduce to their application. That comes from another hype that everything should be reusable, and the belief that if you copy paste two lines you will lose your limbs or something. 😁

Collapse
 
randalvance profile image
Randal Vance Cunanan • Edited

jQuery was also a hype back in 2000's. React is almost a decade old now, and I will no longer call it a hype.

I do understand the use of jQuery for legacy projects, if it aint broke, don't replace it.
But, when I see someone use jQuery to build a new project in 2020, I just see it as a refusal to learn a superior modern technology. There's just no excuse for it. It's the same reason new houses and buildings are built using new practices, while old houses are just maintained.

Thread Thread
 
chris_bertrand profile image
Chris Bertrand

Everything is new and shiny at one point! 💍🏚️🚀

Collapse
 
adrianmarkperea profile image
Adrian Perea

I don't completely agree with you. On the one hand, you're right in saying that things that are marketed as shiny don't always shine so bright. But on the other hand, we need people to test new things and innovate. Otherwise, tech wouldn't move forward, and we won't have any new breakthroughs.

I don't know about you, but I don't want to believe in a world where there is no longer anything new and all the magic that can be found have already been exhausted.

Collapse
 
chris_bertrand profile image
Chris Bertrand

That's completely fine Adrian, that's the joy of discussion! Tech has come on leaps and bounds, and I most certainly advocate for the use of new tech in development projects. I don't think that you constantly need to change your application to use them though. The problem you are trying to solve is more important than how you solve it. But yes, things would be a little dull if we were still programming in COBOL. 😉

Collapse
 
adrianmarkperea profile image
Adrian Perea

I wholeheartedly agree! There's a tendency to be hell-bent on using new technology since it's "the next big thing". A thorough understanding of what's already being offered is necessary. More often than not, the new technology is overkill of what you are trying to accomplish.

Cheers, Chris!

Collapse
 
akdeberg profile image
Anik Khan

I agree with you up to a point, but it needs to be clarified whether you talking about individuals or companies. My hunch is that you are talking about companies. If its the case, I think you made a good point.
On the other hand, at the individual level developers should always try out the new things (my very personal opinion). But sometimes we just caught up in the hype & that's okay, life isn't about being perfect.

Collapse
 
chris_bertrand profile image
Chris Bertrand

None of us are perfect. That's why pencils have erasers!

Collapse
 
akdeberg profile image
Anik Khan

Agreed

Collapse
 
vladimirkapustin profile image
Vladimir Kapustin

Totally agree with author. New technologies that make more effective the result are wonderful things - that is the progress! But thousands of unnecessary solutions which only repeating existing ones, sometimes with minor changes, this is real trash but not an innovation. If you have an instrument that absolutely solves your tasks - use it, or at least you can make it better (But be sure that there are already people who responsible for it :)) People often make product to prove their value, but not to make "something new". It is just wasting of employer`s money or their own time. If things are like that it means that people cannot propose something new but only imitating. Sorry for seditious comment.

Collapse
 
chris_bertrand profile image
Chris Bertrand

That's right Vladimir, progress is a wonderous thing, and people can and should test out these tools and learn from them. Just don't think they'll solve all your problems!

Collapse
 
troyfitzwater profile image
Troy Fitzwater

"Rather than looking at problems, we memorize frameworks, syntax and convoluted ways to complete simple tasks."

This is so true for a lot of people, and I've seen people around me with this mindset.

Often enough, I think people overthinking these problems have just not done a needs assessment to figure out what they need to solve.

Also, a strong agree on content. It's such an important rule: Content. Is. King.

Awesome post!!

Collapse
 
chris_bertrand profile image
Chris Bertrand

Thanks Troy, that mindset is a hard one to get out of, especially as we're fed all these new shiny things all the time! But yes, Content. Is. King! 🙌

Collapse
 
mxldevs profile image
MxL Devs

There's always going to be something new, and most of it will fade into day old history.

But sometimes there's going to be that one thing just blows everything out of the water. It just so happens that most of the big things tend to be dominated by the big players who integrate it into their platforms for all their users.

Collapse
 
chris_bertrand profile image
Chris Bertrand

Yes, and those big players have reason and justfication for creating and using them. I'm a big fan of what Blazor brings to the table, would I consider using it for a full fledged system right now. Debatable. Will it grow into something incredible. No doubt. Just take TypeScript as an example. Released in 2012, how easy to use do you think it was back then? How much tooling was built around it? How much has it progressed into what is a incredible product right now.

Collapse
 
robdwaller profile image
Rob Waller

"Sure, some big businesses can afford to live the dream, but those are far and few between."

This is not a well understood point in our industry. I often listen to / read devs who work for one of the wealthy big players and think we live in entirely different universes. 😂

Collapse
 
chris_bertrand profile image
Chris Bertrand

100% The notion that you can spend 6 months working on a POC with the latest tech and find out it isn't for you, scenario isn't too prevalent for most! 🤳

Collapse
 
randalvance profile image
Randal Vance Cunanan • Edited

Being an early adaptor of a technology is synonymous to buying stocks. If the technology or tool becomes popular, you are one of the very first experts of it. If it doesn't, then some of your time is wasted (although not totally as you can still apply some concepts you have learned in other tools).

For me, I don't use shiny tools for my personal and work projects, but wait for them to be stable first, probably even when the second major version is released.

I still try out the shiny tools just to play around with it, but not to create a real project. I keep my eye on it and stay updated until I can finally decide it's ready to be used in real projects.

Collapse
 
chris_bertrand profile image
Chris Bertrand

Totally. Try it, have a play, see what is offered and make your own decision. That's what I'm advocating. It's the buzz around certain technologies that can blindside people. You know... Hype. 🙈

Collapse
 
randalvance profile image
Randal Vance Cunanan

Using vanilla JS is starting to become the new hype these days. You have something to brag about if you used no framework to build your blog. It's actually the reverse now, in which I would advice using a library instead of using vanilla JS just to show off.