In modern web development, new libraries/frameworks/languages are rising from dust day-by-day. Developers are eager to learn them.
Let's call them
technologies from now on for the sake of simplicity.
I'm a lifelong learner. I fell in love with learning when I began studying Electrical Engineering in college.
I love experimenting with new technologies, even if it's just to make a hello world. Fundamentally, there is nothing wrong with curiosity, but - there's always a but - it can make you fall into a loop, and it's tough to break out from it.
Our zealousness fakes a problem, which sucks us in if we are not careful enough. We get hyped for shiny new technologies. They promise us many things like they seemingly solve our problems simpler, faster, or in a different way than any other technologies before, and convince us that we need to use them to be a 10x developer/entrepreneur.
In real life, the chances are high that we do not even need them to be good developers or build a profitable side-project.
To explain further, I define two categories of people for the rest of the story:
- People who are just started learning technologies or in the process of learning already ->
- People who are already very familiar with technologies and would like to make side-projects ->
Hype train as a
The hype train makes a lot of confusion for them. Just look at how many posts are about which technologies you should choose, or which one is the best.
I'm not too fond of the best word in this context. There is no such thing as a good or bad choice, not even best. It's just clickbait. They pull the carrot in front of your little hype monster inside you, or as we say in Hungarian, pulls the honey string in front of you.
Most posts are trying to be neutral. They show the differences between technologies and left you with no answer. It is a good approach because they should not tell you which one to use. Unfortunately, for the
learner it's very confusing. These posts are not helping in their decision.
Hype train as an
I don't call myself an entrepreneur. I'm between the learner and entrepreneur. But I recently felt into the hype loop for over two months! Sounds ridiculous, but true. Just don't do it. It was pretty bad for my mental health.
It's way horrible! If you have a general understanding of how things are working, and you see a new technology gets hyped, you probably start questioning yourself:
- Did I choose the right technology for my projects?
- If I choose that super shiny one, will I be a better developer?
- Should I buy a ticket to that train and learn something for weeks/months, then realize I don't even like it, but that famous person on Twitter told us that it's super cool! Am I doing something wrong? Am I crazy? Am I bad at coding?
- Should I quit coding and open a bakery? (Definitely yes)
So you are lost as well.
Can I answer these questions?
Well. No. I should not tell you which one to choose. There are plenty of other posts that are already doing it, and I think they are doing it wrong.
You should not decide by reading someone else's opinion. We are all different, unique human beings. We like different foods, have different lifestyles. Why should we use the same technology then? How do you decide if a food is delicious? By tasting it. Simple, right?
So, how to choose the best fitting technology for yourself?
learners, the best you can do is build the same thing with different technologies.
You should try them out, and you will see which one fits you the most.
I know it sounds like a cliche, but it just works.
entrepreneurs, stick what you already know.
You should use the one which you are:
- productive with,
- enjoy working with,
- already know.
By dancing between hypes, you lost most of these valuable terms. Don't trust the hype train!
(Of course, if you would like to learn new things, that is a different story, but you have to accept the learning curves and the bad things like you won't be productive for a while.)
My simple example
So. I have a side-project, which I'm currently rebooting because of reasons.
I followed the rules above: productivity, enjoyment, familiarity.
You may see that I do not have any more in-depth technical specifications here, like server-side rendering, progressive web application, using some hyped company's solution, because they say it will solve my problem (but I do not even have that problem?!), etc.
Why? Because I realized they don't matter.
I cannot and should not optimize my apps for some unknown future requirements. I should start small and then iterate, iterate, iterate.
I will probably write about the technical details of my side-project in another post. (Let me know if you are interested!)
Not my example
I leave this here without any comment:
(He knows "one" thing and sticks to it.)
- If you are a
learner, try different technologies, and you should decide which one fits you the most; don't follow the hype train!
- If you are an
entrepreneur, work with your swiss knife! Do not try to cut off your nails with a machete.
- Do not overoptimize or overthink. Just start as simple as possible! You won't regret it.
- If someone tells you to use some over-hyped technology, ask them: Do I really need it at this stage? Can I proceed without it?
- Iterate, iterate, iterate.
I have to clarify that I'm not an expert in these things. There is a chance that I'm wrong! I hope my view helps you to see behind the hype trains, or at least you know what I think.
Let me know if you have a different opinion! Feel free to contact me on twitter if you have any questions; I'm happy to answer!